#!/bin/sh # mmap-win32 configure script # # Parts copied from FFmpeg's configure # set_all(){ value=$1 shift for var in $*; do eval $var=$value done } enable(){ set_all yes $* } disable(){ set_all no $* } enabled(){ eval test "x\$$1" = "xyes" } disabled(){ eval test "x\$$1" = "xno" } show_help(){ echo "Usage: configure [options]" echo "Options: [defaults in brackets after descriptions]" echo "All \"enable\" options have \"disable\" counterparts" echo echo " --help print this message" echo " --prefix=PREFIX install in PREFIX [$PREFIX]" echo " --bindir=DIR install binaries in DIR [$PREFIX/bin]" echo " --libdir=DIR install libs in DIR [$PREFIX/lib]" echo " --incdir=DIR install includes in DIR [$PREFIX/include]" echo " --enable-static build static libraries [yes]" echo " --enable-shared build shared libraries [no]" echo " --enable-msvc create msvc-compatible import lib [auto]" echo echo " --cc=CC use C compiler CC [$cc_default]" echo " --cross-prefix=PREFIX use PREFIX for compilation tools [$cross_prefix]" exit 1 } die_unknown(){ echo "Unknown option \"$1\"." echo "See $0 --help for available options." exit 1 } PREFIX="/mingw" ar="ar" cc_default="gcc" ranlib="ranlib" strip="strip" DEFAULT="msvc " DEFAULT_YES="static stripping " DEFAULT_NO="shared " CMDLINE_SELECT="$DEFAULT $DEFAULT_NO $DEFAULT_YES " enable $DEFAULT_YES disable $DEFAULT_NO for opt do optval="${opt#*=}" case "$opt" in --help) show_help ;; --prefix=*) PREFIX="$optval" ;; --bindir=*) bindir="$optval" ;; --libdir=*) libdir="$optval" ;; --incdir=*) incdir="$optval" ;; --cc=*) cc="$optval" ;; --cross-prefix=*) cross_prefix="$optval" ;; --enable-?*|--disable-?*) eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'` echo "$CMDLINE_SELECT" | grep -q "^ *$option\$" || die_unknown $opt $action $option ;; *) die_unknown $opt ;; esac done bindir="${PREFIX}/bin" libdir="${PREFIX}/lib" incdir="${PREFIX}/include/sys" ar="${cross_prefix}${ar}" cc_default="${cross_prefix}${cc_default}" ranlib="${cross_prefix}${ranlib}" strip="${cross_prefix}${strip}" if ! test -z $cc; then cc_default="${cc}" fi cc="${cc_default}" disabled static && disabled shared && { echo "At least one library type must be set."; exit 1; } if enabled msvc; then lib /? > /dev/null 2>&1 /dev/null || { echo "MSVC's lib command not found." echo "Make sure MSVC is installed and its bin folder is in your \$PATH." exit 1 } fi if ! enabled stripping; then strip="echo ignoring strip" fi enabled msvc && libcmd="lib" || libcmd="echo ignoring lib" echo "# Automatically generated by configure" > config.mak echo "PREFIX=$PREFIX" >> config.mak echo "bindir=$bindir" >> config.mak echo "libdir=$libdir" >> config.mak echo "incdir=$incdir" >> config.mak echo "AR=$ar" >> config.mak echo "CC=$cc" >> config.mak echo "RANLIB=$ranlib" >> config.mak echo "STRIP=$strip" >> config.mak echo "BUILD_STATIC=$static" >> config.mak echo "BUILD_SHARED=$shared" >> config.mak echo "BUILD_MSVC=$msvc" >> config.mak echo "LIBCMD=$libcmd" >> config.mak echo "prefix: $PREFIX" echo "bindir: $bindir" echo "libdir: $libdir" echo "incdir: $incdir" echo "ar: $ar" echo "cc: $cc" echo "ranlib: $ranlib" echo "strip: $strip" echo "static: $static" echo "shared: $shared"