mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-06-16 15:17:13 +02:00
Major plugin refactor and cleanup.
Switched to POCO library for unified platform/library interface. Deprecated the external module API. It was creating more problems than solving. Removed most built-in libraries in favor of system libraries for easier maintenance. Cleaned and secured code with help from static analyzers.
This commit is contained in:
364
vendor/POCO/configure
vendored
Normal file
364
vendor/POCO/configure
vendored
Normal file
@ -0,0 +1,364 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# configure
|
||||
#
|
||||
# Configuration script for POCO.
|
||||
#
|
||||
# Invoke configure --help for help.
|
||||
#
|
||||
|
||||
showhelp()
|
||||
{
|
||||
cat << ENDHELP
|
||||
usage: configure {options}
|
||||
Configure the POCO C++ Libraries.
|
||||
|
||||
Options:
|
||||
--help
|
||||
Display this help screen.
|
||||
|
||||
--config=<config_name>
|
||||
Use the given build configuration.
|
||||
Available configurations are:
|
||||
|
||||
`ls -C $base/build/config/`
|
||||
|
||||
--prefix=<install_prefix>
|
||||
Use the given install directory for make install.
|
||||
Default is /usr/local.
|
||||
|
||||
--no-prefix
|
||||
Do not use /usr/local as default install directory and do not
|
||||
define POCO_PREFIX.
|
||||
|
||||
--stdcxx-base=<apache_stdcxx_install_prefix>
|
||||
If (and only if) the $base/build/config selected with --config
|
||||
uses the Apache stdcxx library, then apache_stdcxx_install_prefix
|
||||
specifies the base directory where stdcxx is installed.
|
||||
|
||||
--no-tests
|
||||
Do not build testsuites.
|
||||
|
||||
--no-samples
|
||||
Do not build samples.
|
||||
|
||||
--minimal
|
||||
Build only Foundation, XML, JSON, Util and Net.
|
||||
|
||||
--typical (default)
|
||||
Build only Foundation, XML, JSON, Util, Net, Crypto, NetSSL, Data/SQLite and Zip.
|
||||
|
||||
--everything
|
||||
Build everything.
|
||||
|
||||
--no-wstring
|
||||
Compile with -DPOCO_NO_WSTRING.
|
||||
Useful if your C++ compiler does not support std::wstring
|
||||
(such as uClibc-based systems).
|
||||
|
||||
--no-fpenvironment
|
||||
Compile with -DPOCO_NO_FPENVIRONMENT.
|
||||
Useful if your C++ compiler has incomplete floating-point support
|
||||
(such as uClibc-based systems).
|
||||
|
||||
--no-sharedmemory
|
||||
Compile with -DPOCO_NO_SHAREDMEMORY.
|
||||
For systems that don't support shared memory API's,
|
||||
like uClibc-based Linux systems.
|
||||
|
||||
--no-sharedlibs
|
||||
Compile with -DPOCO_NO_SHAREDLIBS.
|
||||
For systems that don't support shared library loading.
|
||||
|
||||
--no-ipv6
|
||||
Compile with -DPOCO_NET_NO_IPv6.
|
||||
For systems that don't support IPv6.
|
||||
|
||||
--sqlite-fts=<path>
|
||||
Compile with -DPOCO_DATA_SQLITE_FTS.
|
||||
Compile SQLite with Full Text Search support.
|
||||
|
||||
--sqlite-thread-safe=<value>
|
||||
Compile with -DSQLITE_THREADSAFE=<value>.
|
||||
Valid values are:
|
||||
- 0 single-thread, no thread safety
|
||||
- 1 serial access, highest thread safety
|
||||
- 2 multi-threaded, without session sharing support
|
||||
|
||||
|
||||
--omit=<component>{,<component>}
|
||||
Do not build the specified component(s).
|
||||
Example: --omit=Data/MySQL,Data/ODBC,Zip
|
||||
|
||||
--include-path=<path>
|
||||
Add search path for header files.
|
||||
|
||||
--library-path=<path>
|
||||
Add search path for library files.
|
||||
|
||||
--odbc-lib=<path>
|
||||
Specify the directory where ODBC library is located.
|
||||
|
||||
--odbc-include=<path>
|
||||
Specify the directory where ODBC header files are located.
|
||||
|
||||
--cflags=<flags>
|
||||
Pass additional flags to compiler.
|
||||
Example: --cflags=-wall
|
||||
|
||||
--poquito
|
||||
Omit a few features for smaller codesize when linking
|
||||
statically for embedded targets.
|
||||
|
||||
--unbundled
|
||||
Use system-provided zlib, pcre, expat and sqlite instead of
|
||||
bundled ones.
|
||||
|
||||
--static
|
||||
Build static libraries. Overrides default mode, which
|
||||
depends upon target. Can be specified together
|
||||
with --shared to build both.
|
||||
|
||||
--shared
|
||||
Build shared libraries. Overrides default mode, which
|
||||
depends upon target. Can be specified together
|
||||
with --static to build both.
|
||||
|
||||
ENDHELP
|
||||
}
|
||||
|
||||
# save cwd
|
||||
build=`pwd`
|
||||
# get directory where we are located
|
||||
cd `dirname $0`
|
||||
base=`pwd`
|
||||
cd $build
|
||||
|
||||
tests=1
|
||||
samples=1
|
||||
noprefix=0
|
||||
flags=""
|
||||
includepath=""
|
||||
librarypath=""
|
||||
odbclib=""
|
||||
odbcinclude=""
|
||||
unbundled=""
|
||||
static=""
|
||||
shared=""
|
||||
omitMinimal="Crypto NetSSL_OpenSSL Zip Data Data/SQLite Data/ODBC Data/MySQL MongoDB PDF CppParser PageCompiler"
|
||||
omitTypical="Data/ODBC Data/MySQL MongoDB PDF CppParser"
|
||||
omit=$omitTypical
|
||||
# parse arguments
|
||||
while [ $# -ge 1 ]; do
|
||||
case "$1" in
|
||||
--config=*)
|
||||
config="`echo ${1} | awk '{print substr($0,10)}'`" ;;
|
||||
|
||||
--prefix=*)
|
||||
prefix="`echo ${1} | awk '{print substr($0,10)}'`" ;;
|
||||
|
||||
--no-prefix)
|
||||
noprefix=1 ;;
|
||||
|
||||
--stdcxx-base=*)
|
||||
stdcxx_base="`echo ${1} | awk '{print substr($0,15)}'`" ;;
|
||||
|
||||
--omit=*)
|
||||
omit="`echo ${1} | awk '{print substr($0,8)}' | tr ',;' ' '`" ;;
|
||||
|
||||
--include-path=*)
|
||||
includepath="`echo ${1} | awk '{print substr($0,16)}' | tr ',;' ' '`" ;;
|
||||
|
||||
--library-path=*)
|
||||
librarypath="`echo ${1} | awk '{print substr($0,16)}' | tr ',;' ' '`" ;;
|
||||
|
||||
--odbc-lib=*)
|
||||
odbclib="`echo ${1} | awk '{print substr($0,12)}'`" ;;
|
||||
|
||||
--odbc-include=*)
|
||||
odbcinclude="`echo ${1} | awk '{print substr($0,16)}'`" ;;
|
||||
|
||||
--cflags=*)
|
||||
flags="$flags `echo ${1} | awk '{print substr($0,10)}'`" ;;
|
||||
|
||||
--no-samples)
|
||||
samples="" ;;
|
||||
|
||||
--no-tests)
|
||||
tests="" ;;
|
||||
|
||||
--no-wstring)
|
||||
flags="$flags -DPOCO_NO_WSTRING" ;;
|
||||
|
||||
--no-fpenvironment)
|
||||
flags="$flags -DPOCO_NO_FPENVIRONMENT" ;;
|
||||
|
||||
--no-sharedmemory)
|
||||
flags="$flags -DPOCO_NO_SHAREDMEMORY" ;;
|
||||
|
||||
--no-sharedlibs)
|
||||
flags="$flags -DPOCO_NO_SHAREDLIBS" ;;
|
||||
|
||||
--no-ipv6)
|
||||
flags="$flags -DPOCO_NET_NO_IPv6" ;;
|
||||
|
||||
--sqlite-thread-safe=*)
|
||||
flags="$flags -DSQLITE_THREADSAFE=`echo ${1} | awk '{print substr($0,22)}'`" ;;
|
||||
|
||||
--sqlite-fts)
|
||||
flags="$flags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS" ;;
|
||||
|
||||
--poquito)
|
||||
flags="$flags -DPOCO_NO_FILECHANNEL -DPOCO_NO_SPLITTERCHANNEL -DPOCO_NO_SYSLOGCHANNEL -DPOCO_UTIL_NO_INIFILECONFIGURATION -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION" ;;
|
||||
|
||||
--unbundled)
|
||||
flags="$flags -DPOCO_UNBUNDLED"
|
||||
unbundled=1
|
||||
;;
|
||||
|
||||
--minimal)
|
||||
omit=$omitMinimal ;;
|
||||
|
||||
--typical)
|
||||
omit=$omitTypical ;;
|
||||
|
||||
--everything)
|
||||
omit="" ;;
|
||||
|
||||
--static)
|
||||
static=1 ;;
|
||||
|
||||
--shared)
|
||||
shared=1 ;;
|
||||
|
||||
--help)
|
||||
showhelp
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
showhelp
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
||||
# autodetect build environment
|
||||
# ...special cases for CYGWIN or MinGW
|
||||
if [ "$config" = "" ] ; then
|
||||
config=`uname`
|
||||
case "$config" in
|
||||
CYGWIN*)
|
||||
config=CYGWIN ;;
|
||||
MINGW*)
|
||||
config=MinGW ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ ! -f "$base/build/config/$config" ] ; then
|
||||
echo "Unknown configuration: $config"
|
||||
echo "Please use the --config option to specify another build configuration"
|
||||
echo "The following configurations are available:"
|
||||
ls $base/build/config
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$prefix" ] ; then
|
||||
if [ $noprefix -eq 0 ] ; then
|
||||
prefix=/usr/local
|
||||
fi
|
||||
fi
|
||||
|
||||
# check for patches
|
||||
if [ -d $base/patches/$config ] ; then
|
||||
echo "NOTE: There are patches for your configuration available. Please apply them before compiling."
|
||||
fi
|
||||
|
||||
# copy Makefile to build dir
|
||||
if [ "$base" != "$build" ] ; then
|
||||
cp $base/Makefile $build
|
||||
fi
|
||||
|
||||
if [ -n "$static" -a -n "$shared" ] ; then
|
||||
linkmode=BOTH
|
||||
elif [ -n "$static" ] ; then
|
||||
linkmode=STATIC
|
||||
elif [ -n "$shared" ] ; then
|
||||
linkmode=SHARED
|
||||
else
|
||||
linkmode=""
|
||||
fi
|
||||
|
||||
# create config.make
|
||||
echo '# config.make generated by configure script' >$build/config.make
|
||||
echo "POCO_CONFIG = $config" >>$build/config.make
|
||||
echo "POCO_BASE = $base" >>$build/config.make
|
||||
echo "POCO_BUILD = $build" >>$build/config.make
|
||||
echo "POCO_FLAGS = $flags" >>$build/config.make
|
||||
if [ -n "$prefix" ] ; then
|
||||
echo "POCO_PREFIX = $prefix" >>$build/config.make
|
||||
fi
|
||||
echo "OMIT = $omit" >>$build/config.make
|
||||
if [ -n "$stdcxx_base" ] ; then
|
||||
echo "STDCXX_BASE = $stdcxx_base" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$includepath" ] ; then
|
||||
echo "POCO_ADD_INCLUDE = $includepath" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$librarypath" ] ; then
|
||||
echo "POCO_ADD_LIBRARY = $librarypath" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$odbclib" ] ; then
|
||||
echo "POCO_ODBC_LIB = $odbclib" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$odbcinclude" ] ; then
|
||||
echo "POCO_ODBC_INCLUDE = $odbcinclude" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$unbundled" ] ; then
|
||||
echo "POCO_UNBUNDLED = 1" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$linkmode" ] ; then
|
||||
echo "LINKMODE = $linkmode" >>$build/config.make
|
||||
fi
|
||||
|
||||
cat <<__EOF__ >>$build/config.make
|
||||
export POCO_CONFIG
|
||||
export POCO_BASE
|
||||
export POCO_BUILD
|
||||
export POCO_FLAGS
|
||||
__EOF__
|
||||
|
||||
if [ -n "$prefix" ] ; then
|
||||
echo "export POCO_PREFIX" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$stdcxx_base" ] ; then
|
||||
echo "export STDCXX_BASE" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$includepath" ] ; then
|
||||
echo "export POCO_ADD_INCLUDE" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$librarypath" ] ; then
|
||||
echo "export POCO_ADD_LIBRARY" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$odbclib" ] ; then
|
||||
echo "export POCO_ODBC_LIB" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$odbcinclude" ] ; then
|
||||
echo "export POCO_ODBC_INCLUDE" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$unbundled" ] ; then
|
||||
echo "export POCO_UNBUNDLED" >>$build/config.make
|
||||
fi
|
||||
if [ -n "$linkmode" ] ; then
|
||||
echo "export LINKMODE" >>$build/config.make
|
||||
fi
|
||||
|
||||
# create config.build
|
||||
echo '# config.build generated by configure script' >$build/config.build
|
||||
cat <<__EOF__ >>$build/config.build
|
||||
TESTS = $tests
|
||||
SAMPLES = $samples
|
||||
__EOF__
|
||||
|
||||
echo "Configured for $config"
|
Reference in New Issue
Block a user