1#!/bin/sh 2# mmap-win32 configure script 3# 4# Parts copied from FFmpeg's configure 5# 6 7set_all(){ 8 value=$1 9 shift 10 for var in $*; do 11 eval $var=$value 12 done 13} 14 15enable(){ 16 set_all yes $* 17} 18 19disable(){ 20 set_all no $* 21} 22 23enabled(){ 24 eval test "x\$$1" = "xyes" 25} 26 27disabled(){ 28 eval test "x\$$1" = "xno" 29} 30 31show_help(){ 32 echo "Usage: configure [options]" 33 echo "Options: [defaults in brackets after descriptions]" 34 echo "All \"enable\" options have \"disable\" counterparts" 35 echo 36 echo " --help print this message" 37 echo " --prefix=PREFIX install in PREFIX [$PREFIX]" 38 echo " --libdir=DIR install libs in DIR [$PREFIX/lib]" 39 echo " --incdir=DIR install includes in DIR [$PREFIX/include]" 40 echo " --enable-static build static libraries [yes]" 41 echo " --enable-msvc create msvc-compatible import lib [auto]" 42 echo 43 echo " --cc=CC use C compiler CC [$cc_default]" 44 echo " --cross-prefix=PREFIX use PREFIX for compilation tools [$cross_prefix]" 45 exit 1 46} 47 48die_unknown(){ 49 echo "Unknown option \"$1\"." 50 echo "See $0 --help for available options." 51 exit 1 52} 53 54PREFIX="/mingw" 55libdir="${PREFIX}/lib" 56incdir="${PREFIX}/include/sys" 57ar="ar" 58cc_default="gcc" 59ranlib="ranlib" 60strip="strip" 61 62DEFAULT="msvc 63" 64 65DEFAULT_YES="static 66 stripping 67" 68 69CMDLINE_SELECT="$DEFAULT 70 $DEFAULT_NO 71 $DEFAULT_YES 72" 73 74enable $DEFAULT_YES 75disable $DEFAULT_NO 76 77for opt do 78 optval="${opt#*=}" 79 case "$opt" in 80 --help) 81 show_help 82 ;; 83 --prefix=*) 84 PREFIX="$optval" 85 ;; 86 --libdir=*) 87 libdir="$optval" 88 ;; 89 --incdir=*) 90 incdir="$optval" 91 ;; 92 --cc=*) 93 cc="$optval" 94 ;; 95 --cross-prefix=*) 96 cross_prefix="$optval" 97 ;; 98 --enable-?*|--disable-?*) 99 eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'` 100 echo "$CMDLINE_SELECT" | grep -q "^ *$option\$" || die_unknown $opt 101 $action $option 102 ;; 103 *) 104 die_unknown $opt 105 ;; 106 esac 107done 108 109ar="${cross_prefix}${ar}" 110cc_default="${cross_prefix}${cc_default}" 111ranlib="${cross_prefix}${ranlib}" 112strip="${cross_prefix}${strip}" 113 114if ! test -z $cc; then 115 cc_default="${cc}" 116fi 117cc="${cc_default}" 118 119disabled static && { 120 echo "At least one library type must be set."; 121 exit 1; 122} 123 124if enabled msvc; then 125 lib /? > /dev/null 2>&1 /dev/null || { 126 echo "MSVC's lib command not found." 127 echo "Make sure MSVC is installed and its bin folder is in your \$PATH." 128 exit 1 129 } 130fi 131 132if ! enabled stripping; then 133 strip="echo ignoring strip" 134fi 135 136enabled msvc && libcmd="lib" || libcmd="echo ignoring lib" 137 138echo "# Automatically generated by configure" > config.mak 139echo "PREFIX=$PREFIX" >> config.mak 140echo "libdir=$libdir" >> config.mak 141echo "incdir=$incdir" >> config.mak 142echo "AR=$ar" >> config.mak 143echo "CC=$cc" >> config.mak 144echo "RANLIB=$ranlib" >> config.mak 145echo "STRIP=$strip" >> config.mak 146echo "BUILD_STATIC=$static" >> config.mak 147echo "BUILD_MSVC=$msvc" >> config.mak 148echo "LIBCMD=$libcmd" >> config.mak 149 150echo "prefix: $PREFIX" 151echo "libdir: $libdir" 152echo "incdir: $incdir" 153echo "ar: $ar" 154echo "cc: $cc" 155echo "ranlib: $ranlib" 156echo "strip: $strip" 157echo "static: $static" 158