mirror of
https://gitee.com/an-tao/drogon.git
synced 2024-12-03 12:18:11 +08:00
58702dc41e
Co-authored-by: mcirsta <mforce2@gmail.com>
171 lines
3.6 KiB
Bash
171 lines
3.6 KiB
Bash
#!/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"
|