mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 10:13:51 +01:00
0f2fa0aae6
Added --help configuration additions FIX MinGW build support for Data component Corrected link order of Poco components for data samples resulting in unresolved symbol errors
220 lines
5.3 KiB
Bash
Executable File
220 lines
5.3 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# configure
|
|
#
|
|
# $Id: //poco/Main/dist/configure#8 $
|
|
#
|
|
# Configuration script for POCO.
|
|
#
|
|
# Usage:
|
|
# configure [<options>...]
|
|
#
|
|
# Specify --help to display supported options.
|
|
#
|
|
|
|
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.
|
|
|
|
--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.
|
|
|
|
--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).
|
|
|
|
--disable-NetSSL
|
|
Do not build NetSSL support
|
|
|
|
--disable-Data
|
|
Do not build Data support
|
|
|
|
--disable-ODBC
|
|
Do not build Data/ODBC support
|
|
|
|
--disable-SQLite
|
|
Do not build Data/SQLite support
|
|
|
|
--disable-MySQL
|
|
Do not build Data/MySQL support
|
|
|
|
ENDHELP
|
|
}
|
|
# save cwd
|
|
build=`pwd`
|
|
# get directory where we are located
|
|
cd `dirname $0`
|
|
base=`pwd`
|
|
cd $build
|
|
|
|
tests="tests"
|
|
samples="samples"
|
|
flags=""
|
|
poco_netssl_support="enable"
|
|
poco_data_support="enable"
|
|
poco_data_odbc_support="enable"
|
|
poco_data_sqlite_support="enable"
|
|
poco_data_mysql_support="enable"
|
|
# parse arguments
|
|
while [ "$1" != "" ] ; do
|
|
val=`expr $1 : '--config=\(.*\)'`
|
|
if [ "$val" != "" ] ; then
|
|
config=$val;
|
|
fi
|
|
|
|
val=`expr $1 : '--prefix=\(.*\)'`
|
|
if [ "$val" != "" ] ; then
|
|
prefix=$val
|
|
fi
|
|
|
|
val=`expr $1 : '--stdcxx-base=\(.*\)'`
|
|
if [ "$val" != "" ] ; then
|
|
stdcxx_base=$val
|
|
fi
|
|
|
|
if [ "$1" = "--no-samples" ] ; then
|
|
samples=""
|
|
fi
|
|
|
|
if [ "$1" = "--no-tests" ] ; then
|
|
tests=""
|
|
fi
|
|
|
|
if [ "$1" = "--no-wstring" ] ; then
|
|
flags="$flags -DPOCO_NO_WSTRING"
|
|
fi
|
|
|
|
if [ "$1" = "--no-fpenvironment" ] ; then
|
|
flags="$flags -DPOCO_NO_FPENVIRONMENT"
|
|
fi
|
|
|
|
if [ "$1" = "--disable-NetSSL" ] ; then
|
|
poco_netssl_support="disable"
|
|
fi
|
|
|
|
if [ "$1" = "--disable-Data" ] ; then
|
|
poco_data_support="disable"
|
|
fi
|
|
|
|
if [ "$1" = "--disable-ODBC" ] ; then
|
|
poco_data_odbc_support="disable"
|
|
poco_data_support="enable"
|
|
fi
|
|
|
|
if [ "$1" = "--disable-SQLite" ] ; then
|
|
poco_data_sqlite_support="disable"
|
|
poco_data_support="enable"
|
|
fi
|
|
|
|
if [ "$1" = "--disable-MySQL" ] ; then
|
|
poco_data_mysql_support="disable"
|
|
poco_data_support="enable"
|
|
fi
|
|
|
|
if [ "$1" = "--help" ] ; then
|
|
showhelp
|
|
exit 0
|
|
fi
|
|
|
|
shift
|
|
done
|
|
|
|
# autodetect build environment
|
|
# ...special cases for CYGWIN or MinGW
|
|
if [ "$config" = "" ] ; then
|
|
config=`uname`
|
|
cyg=`expr $config : '\(CYGWIN\).*'`
|
|
if [ "$cyg" = "CYGWIN" ] ; then
|
|
config=CYGWIN
|
|
else
|
|
ming=`expr $config : '\(MINGW\).*'`
|
|
if [ "$ming" = "MINGW" ] ; then
|
|
config=MinGW
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ ! -f "$base/build/config/$config" ] ; then
|
|
echo "Unknown configuration: $config"
|
|
echo "Please use the --config=<config_name> option."
|
|
echo "The <config_name> can be one of the following:"
|
|
echo ""
|
|
echo "`ls -C $base/build/config/`"
|
|
echo ""
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$prefix" = "" ] ; then
|
|
prefix=/usr/local
|
|
fi
|
|
|
|
# copy Makefile to build dir
|
|
if [ "$base" != "$build" ] ; then
|
|
cp $base/Makefile $build
|
|
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_PREFIX = $prefix" >>$build/config.make
|
|
echo "POCO_FLAGS = $flags" >>$build/config.make
|
|
echo "POCO_NETSSL_SUPPORT = $poco_netssl_support" >>$build/config.make
|
|
echo "POCO_DATA_SUPPORT = $poco_data_support" >>$build/config.make
|
|
echo "POCO_DATA_ODBC_SUPPORT = $poco_data_odbc_support" >>$build/config.make
|
|
echo "POCO_DATA_SQLITE_SUPPORT = $poco_data_sqlite_support" >>$build/config.make
|
|
echo "POCO_DATA_MYSQL_SUPPORT = $poco_data_mysql_support" >>$build/config.make
|
|
if [ "$stdcxx_base" != "" ] ; then
|
|
echo "STDCXX_BASE = $stdcxx_base" >>$build/config.make
|
|
fi
|
|
|
|
echo "export POCO_CONFIG" >>$build/config.make
|
|
echo "export POCO_BASE" >>$build/config.make
|
|
echo "export POCO_BUILD" >>$build/config.make
|
|
echo "export POCO_PREFIX" >>$build/config.make
|
|
echo "export POCO_FLAGS" >>$build/config.make
|
|
echo "export POCO_NETSSL_SUPPORT = $poco_netssl_support" >>$build/config.make
|
|
echo "export POCO_DATA_SUPPORT = $poco_data_support" >>$build/config.make
|
|
echo "export POCO_DATA_ODBC_SUPPORT = $poco_data_odbc_support" >>$build/config.make
|
|
echo "export POCO_DATA_SQLITE_SUPPORT = $poco_data_sqlite_support" >>$build/config.make
|
|
echo "export POCO_DATA_MYSQL_SUPPORT = $poco_data_mysql_support" >>$build/config.make
|
|
if [ "$stdcxx_base" != "" ] ; then
|
|
echo "export STDCXX_BASE" >>$build/config.make
|
|
fi
|
|
|
|
echo ".PHONY: poco" >>$build/config.make
|
|
echo "poco: libexecs $tests $samples" >>$build/config.make
|
|
|
|
echo "Configured for $config"
|