Miguel Freitas
11 years ago
25 changed files with 13141 additions and 1 deletions
@ -0,0 +1,184 @@
@@ -0,0 +1,184 @@
|
||||
ACLOCAL_AMFLAGS = -I m4 |
||||
|
||||
EXTRA_DIST = \
|
||||
COPYING |
||||
|
||||
SUBDIRS = src/leveldb |
||||
LEVELDB_LIB = src/leveldb/libleveldb.a src/leveldb/libmemenv.a |
||||
|
||||
bin_PROGRAMS = twisterd |
||||
|
||||
KADEMLIA_SOURCES = \
|
||||
libtorrent/src/kademlia/dht_tracker.cpp \
|
||||
libtorrent/src/kademlia/find_data.cpp \
|
||||
libtorrent/src/kademlia/dht_get.cpp \
|
||||
libtorrent/src/kademlia/node.cpp \
|
||||
libtorrent/src/kademlia/node_id.cpp \
|
||||
libtorrent/src/kademlia/refresh.cpp \
|
||||
libtorrent/src/kademlia/routing_table.cpp \
|
||||
libtorrent/src/kademlia/rpc_manager.cpp \
|
||||
libtorrent/src/kademlia/logging.cpp \
|
||||
libtorrent/src/kademlia/traversal_algorithm.cpp |
||||
|
||||
if WITH_SHIPPED_GEOIP |
||||
GEOIP_SOURCES = libtorrent/src/GeoIP.c |
||||
endif |
||||
|
||||
if WITH_OPENSSL |
||||
ASIO_OPENSSL_SOURCES = libtorrent/src/asio_ssl.cpp |
||||
endif |
||||
|
||||
LIBTORRENT_SOURCES = \
|
||||
libtorrent/src/web_connection_base.cpp \
|
||||
libtorrent/src/alert.cpp \
|
||||
libtorrent/src/alert_manager.cpp \
|
||||
libtorrent/src/allocator.cpp \
|
||||
libtorrent/src/asio.cpp \
|
||||
libtorrent/src/assert.cpp \
|
||||
libtorrent/src/bandwidth_limit.cpp \
|
||||
libtorrent/src/bandwidth_manager.cpp \
|
||||
libtorrent/src/bandwidth_queue_entry.cpp \
|
||||
libtorrent/src/bloom_filter.cpp \
|
||||
libtorrent/src/broadcast_socket.cpp \
|
||||
libtorrent/src/bt_peer_connection.cpp \
|
||||
libtorrent/src/chained_buffer.cpp \
|
||||
libtorrent/src/connection_queue.cpp \
|
||||
libtorrent/src/ConvertUTF.cpp \
|
||||
libtorrent/src/create_torrent.cpp \
|
||||
libtorrent/src/disk_buffer_holder.cpp \
|
||||
libtorrent/src/disk_buffer_pool.cpp \
|
||||
libtorrent/src/disk_io_thread.cpp \
|
||||
libtorrent/src/entry.cpp \
|
||||
libtorrent/src/enum_net.cpp \
|
||||
libtorrent/src/error_code.cpp \
|
||||
libtorrent/src/escape_string.cpp \
|
||||
libtorrent/src/file.cpp \
|
||||
libtorrent/src/file_pool.cpp \
|
||||
libtorrent/src/file_storage.cpp \
|
||||
libtorrent/src/gzip.cpp \
|
||||
libtorrent/src/hasher.cpp \
|
||||
libtorrent/src/http_connection.cpp \
|
||||
libtorrent/src/http_parser.cpp \
|
||||
libtorrent/src/http_seed_connection.cpp \
|
||||
libtorrent/src/http_stream.cpp \
|
||||
libtorrent/src/http_tracker_connection.cpp \
|
||||
libtorrent/src/i2p_stream.cpp \
|
||||
libtorrent/src/identify_client.cpp \
|
||||
libtorrent/src/instantiate_connection.cpp \
|
||||
libtorrent/src/ip_filter.cpp \
|
||||
libtorrent/src/ip_voter.cpp \
|
||||
libtorrent/src/lazy_bdecode.cpp \
|
||||
libtorrent/src/logger.cpp \
|
||||
libtorrent/src/lsd.cpp \
|
||||
libtorrent/src/lt_trackers.cpp \
|
||||
libtorrent/src/magnet_uri.cpp \
|
||||
libtorrent/src/metadata_transfer.cpp \
|
||||
libtorrent/src/mpi.c \
|
||||
libtorrent/src/natpmp.cpp \
|
||||
libtorrent/src/parse_url.cpp \
|
||||
libtorrent/src/pe_crypto.cpp \
|
||||
libtorrent/src/peer_connection.cpp \
|
||||
libtorrent/src/piece_picker.cpp \
|
||||
libtorrent/src/packet_buffer.cpp \
|
||||
libtorrent/src/policy.cpp \
|
||||
libtorrent/src/puff.cpp \
|
||||
libtorrent/src/random.cpp \
|
||||
libtorrent/src/rsa.cpp \
|
||||
libtorrent/src/rss.cpp \
|
||||
libtorrent/src/session.cpp \
|
||||
libtorrent/src/session_impl.cpp \
|
||||
libtorrent/src/settings.cpp \
|
||||
libtorrent/src/sha1.cpp \
|
||||
libtorrent/src/smart_ban.cpp \
|
||||
libtorrent/src/socket_io.cpp \
|
||||
libtorrent/src/socket_type.cpp \
|
||||
libtorrent/src/socks5_stream.cpp \
|
||||
libtorrent/src/stat.cpp \
|
||||
libtorrent/src/storage.cpp \
|
||||
libtorrent/src/string_util.cpp \
|
||||
libtorrent/src/thread.cpp \
|
||||
libtorrent/src/torrent.cpp \
|
||||
libtorrent/src/torrent_handle.cpp \
|
||||
libtorrent/src/torrent_info.cpp \
|
||||
libtorrent/src/time.cpp \
|
||||
libtorrent/src/timestamp_history.cpp \
|
||||
libtorrent/src/tracker_manager.cpp \
|
||||
libtorrent/src/udp_socket.cpp \
|
||||
libtorrent/src/udp_tracker_connection.cpp \
|
||||
libtorrent/src/upnp.cpp \
|
||||
libtorrent/src/ut_metadata.cpp \
|
||||
libtorrent/src/ut_pex.cpp \
|
||||
libtorrent/src/utf8.cpp \
|
||||
libtorrent/src/utp_socket_manager.cpp \
|
||||
libtorrent/src/utp_stream.cpp \
|
||||
libtorrent/src/web_peer_connection.cpp \
|
||||
\
|
||||
$(KADEMLIA_SOURCES) \
|
||||
$(GEOIP_SOURCES) \
|
||||
$(ASIO_OPENSSL_SOURCES) |
||||
|
||||
if USE_SSE2 |
||||
SSE2_SOURCES = src/scrypt-sse2.cpp |
||||
endif |
||||
|
||||
BITCOIN_TWISTER_SOURCES = \
|
||||
src/alert.cpp \
|
||||
src/version.cpp \
|
||||
src/checkpoints.cpp \
|
||||
src/netbase.cpp \
|
||||
src/addrman.cpp \
|
||||
src/crypter.cpp \
|
||||
src/key.cpp \
|
||||
src/db.cpp \
|
||||
src/init.cpp \
|
||||
src/bitcoind.cpp \
|
||||
src/keystore.cpp \
|
||||
src/core.cpp \
|
||||
src/main.cpp \
|
||||
src/net.cpp \
|
||||
src/protocol.cpp \
|
||||
src/bitcoinrpc.cpp \
|
||||
src/rpcdump.cpp \
|
||||
src/rpcnet.cpp \
|
||||
src/rpcmining.cpp \
|
||||
src/rpcwallet.cpp \
|
||||
src/rpcblockchain.cpp \
|
||||
src/rpcrawtransaction.cpp \
|
||||
src/script.cpp \
|
||||
src/scrypt.cpp \
|
||||
src/sync.cpp \
|
||||
src/util.cpp \
|
||||
src/wallet.cpp \
|
||||
src/walletdb.cpp \
|
||||
src/hash.cpp \
|
||||
src/bloom.cpp \
|
||||
src/noui.cpp \
|
||||
src/leveldb.cpp \
|
||||
src/txdb.cpp \
|
||||
src/chainparams.cpp \
|
||||
src/twister.cpp \
|
||||
src/twister_utils.cpp \
|
||||
$(SSE2_SOURCES) |
||||
|
||||
if USE_UPNP |
||||
UPNP_LIB = -lminiupnpc |
||||
endif |
||||
|
||||
twisterd_SOURCES = $(LIBTORRENT_SOURCES) $(BITCOIN_TWISTER_SOURCES) |
||||
|
||||
twisterd_LDFLAGS = |
||||
|
||||
twisterd_DEPENDENCIES = $(LEVELDB_LIB) |
||||
|
||||
twisterd_LDADD = $(LEVELDB_LIB) $(UPNP_LIB) \
|
||||
@BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_PROGRAM_OPTIONS_LIB@ @BOOST_THREAD_LIB@ \
|
||||
@DB_CXX_LIBS@ @OPENSSL_LIBS@ |
||||
|
||||
AM_CPPFLAGS = -ftemplate-depth-100 -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 \
|
||||
-I$(top_srcdir)/libtorrent/include \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_srcdir)/src/leveldb/include -I$(top_srcdir)/src/leveldb/helpers \
|
||||
@DEBUGFLAGS@ @OPENSSL_INCLUDES@ |
||||
|
||||
AM_LDFLAGS = @OPENSSL_LDFLAGS@ |
||||
|
@ -0,0 +1,191 @@
@@ -0,0 +1,191 @@
|
||||
#!/bin/sh |
||||
|
||||
# Using this script should be identical to the resulto of "autoreconf -fi". |
||||
# Some code taken from the gnome macros/autogen.sh scripts. |
||||
|
||||
# $Id: autotool.sh 7684 2012-11-19 05:23:46Z arvidn $ |
||||
|
||||
|
||||
############################################################################### |
||||
# utility functions |
||||
############################################################################### |
||||
|
||||
# Not all echo versions allow -n, so we check what is possible. This test is |
||||
# based on the one in autoconf. |
||||
ECHO_C= |
||||
ECHO_N= |
||||
case `echo -n x` in |
||||
-n*) |
||||
case `echo 'x\c'` in |
||||
*c*) ;; |
||||
*) ECHO_C='\c';; |
||||
esac;; |
||||
*) |
||||
ECHO_N='-n';; |
||||
esac |
||||
|
||||
# some terminal codes ... |
||||
boldface="`tput bold 2>/dev/null`" |
||||
normal="`tput sgr0 2>/dev/null`" |
||||
|
||||
printbold() { |
||||
echo $ECHO_N "$boldface" $ECHO_C |
||||
echo "$@" |
||||
echo $ECHO_N "$normal" $ECHO_C |
||||
} |
||||
|
||||
printerr() { |
||||
echo "$@" >&2 |
||||
} |
||||
|
||||
# Usage: |
||||
# compare_versions MIN_VERSION ACTUAL_VERSION |
||||
# returns true if ACTUAL_VERSION >= MIN_VERSION |
||||
compare_versions() { |
||||
ch_min_version=$1 |
||||
ch_actual_version=$2 |
||||
ch_status=0 |
||||
IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="." |
||||
set $ch_actual_version |
||||
for ch_min in $ch_min_version; do |
||||
ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes |
||||
if [ -z "$ch_min" ]; then break; fi |
||||
if [ -z "$ch_cur" ]; then ch_status=1; break; fi |
||||
if [ $ch_cur -gt $ch_min ]; then break; fi |
||||
if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi |
||||
done |
||||
IFS="$ch_save_IFS" |
||||
return $ch_status |
||||
} |
||||
|
||||
# Usage: |
||||
# version_check PACKAGE VARIABLE CHECKPROGS MIN_VERSION |
||||
# checks to see if the package is available |
||||
version_check() { |
||||
vc_package=$1 |
||||
vc_variable=$2 |
||||
vc_checkprogs=$3 |
||||
vc_min_version=$4 |
||||
vc_status=1 |
||||
|
||||
vc_checkprog=`eval echo "\\$$vc_variable"` |
||||
if [ -n "$vc_checkprog" ]; then |
||||
printbold "Using $vc_checkprog for $vc_package" |
||||
return 0 |
||||
fi |
||||
|
||||
vc_comparator=">=" |
||||
|
||||
printbold "Checking for $vc_package $vc_comparator $vc_min_version..." |
||||
|
||||
for vc_checkprog in $vc_checkprogs; do |
||||
echo $ECHO_N " testing $vc_checkprog... " $ECHO_C |
||||
if $vc_checkprog --version < /dev/null > /dev/null 2>&1; then |
||||
vc_actual_version=`$vc_checkprog --version | head -n 1 | \ |
||||
sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'` |
||||
if compare_versions $vc_min_version $vc_actual_version; then |
||||
echo "found $vc_actual_version" |
||||
# set variables |
||||
eval "$vc_variable=$vc_checkprog; \ |
||||
${vc_variable}_VERSION=$vc_actual_version" |
||||
vc_status=0 |
||||
break |
||||
else |
||||
echo "too old (found version $vc_actual_version)" |
||||
fi |
||||
else |
||||
echo "not found." |
||||
fi |
||||
done |
||||
|
||||
if [ "$vc_status" != 0 ]; then |
||||
printerr "***Error***: $vc_package $vc_comparator $vc_min_version not found." |
||||
fi |
||||
|
||||
return $vc_status |
||||
} |
||||
|
||||
############################################################################### |
||||
# main section |
||||
############################################################################### |
||||
|
||||
configure_ac="configure.ac" |
||||
|
||||
(test -f $configure_ac && test -f src/twister.cpp) || { |
||||
printerr "***Error***: Run this script from the top-level source directory." |
||||
exit 1 |
||||
} |
||||
|
||||
echo |
||||
printbold "Bootstrapping autotools for twister" |
||||
echo |
||||
|
||||
REQUIRED_AUTOCONF_VERSION=`cat $configure_ac | grep '^AC_PREREQ' | |
||||
sed -n -e 's/AC_PREREQ(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` |
||||
|
||||
REQUIRED_AUTOMAKE_VERSION=`cat configure.ac | grep '^AM_INIT_AUTOMAKE' | |
||||
sed -n -e 's/AM_INIT_AUTOMAKE(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 's/\(.*\) .*/\1/' | sed -e 1q` |
||||
|
||||
REQUIRED_LIBTOOL_VERSION=`cat $configure_ac | grep '^LT_PREREQ' | |
||||
sed -n -e 's/LT_PREREQ(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` |
||||
|
||||
printbold "Checking autotools requirements:" |
||||
echo |
||||
|
||||
version_check autoconf AUTOCONF 'autoconf autoconf2.59 autoconf-2.53 autoconf2.50' $REQUIRED_AUTOCONF_VERSION || exit 1 |
||||
AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/` |
||||
|
||||
version_check automake AUTOMAKE "automake automake-1.11 automake-1.10" $REQUIRED_AUTOMAKE_VERSION || exit 1 |
||||
ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/` |
||||
|
||||
version_check libtool LIBTOOLIZE "libtoolize glibtoolize" $REQUIRED_LIBTOOL_VERSION || exit 1 |
||||
|
||||
########################################## |
||||
# Copy config.rpath to build dir |
||||
########################################## |
||||
build_dir=`cat $configure_ac | grep '^AC_CONFIG_AUX_DIR' | |
||||
sed -n -e 's/AC_CONFIG_AUX_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` |
||||
|
||||
if [ -n "$build_dir" ]; then |
||||
mkdir $build_dir |
||||
fi |
||||
config_rpath=m4/config.rpath |
||||
echo "Copying $config_rpath to $build_dir" |
||||
cp $config_rpath "$build_dir/" |
||||
|
||||
########################################## |
||||
|
||||
echo |
||||
printbold "Processing $configure_ac" |
||||
echo |
||||
|
||||
if grep "^A[CM]_PROG_LIBTOOL" $configure_ac >/dev/null || |
||||
grep "^LT_INIT" $configure_ac >/dev/null; then |
||||
printbold "Running $LIBTOOLIZE..." |
||||
$LIBTOOLIZE --force --copy || exit 1 |
||||
fi |
||||
|
||||
m4dir=`cat $configure_ac | grep '^AC_CONFIG_MACRO_DIR' | |
||||
sed -n -e 's/AC_CONFIG_MACRO_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` |
||||
if [ -n "$m4dir" ]; then |
||||
m4dir="-I $m4dir" |
||||
fi |
||||
printbold "Running $ACLOCAL..." |
||||
$ACLOCAL $m4dir || exit 1 |
||||
|
||||
printbold "Running $AUTOCONF..." |
||||
$AUTOCONF || exit 1 |
||||
if grep "^A[CM]_CONFIG_HEADER" $configure_ac >/dev/null; then |
||||
printbold "Running $AUTOHEADER..." |
||||
$AUTOHEADER || exit 1 |
||||
# this prevents automake from thinking config.h.in is out of |
||||
# date, since autoheader doesn't touch the file if it doesn't |
||||
# change. |
||||
test -f config.h.in && touch config.h.in |
||||
fi |
||||
|
||||
printbold "Running $AUTOMAKE..." |
||||
$AUTOMAKE --gnu --add-missing --force --copy || exit 1 |
||||
|
||||
echo |
||||
printbold "Bootstrap complete, now run \`configure'." |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh |
||||
|
||||
./autotool.sh |
||||
./configure $@ |
||||
|
@ -0,0 +1,842 @@
@@ -0,0 +1,842 @@
|
||||
# -*- Autoconf -*- |
||||
# Process this file with autoconf to produce a configure script. |
||||
|
||||
# $Id: configure.ac 8451 2013-06-08 01:38:09Z arvidn $ |
||||
|
||||
AC_PREREQ([2.63]) |
||||
|
||||
AC_INIT([twister],[0.9.0]) |
||||
AC_CONFIG_SRCDIR([src/twister.cpp]) |
||||
AC_CONFIG_AUX_DIR([build-aux]) |
||||
AC_CONFIG_MACRO_DIR([m4]) |
||||
|
||||
# Silencing build output (automake-1.11) |
||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) |
||||
|
||||
|
||||
############################################################################### |
||||
# Start |
||||
############################################################################### |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Building $PACKAGE_STRING" |
||||
|
||||
|
||||
############################################################################### |
||||
# Performing some basic checks and initializing the build system |
||||
############################################################################### |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking for a C/C++ compiler to use:" |
||||
AC_PROG_CC |
||||
AC_PROG_CPP |
||||
AC_PROG_CC_C_O |
||||
AC_PROG_CXX |
||||
AC_PROG_CXXCPP |
||||
AC_PROG_CXX_C_O |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking system type:" |
||||
AC_CANONICAL_BUILD |
||||
AC_CANONICAL_HOST |
||||
AC_CANONICAL_TARGET |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Initializing Automake:" |
||||
AM_INIT_AUTOMAKE([1.11 foreign]) |
||||
AM_INIT_AUTOMAKE([subdir-objects]) |
||||
|
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Initializing Libtool:" |
||||
LT_PREREQ([2.2.6]) |
||||
LT_INIT |
||||
|
||||
|
||||
############################################################################### |
||||
# Checking for needed base libraries |
||||
############################################################################### |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking for posix thread support:" |
||||
|
||||
AX_PTHREAD() |
||||
|
||||
LIBS="$PTHREAD_LIBS $LIBS" |
||||
CFLAGS="$PTHREAD_CFLAGS $CFLAGS" |
||||
CC="$PTHREAD_CC" |
||||
|
||||
AS_ECHO "Checking for visibility support:" |
||||
AC_CACHE_CHECK([for __attribute__((visibility("hidden")))], |
||||
ac_cv_hidden_visibility_attribute, [ |
||||
echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > visibility_conftest.c |
||||
ac_cv_hidden_visibility_attribute=no |
||||
if AC_TRY_COMMAND(${CC-cc} -fvisibility=hidden -S visibility_conftest.c -o visibility_conftest.s 1>&AS_MESSAGE_LOG_FD); |
||||
then |
||||
AS_ECHO "found" |
||||
ac_cv_hidden_visibility_attribute=yes |
||||
CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" |
||||
CFLAGS="$CFLAGS -fvisibility=hidden" |
||||
fi |
||||
rm -f visibility_conftest.* |
||||
]) |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking for boost libraries:" |
||||
|
||||
AX_BOOST_BASE([1.36]) |
||||
|
||||
AX_BOOST_SYSTEM() |
||||
AS_IF([test -z "$BOOST_SYSTEM_LIB"], |
||||
[AC_MSG_ERROR(Boost.System library not found. Try using --with-boost-libdir=)]) |
||||
AX_BOOST_FILESYSTEM() |
||||
AX_BOOST_PROGRAM_OPTIONS() |
||||
AX_BOOST_THREAD() |
||||
|
||||
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS" |
||||
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS" |
||||
|
||||
|
||||
############################################################################### |
||||
# Checking for Berkeley DB C++ |
||||
############################################################################### |
||||
|
||||
AC_LANG([C++]) |
||||
AX_BERKELEY_DB_CXX(4.8) |
||||
|
||||
############################################################################### |
||||
# Checking for functions and other stuffs |
||||
############################################################################### |
||||
|
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking for pkg-config:" |
||||
|
||||
PKG_PROG_PKG_CONFIG([0.20]) |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking for functions and headers:" |
||||
|
||||
AC_SYS_LARGEFILE |
||||
AC_PROG_INSTALL |
||||
AC_PROG_LN_S |
||||
AC_PROG_MAKE_SET |
||||
|
||||
# check for gethostbyname and gethostbyname_r (used in src/GeoIP.c) |
||||
AC_CHECK_FUNCS([gethostbyname], [], |
||||
[AC_CHECK_LIB([nsl], [gethostbyname], [], |
||||
[AC_CHECK_LIB([resolv], [gethostbyname], [], |
||||
[AC_CHECK_LIB([socket], [gethostbyname], [], |
||||
[AC_CHECK_LIB([ws2_32], [main], |
||||
[AC_CHECK_LIB([wsock32], [main], |
||||
[LIBS="-lws2_32 -lwsock32 $LIBS"], |
||||
[AC_MSG_ERROR([wsock32 function not found.])])], |
||||
[AC_MSG_ERROR([gethostbyname function not found.])])])])])] |
||||
) |
||||
|
||||
AC_CHECK_FUNCS(gethostbyname_r, [ |
||||
# We look for the one that returns `int'. |
||||
# Hopefully this check is robust enough. |
||||
AC_EGREP_HEADER(int.*gethostbyname_r, netdb.h, [ |
||||
AC_DEFINE(GETHOSTBYNAME_R_RETURNS_INT)]) |
||||
]) |
||||
|
||||
AC_CHECK_FUNCS([clock_gettime], [], |
||||
[AC_CHECK_LIB([rt], [clock_gettime], [], |
||||
[AC_CHECK_LIB([posix4], [clock_gettime], [], |
||||
[AC_MSG_WARN([clock_gettime function not found.])])])] |
||||
) |
||||
|
||||
|
||||
dnl Pass some build options to setup.py and .pc file |
||||
COMPILETIME_OPTIONS="" |
||||
|
||||
|
||||
############################################################################### |
||||
# Setting configure options |
||||
############################################################################### |
||||
|
||||
AC_ARG_ENABLE( |
||||
[logging], |
||||
[AS_HELP_STRING( |
||||
[--enable-logging], |
||||
[enable logging to disk (use value "verbose" to enable verbose peer wire logging or "errors" limit logging to errors ) [default=no]])], |
||||
[[ARG_ENABLE_LOGGING=$enableval]], |
||||
[[ARG_ENABLE_LOGGING=no]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[debug], |
||||
[AS_HELP_STRING( |
||||
[--enable-debug], |
||||
[enable debug build [default=yes]])], |
||||
[ |
||||
ARG_ENABLE_DEBUG=$enableval |
||||
ac_arg_enable_debug=$enableval |
||||
], |
||||
[ |
||||
ARG_ENABLE_DEBUG=yes |
||||
ac_arg_enable_debug=yes |
||||
] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[dht], |
||||
[AS_HELP_STRING( |
||||
[--enable-dht], |
||||
[enable dht support (use value "logging" to add extra logging) [default=yes]])], |
||||
[[ARG_ENABLE_DHT=$enableval]], |
||||
[[ARG_ENABLE_DHT=yes]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[encryption], |
||||
[AS_HELP_STRING( |
||||
[--enable-encryption], |
||||
[enable encryption support (requires OpenSSL to be installed on your system, you can use --with-openssl to set the path) [default=yes]])], |
||||
[[ARG_ENABLE_ENCRYPTION=$enableval]], |
||||
[[ARG_ENABLE_ENCRYPTION=yes]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[sse2], |
||||
[AS_HELP_STRING( |
||||
[--enable-sse2], |
||||
[enable SSE2 Scrypt [default=yes]])], |
||||
[[ARG_ENABLE_SSE2=$enableval]], |
||||
[[ARG_ENABLE_SSE2=yes]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[upnp], |
||||
[AS_HELP_STRING( |
||||
[--enable-upnp], |
||||
[enable miniupnp support [default=yes]])], |
||||
[[ARG_ENABLE_UPNP=$enableval]], |
||||
[[ARG_ENABLE_UPNP=yes]] |
||||
) |
||||
|
||||
|
||||
AC_ARG_ENABLE( |
||||
[pool-allocators], |
||||
[AS_HELP_STRING( |
||||
[--enable-pool-allocators], |
||||
[enable pool allocators for send buffers [default=yes]])], |
||||
[[ARG_ENABLE_POOL_ALLOC=$enableval]], |
||||
[[ARG_ENABLE_POOL_ALLOC=yes]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[invariant-checks], |
||||
[AS_HELP_STRING( |
||||
[--enable-invariant-checks], |
||||
[enable invariant checks (use value "full" to turn on extra expensive invariant checks) @<:@default=yes if debug is enabled, no otherwhise@:>@])], |
||||
[[ARG_ENABLE_INVARIANT=$enableval]], |
||||
[ |
||||
AS_IF([test "x$ac_arg_enable_debug" = "xyes"], |
||||
[ARG_ENABLE_INVARIANT=yes], |
||||
[ARG_ENABLE_INVARIANT=no]) |
||||
] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[deprecated-functions], |
||||
[AS_HELP_STRING( |
||||
[--enable-deprecated-functions], |
||||
[enable deprecated functions in the API [default=yes]])], |
||||
[[ARG_ENABLE_DEPRECATED=$enableval]], |
||||
[[ARG_ENABLE_DEPRECATED=yes]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[statistics], |
||||
[AS_HELP_STRING( |
||||
[--enable-statistics], |
||||
[enable statistics logging feature [default=no]])], |
||||
[[ARG_ENABLE_STATS=$enableval]], |
||||
[[ARG_ENABLE_STATS=no]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[disk-stats], |
||||
[AS_HELP_STRING( |
||||
[--enable-disk-stats], |
||||
[enable disk activity logging feature [default=no]])], |
||||
[[ARG_ENABLE_DISK_STATS=$enableval]], |
||||
[[ARG_ENABLE_DISK_STATS=no]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[geoip], |
||||
[AS_HELP_STRING( |
||||
[--enable-geoip], |
||||
[enable geoip support (if enabled, you can use --with-libgeoip to choose whether to link against shipped or system library) [default=yes]])], |
||||
[ |
||||
ARG_ENABLE_GEOIP=$enableval |
||||
ac_arg_enable_geoip=$enableval |
||||
], |
||||
[ |
||||
ARG_ENABLE_GEOIP=yes |
||||
ac_arg_enable_geoip=yes |
||||
] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[examples], |
||||
[AS_HELP_STRING( |
||||
[--enable-examples], |
||||
[build example files [default=no]])], |
||||
[[ARG_ENABLE_EXAMPLES=$enableval]], |
||||
[[ARG_ENABLE_EXAMPLES=no]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[tests], |
||||
[AS_HELP_STRING( |
||||
[--enable-tests], |
||||
[build test files [default=no]])], |
||||
[[ARG_ENABLE_TESTS=$enableval]], |
||||
[[ARG_ENABLE_TESTS=no]] |
||||
) |
||||
|
||||
AC_ARG_ENABLE( |
||||
[python-binding], |
||||
[AS_HELP_STRING( |
||||
[--enable-python-binding], |
||||
[build python bindings [default=no]])], |
||||
[[ARG_ENABLE_PYTHON_BINDING=$enableval]], |
||||
[[ARG_ENABLE_PYTHON_BINDING=no]] |
||||
) |
||||
|
||||
AC_ARG_WITH( |
||||
[libgeoip], |
||||
[AS_HELP_STRING( |
||||
[--with-libgeoip], |
||||
[enable linking against system libgeoip [default=shipped]])], |
||||
[[ARG_WITH_LIBGEOIP=$withval]], |
||||
[[ARG_WITH_LIBGEOIP=no]] |
||||
) |
||||
|
||||
AC_ARG_WITH( |
||||
[libiconv], |
||||
[AS_HELP_STRING( |
||||
[--with-libiconv], |
||||
[enable linking against system libiconv [default=no]])], |
||||
[[ARG_WITH_LIBICONV=$withval]], |
||||
[[ARG_WITH_LIBICONV=no]] |
||||
) |
||||
|
||||
############################################################################### |
||||
# Checking configure options |
||||
############################################################################### |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking build options:" |
||||
|
||||
AC_MSG_CHECKING([whether deprecated functions should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_DEPRECATED"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
AC_DEFINE([TORRENT_NO_DEPRECATE],[1],[Define to exclude all deprecated functions from the API.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_NO_DEPRECATE " |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_DEPRECATED]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_DEPRECATED". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether debug build should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_DEBUG"], |
||||
["yes"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AC_DEFINE([TORRENT_DEBUG],[1],[Define to enable debug code.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_DEBUG " |
||||
DEBUGFLAGS="-g" |
||||
], |
||||
["no"], [ |
||||
AC_MSG_RESULT([no]) |
||||
AC_DEFINE([NDEBUG],[1],[Define to disable debug code.]) |
||||
#COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DNDEBUG " |
||||
DEBUGFLAGS="-Os" |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_DEBUG]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_DEBUG". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether invariant check should be enabled]) #depends: $ac_arg_enable_debug |
||||
AS_CASE(["$ARG_ENABLE_INVARIANT"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AS_IF([test "x$ac_arg_enable_debug" = "xno"], |
||||
[AC_MSG_ERROR([invariant-checks: this setting only affects debug build. Try using --enable-debug.])]) |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
AS_IF([test "x$ac_arg_enable_debug" = "xyes"], |
||||
[AC_DEFINE([TORRENT_DISABLE_INVARIANT_CHECKS],[1],[Define to disable internal invariant checks. Asserts are still enabled while debug is on.])]) |
||||
], |
||||
["full"], [ |
||||
AC_MSG_RESULT([full]) |
||||
AS_IF([test "x$ac_arg_enable_debug" = "xyes"], |
||||
[AC_DEFINE([TORRENT_EXPENSIVE_INVARIANT_CHECKS],[1],[Define to enable extra expensive invariant checks.])], |
||||
[AC_MSG_ERROR([invariant-checks: this setting only affects debug build. Try using --enable-debug.])]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_INVARIANT]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_INVARIANT". Use either "yes", "no" or "full".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether logging to disk should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_LOGGING"], |
||||
["yes"|"default"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AC_DEFINE([TORRENT_LOGGING],[1],[Define to enable logging of the session events.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_LOGGING " |
||||
], |
||||
["no"|"none"], [ |
||||
AC_MSG_RESULT([no]) |
||||
], |
||||
["verbose"], [ |
||||
AC_MSG_RESULT([verbose]) |
||||
AC_DEFINE([TORRENT_VERBOSE_LOGGING],[1],[Define to enable logging of the session events and every peer connection.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_VERBOSE_LOGGING " |
||||
], |
||||
["errors"], [ |
||||
AC_MSG_RESULT([errors]) |
||||
AC_DEFINE([TORRENT_ERROR_LOGGING],[1],[Define to enable logging of the session events and every peer connection limited to errors.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_ERROR_LOGGING " |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_LOGGING]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_LOGGING". Use either "yes", "no", "verbose" or "errors".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether statistics logging should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_STATS"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AC_DEFINE([TORRENT_STATS],[1],[Define to generate a log with statistics.]) |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_STATS]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_STATS". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether disk activity logging should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_DISK_STATS"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AC_DEFINE([TORRENT_DISK_STATS],[1],[Define to create a log of all disk activities.]) |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_DISK_STATS]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_DISK_STATS". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking features to be enabled:" |
||||
|
||||
AC_MSG_CHECKING([whether encryption support should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_ENCRYPTION"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AC_MSG_NOTICE([encryption support: now checking for the OpenSSL library...]) |
||||
|
||||
AX_CHECK_OPENSSL([ |
||||
AC_DEFINE([TORRENT_USE_OPENSSL],[1],[Define to use OpenSSL support.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_USE_OPENSSL " |
||||
], [ |
||||
AC_MSG_ERROR([OpenSSL library not found. Try using --with-openssl=DIR or disabling encryption at all.]) |
||||
]) |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
AC_DEFINE([TORRENT_DISABLE_ENCRYPTION],[1],[Define to disable any encryption support and avoid linking against OpenSSL.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_DISABLE_ENCRYPTION " |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_ENCRYPTION]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_ENCRYPTION". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether SSE2 should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_SSE2"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AC_DEFINE([USE_SSE2],[1],[Enable SSE2]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DUSE_SSE2 -msse2 " |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_SSE2]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_SSE2". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether miniupnp should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_UPNP"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AC_DEFINE([USE_UPNP],[1],[Enable miniupnp]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DUSE_UPNP=1 " |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_UPNP]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_UPNP". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
|
||||
AC_MSG_CHECKING([whether geoip support should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_GEOIP"], |
||||
["yes"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
], |
||||
["no"], [ |
||||
AC_MSG_RESULT([no]) |
||||
AC_DEFINE([TORRENT_DISABLE_GEO_IP],[1],[Define to disable the GeoIP support and avoid linking against LGPLed code.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_DISABLE_GEO_IP " |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_GEOIP]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_GEOIP". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether dht support should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_DHT"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
AC_DEFINE([TORRENT_DISABLE_DHT],[1],[Define to disable the DHT support.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_DISABLE_DHT " |
||||
], |
||||
["logging"], [ |
||||
AC_MSG_RESULT([logging]) |
||||
AC_DEFINE([TORRENT_DHT_VERBOSE_LOGGING],[1],[Define to enable DHT support with verbose logging.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_DHT_VERBOSE_LOGGING " |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_DHT]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_DHT". Use either "yes", "no" or "logging".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether pool allocators should be enabled]) |
||||
AS_CASE(["$ARG_ENABLE_POOL_ALLOC"], |
||||
["yes"|"on"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
], |
||||
["no"|"off"], [ |
||||
AC_MSG_RESULT([no]) |
||||
AC_DEFINE([TORRENT_DISABLE_POOL_ALLOCATOR],[1],[Define to disable use of boost::pool for pool allocators.]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_POOL_ALLOC]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_POOL_ALLOC". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking for extra build files:" |
||||
|
||||
AC_MSG_CHECKING([whether example files should be built]) |
||||
AS_CASE(["$ARG_ENABLE_EXAMPLES"], |
||||
["yes"], [AC_MSG_RESULT([yes])], |
||||
["no"], [AC_MSG_RESULT([no])], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_EXAMPLES]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_EXAMPLES". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether test files should be built]) |
||||
AS_CASE(["$ARG_ENABLE_TESTS"], |
||||
["yes"], [AC_MSG_RESULT([yes])], |
||||
["no"], [AC_MSG_RESULT([no])], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_TESTS]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_TESTS". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether python bindings should be built]) |
||||
AS_CASE(["$ARG_ENABLE_PYTHON_BINDING"], |
||||
["yes"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
|
||||
AM_PATH_PYTHON([2.4], [], AC_MSG_ERROR([Python interpreter not found.])) |
||||
AX_PYTHON_DEVEL([>= '2.4']) |
||||
AX_BOOST_PYTHON() |
||||
|
||||
AS_IF([test -z "$BOOST_PYTHON_LIB"], |
||||
[AC_MSG_ERROR([Boost.Python library not found. Try using --with-boost-python=lib.])]) |
||||
], |
||||
["no"], [ |
||||
AC_MSG_RESULT([no]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_ENABLE_PYTHON_BINDING]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_PYTHON_BINDING". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Checking for external libraries:" |
||||
|
||||
AC_MSG_CHECKING([for FIEMAP support]) |
||||
AC_CHECK_HEADERS([linux/types.h]) |
||||
AC_CHECK_HEADERS([linux/fiemap.h], [], [], |
||||
[#ifdef HAVE_LINUX_TYPES_H |
||||
# include <linux/types.h> |
||||
#endif |
||||
]) |
||||
|
||||
|
||||
AC_MSG_CHECKING([whether to link against system libgeoip]) #depends: $ac_arg_enable_geoip |
||||
AS_CASE(["$ARG_WITH_LIBGEOIP"], |
||||
["yes"|"system"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
|
||||
AS_IF([test "x$ac_arg_enable_geoip" = "xno"], |
||||
[AC_MSG_ERROR([GeoIP support is disabled with this build configuration. Try using --enable-geoip.])]) |
||||
|
||||
AC_MSG_NOTICE([libgeoip: now checking for the libgeoip library...]) |
||||
|
||||
AC_CHECK_GEOIP([ |
||||
LIBS="$GEOIP_LIBS $LIBS" |
||||
CFLAGS="$GEOIP_CFLAGS $CFLAGS" |
||||
],[ |
||||
AC_MSG_ERROR([GeoIP library not found. Try using --without-libgeoip to link against the shipped copy.]) |
||||
]) |
||||
], |
||||
["no"|"shipped"], [ |
||||
AS_IF([test "x$ac_arg_enable_geoip" = "xno"], [ |
||||
# redundant check: session_impl.hpp just won't check for any |
||||
# GeoIP.h, so any value would be ok (ie. this AS_IF could be |
||||
# removed) |
||||
AC_MSG_RESULT([disabled]) |
||||
ARG_WITH_LIBGEOIP="disabled" |
||||
], [ |
||||
AC_MSG_RESULT([no]) |
||||
ARG_WITH_LIBGEOIP="no" |
||||
AC_DEFINE([WITH_SHIPPED_GEOIP_H],[1],[Define to use shipped copy of GeoIP.h]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DWITH_SHIPPED_GEOIP_H " |
||||
]) |
||||
], |
||||
[AC_MSG_RESULT([$ARG_WITH_LIBGEOIP]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_WITH_LIBGEOIP". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
AC_MSG_CHECKING([whether to link against system libiconv]) |
||||
AS_CASE(["$ARG_WITH_LIBICONV"], |
||||
["yes"], [ |
||||
AC_MSG_RESULT([yes]) |
||||
AM_ICONV() |
||||
AS_IF([test "x$am_cv_func_iconv" = "xyes"], [ |
||||
ICONV_LIBS=$LTLIBICONV |
||||
AC_SUBST([ICONV_LIBS]) |
||||
LIBS="$ICONV_LIBS $LIBS" |
||||
], [ |
||||
AC_MSG_ERROR([Iconv library not found.]) |
||||
]) |
||||
], |
||||
["no"], [ |
||||
ARG_WITH_LIBICONV="no" |
||||
], |
||||
[AC_MSG_RESULT([$ARG_WITH_LIBICONV]) |
||||
AC_MSG_ERROR([Unknown option "$ARG_WITH_LIBICONV". Use either "yes" or "no".])] |
||||
) |
||||
|
||||
############################################################################### |
||||
# Setting conditional variables for Makefiles |
||||
############################################################################### |
||||
|
||||
AM_CONDITIONAL([ENABLE_DHT], [test "x$ARG_ENABLE_DHT" = "xyes" -o "x$ARG_ENABLE_DHT" = "xlogging" ]) |
||||
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$ARG_ENABLE_EXAMPLES" = "xyes"]) |
||||
AM_CONDITIONAL([ENABLE_TESTS], [test "x$ARG_ENABLE_TESTS" = "xyes"]) |
||||
AM_CONDITIONAL([ENABLE_PYTHON_BINDING], [test "x$ARG_ENABLE_PYTHON_BINDING" = "xyes"]) |
||||
|
||||
AM_CONDITIONAL([WITH_SHIPPED_GEOIP], [test "x$ARG_WITH_LIBGEOIP" = "xno" ]) |
||||
AM_CONDITIONAL([WITH_OPENSSL], [test "x$ARG_ENABLE_ENCRYPTION" = "xyes" -o "x$ARG_ENABLE_ENCRYPTION" = "xon" ]) |
||||
AM_CONDITIONAL([USE_SSE2], [test "x$ARG_ENABLE_SSE2" = "xyes" -o "x$ARG_ENABLE_SSE2" = "xon" ]) |
||||
AM_CONDITIONAL([USE_UPNP], [test "x$ARG_ENABLE_UPNP" = "xyes" -o "x$ARG_ENABLE_UPNP" = "xon" ]) |
||||
|
||||
############################################################################### |
||||
# Other useful stuff |
||||
############################################################################### |
||||
|
||||
# this works around a bug in asio in boost-1.39 |
||||
# see: https://svn.boost.org/trac/boost/ticket/3095 |
||||
AC_DEFINE([BOOST_ASIO_HASH_MAP_BUCKETS],[1021],[Define to fix a wrong behavior in boost 1.39.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DBOOST_ASIO_HASH_MAP_BUCKETS=1021 " |
||||
|
||||
AC_DEFINE([BOOST_EXCEPTION_DISABLE],[1],[Define to disable the boost.exception features.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DBOOST_EXCEPTION_DISABLE " |
||||
|
||||
AC_DEFINE([BOOST_ASIO_ENABLE_CANCELIO],[1],[Define to enable cancel support in asio on windows XP and older.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DBOOST_ASIO_ENABLE_CANCELIO " |
||||
|
||||
AC_DEFINE([BOOST_ASIO_DYN_LINK],[1],[make asio export its symbols]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DBOOST_ASIO_DYN_LINK" |
||||
|
||||
dnl Use possibly specific python install params |
||||
AC_ARG_VAR([PYTHON_INSTALL_PARAMS], [Set specific install parameters for python bindings.]) |
||||
AS_IF([test "x$PYTHON_INSTALL_PARAMS" = "x"], |
||||
[PYTHON_INSTALL_PARAMS='--prefix=$(DESTDIR)$(prefix)']) |
||||
|
||||
dnl Set some defines if we are building a shared library |
||||
AS_IF([test "x$enable_shared" = "xyes"], |
||||
[AC_DEFINE([TORRENT_BUILDING_SHARED],[1],[Define to exports functions and classes with default visibility in GCC.]) |
||||
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_LINKING_SHARED "]) |
||||
|
||||
AC_SUBST(DEBUGFLAGS) |
||||
AC_SUBST(PYTHON_INSTALL_PARAMS) |
||||
AC_SUBST(COMPILETIME_OPTIONS) |
||||
|
||||
|
||||
# Try to guess real svn revision if any, fallback to hardcoded otherwise |
||||
SVN_REVISION=`svn info 2>/dev/null | sed -n -e '/^URL\:.*libtorrent.svn.sourceforge.net/,$!d;s,^Revision\: \([[0-9]]*\)$,\1,p'` |
||||
AS_IF([test -z "$SVN_REVISION"], |
||||
[SVN_REVISION=`sed -n -e 's/^#define LIBTORRENT_REVISION \"\$Rev\: \([0-9]*\) \$\" $/\1/p' include/libtorrent/version.hpp`]) |
||||
|
||||
|
||||
############################################################################### |
||||
# Generating Makefiles |
||||
############################################################################### |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Generating Makefiles:" |
||||
|
||||
AC_CONFIG_FILES( |
||||
[Makefile] |
||||
) |
||||
|
||||
AC_OUTPUT |
||||
|
||||
# [bindings/Makefile] |
||||
# [bindings/python/Makefile] |
||||
# [bindings/python/setup.py] |
||||
|
||||
############################################################################### |
||||
# Generating config.report |
||||
############################################################################### |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Configure script has finished system check." |
||||
AS_ECHO |
||||
|
||||
cat > config.report << END |
||||
Config results: |
||||
-=-=-=-=-=-=-=-=- |
||||
|
||||
Package: |
||||
name: ${PACKAGE_NAME} |
||||
version: ${PACKAGE_VERSION} |
||||
svn revision: ${SVN_REVISION} |
||||
|
||||
Build environment: |
||||
build system: ${build} |
||||
host system: ${host} |
||||
target system: ${target} |
||||
|
||||
Compiler and linker flags: |
||||
CPPFlags: ${CPPFLAGS} |
||||
CFlags: ${CFLAGS} |
||||
CXXFlags: ${CXXFLAGS} |
||||
LDFlags: ${LDFLAGS} |
||||
Libs: ${LIBS} |
||||
Defs: ${DEFS} |
||||
|
||||
Build options: |
||||
deprecated functions: ${ARG_ENABLE_DEPRECATED:-yes} |
||||
debug build: ${ARG_ENABLE_DEBUG:-no} |
||||
invariant checks: ${ARG_ENABLE_INVARIANT:-no} |
||||
logging support: ${ARG_ENABLE_LOGGING:-no} |
||||
statistics: ${ARG_ENABLE_STATS:-no} |
||||
disk statistics: ${ARG_ENABLE_DISK_STATS:-no} |
||||
|
||||
Features: |
||||
encryption support: ${ARG_ENABLE_ENCRYPTION:-yes} |
||||
SSE2 Scrypt: ${ARG_ENABLE_SSE2:-yes} |
||||
miniupnp support: ${ARG_ENABLE_UPNP:-yes} |
||||
geoip support: ${ARG_ENABLE_GEOIP:-yes} |
||||
dht support: ${ARG_ENABLE_DHT:-yes} |
||||
pool allocators: ${ARG_ENABLE_POOL_ALLOC:-yes} |
||||
|
||||
Extra builds: |
||||
examples: ${ARG_ENABLE_EXAMPLES:-no} |
||||
tests: ${ARG_ENABLE_TESTS:-no} |
||||
python bindings: ${ARG_ENABLE_PYTHON_BINDING:-no} |
||||
|
||||
Pthread library: |
||||
CFlags: ${PTHREAD_CFLAGS} |
||||
Libs: ${PTHREAD_LIBS} |
||||
|
||||
Boost libraries: |
||||
version: ${BOOST_VERSION} |
||||
CPPFlags: ${BOOST_CPPFLAGS} |
||||
LDFlags: ${BOOST_LDFLAGS} |
||||
boost.system: ${BOOST_SYSTEM_LIB} |
||||
END |
||||
|
||||
AS_IF([test "x$ARG_ENABLE_PYTHON_BINDING" = "xyes"], [ |
||||
cat >> config.report << END |
||||
boost.python: ${BOOST_PYTHON_LIB} |
||||
|
||||
Python environment: |
||||
-automake- |
||||
binary: ${PYTHON} |
||||
version: ${PYTHON_VERSION} |
||||
platform: ${PYTHON_PLATFORM} |
||||
prefix: ${PYTHON_PREFIX} |
||||
exec_prefix: ${PYTHON_EXEC_PREFIX} |
||||
pythondir: ${pythondir} |
||||
pkgpythondir: ${pkgpythondir} |
||||
pyexecdir: ${pyexecdir} |
||||
pkgpyexecdir: ${pkgpyexecdir} |
||||
|
||||
-m4- |
||||
cppflags: ${PYTHON_CPPFLAGS} |
||||
ldflags: ${PYTHON_LDFLAGS} |
||||
extra libs: ${PYTHON_EXTRA_LIBS} |
||||
extra ldflags: ${PYTHON_EXTRA_LDFLAGS} |
||||
|
||||
END |
||||
]) |
||||
|
||||
cat >> config.report << END |
||||
|
||||
External libraries: |
||||
system libgeoip: ${ARG_WITH_LIBGEOIP:-no} |
||||
system libiconv: ${ARG_WITH_LIBICONV:-no} |
||||
END |
||||
|
||||
AS_IF([test "x$ARG_WITH_LIBGEOIP" = "xyes"], [ |
||||
cat >> config.report << END |
||||
|
||||
GeoIP library: |
||||
GeoIP CFlags: ${GEOIP_CFLAGS} |
||||
GeoIP Libs: ${GEOIP_LIBS} |
||||
END |
||||
]) |
||||
|
||||
AS_IF([test "x$ARG_WITH_LIBICONV" = "xyes"], [ |
||||
cat >> config.report << END |
||||
|
||||
Iconv library: |
||||
Iconv Libs: ${ICONV_LIBS} |
||||
END |
||||
]) |
||||
|
||||
AS_IF([test "x$ARG_ENABLE_ENCRYPTION" = "xyes"], [ |
||||
cat >> config.report << END |
||||
|
||||
OpenSSL library: |
||||
OpenSSL Libs: ${OPENSSL_LIBS} |
||||
OpenSSL LDFlags: ${OPENSSL_LDFLAGS} |
||||
OpenSSL Includes: ${OPENSSL_INCLUDES} |
||||
END |
||||
]) |
||||
|
||||
cat config.report |
||||
|
||||
AS_ECHO |
||||
AS_ECHO "Type 'make' to compile $PACKAGE_STRING" |
||||
AS_ECHO "or type 'make V=1' for verbose compiling" |
||||
AS_ECHO "and then 'make install' to install it into $prefix" |
||||
AS_ECHO |
@ -0,0 +1,114 @@
@@ -0,0 +1,114 @@
|
||||
# =========================================================================== |
||||
# http://www.gnu.org/software/autoconf-archive/ax_berkeley_db_cxx.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_BERKELEY_DB_CXX([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# This macro tries to find Berkeley DB C++ support. It honors |
||||
# MINIMUM-VERSION if given. |
||||
# |
||||
# If libdb_cxx is found, DB_CXX_HEADER and DB_CXX_LIBS variables are set |
||||
# and ACTION-IF-FOUND shell code is executed if specified. DB_CXX_HEADER |
||||
# is set to location of db.h header in quotes (e.g. "db3/db_cxx.h") and |
||||
# AC_DEFINE_UNQUOTED is called on it, so that you can type |
||||
# |
||||
# #include DB_CXX_HEADER |
||||
# |
||||
# in your C/C++ code. DB_CXX_LIBS is set to linker flags needed to link |
||||
# against the library (e.g. -ldb3.1_cxx) and AC_SUBST is called on it. |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2008 Vaclav Slavik <vaclav.slavik@matfyz.cz> |
||||
# Copyright (c) 2011 Stephan Suerken <absurd@debian.org> |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. This file is offered as-is, without any |
||||
# warranty. |
||||
|
||||
#serial 3 |
||||
|
||||
AC_DEFUN([AX_BERKELEY_DB_CXX], |
||||
[ |
||||
AC_LANG_ASSERT(C++) |
||||
|
||||
old_LIBS="$LIBS" |
||||
|
||||
minversion=ifelse([$1], ,,$1) |
||||
|
||||
DB_CXX_HEADER="" |
||||
DB_CXX_LIBS="" |
||||
|
||||
if test -z $minversion ; then |
||||
minvermajor=0 |
||||
minverminor=0 |
||||
minverpatch=0 |
||||
AC_MSG_CHECKING([for Berkeley DB (C++)]) |
||||
else |
||||
minvermajor=`echo $minversion | cut -d. -f1` |
||||
minverminor=`echo $minversion | cut -d. -f2` |
||||
minverpatch=`echo $minversion | cut -d. -f3` |
||||
minvermajor=${minvermajor:-0} |
||||
minverminor=${minverminor:-0} |
||||
minverpatch=${minverpatch:-0} |
||||
AC_MSG_CHECKING([for Berkeley DB (C++) >= $minversion]) |
||||
fi |
||||
|
||||
for version in "" 5.0 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0 3.6 3.5 3.4 3.3 3.2 3.1 ; do |
||||
|
||||
if test -z $version ; then |
||||
db_cxx_lib="-ldb_cxx" |
||||
try_headers="db_cxx.h" |
||||
else |
||||
db_cxx_lib="-ldb_cxx-$version" |
||||
try_headers="db$version/db_cxx.h db`echo $version | sed -e 's,\..*,,g'`/db_cxx.h" |
||||
fi |
||||
|
||||
LIBS="$old_LIBS $db_cxx_lib" |
||||
|
||||
for db_cxx_hdr in $try_headers ; do |
||||
if test -z $DB_CXX_HEADER ; then |
||||
AC_LINK_IFELSE( |
||||
[AC_LANG_PROGRAM( |
||||
[ |
||||
#include <${db_cxx_hdr}> |
||||
], |
||||
[ |
||||
#if !((DB_VERSION_MAJOR > (${minvermajor}) || \ |
||||
(DB_VERSION_MAJOR == (${minvermajor}) && \ |
||||
DB_VERSION_MINOR > (${minverminor})) || \ |
||||
(DB_VERSION_MAJOR == (${minvermajor}) && \ |
||||
DB_VERSION_MINOR == (${minverminor}) && \ |
||||
DB_VERSION_PATCH >= (${minverpatch})))) |
||||
#error "too old version" |
||||
#endif |
||||
|
||||
DB *db; |
||||
db_create(&db, NULL, 0); |
||||
])], |
||||
[ |
||||
AC_MSG_RESULT([header $db_cxx_hdr, library $db_cxx_lib]) |
||||
|
||||
DB_CXX_HEADER="$db_cxx_hdr" |
||||
DB_CXX_LIBS="$db_cxx_lib" |
||||
]) |
||||
fi |
||||
done |
||||
done |
||||
|
||||
LIBS="$old_LIBS" |
||||
|
||||
if test -z $DB_CXX_HEADER ; then |
||||
AC_MSG_RESULT([not found]) |
||||
ifelse([$3], , :, [$3]) |
||||
else |
||||
AC_DEFINE_UNQUOTED(DB_CXX_HEADER, ["$DB_CXX_HEADER"], ["Berkeley DB C++ Header File"]) |
||||
AC_SUBST(DB_CXX_LIBS) |
||||
ifelse([$2], , :, [$2]) |
||||
fi |
||||
]) |
@ -0,0 +1,224 @@
@@ -0,0 +1,224 @@
|
||||
# =========================================================================== |
||||
# http://www.nongnu.org/autoconf-archive/ax_boost_base.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_BOOST_BASE([MINIMUM-VERSION]) |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Test for the Boost C++ libraries of a particular version (or newer) |
||||
# |
||||
# If no path to the installed boost library is given the macro searchs |
||||
# under /usr, /usr/local, /opt and /opt/local and evaluates the |
||||
# $BOOST_ROOT environment variable. Further documentation is available at |
||||
# <http://randspringer.de/boost/index.html>. |
||||
# |
||||
# This macro calls: |
||||
# |
||||
# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS) |
||||
# |
||||
# And sets: |
||||
# |
||||
# HAVE_BOOST |
||||
# |
||||
# EDIT: 2009-09-07 Cristian Greco <cristian.debian@gmail.com> |
||||
# - Call AC_SUBST(BOOST_VERSION). |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de> |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. |
||||
|
||||
AC_DEFUN([AX_BOOST_BASE], |
||||
[ |
||||
AC_ARG_WITH([boost], |
||||
AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is yes) - it is possible to specify the root directory for boost (optional)]), |
||||
[ |
||||
if test "x$withval" = "xno"; then |
||||
want_boost="no" |
||||
elif test "x$withval" = "xyes"; then |
||||
want_boost="yes" |
||||
ac_boost_path="" |
||||
else |
||||
want_boost="yes" |
||||
ac_boost_path="$withval" |
||||
fi |
||||
], |
||||
[want_boost="yes"]) |
||||
|
||||
|
||||
AC_ARG_WITH([boost-libdir], |
||||
AS_HELP_STRING([--with-boost-libdir=LIB_DIR], |
||||
[Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]), |
||||
[ |
||||
if test -d $withval |
||||
then |
||||
ac_boost_lib_path="$withval" |
||||
else |
||||
AC_MSG_ERROR(--with-boost-libdir expected directory name) |
||||
fi |
||||
], |
||||
[ac_boost_lib_path=""] |
||||
) |
||||
|
||||
if test "x$want_boost" = "xyes"; then |
||||
boost_lib_version_req=ifelse([$1], ,1.20.0,$1) |
||||
boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'` |
||||
boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'` |
||||
boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'` |
||||
boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` |
||||
if test "x$boost_lib_version_req_sub_minor" = "x" ; then |
||||
boost_lib_version_req_sub_minor="0" |
||||
fi |
||||
WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` |
||||
AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req) |
||||
succeeded=no |
||||
|
||||
dnl first we check the system location for boost libraries |
||||
dnl this location ist chosen if boost libraries are installed with the --layout=system option |
||||
dnl or if you install boost with RPM |
||||
if test "x$ac_boost_path" != "x"; then |
||||
BOOST_LDFLAGS="-L$ac_boost_path/lib" |
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include" |
||||
else |
||||
for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do |
||||
if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then |
||||
BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib" |
||||
BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" |
||||
BOOST_VERSION=`grep "define BOOST_LIB_VERSION" $ac_boost_path_tmp/include/boost/version.hpp | sed 's,^.*\"\([[0-9]][[_0-9]]*\)\"$,\1, ; s,_0$,, ; s,_,.,'` |
||||
break; |
||||
fi |
||||
done |
||||
fi |
||||
|
||||
dnl overwrite ld flags if we have required special directory with |
||||
dnl --with-boost-libdir parameter |
||||
if test "x$ac_boost_lib_path" != "x"; then |
||||
BOOST_LDFLAGS="-L$ac_boost_lib_path" |
||||
fi |
||||
|
||||
CPPFLAGS_SAVED="$CPPFLAGS" |
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" |
||||
export CPPFLAGS |
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS" |
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" |
||||
export LDFLAGS |
||||
|
||||
AC_LANG_PUSH(C++) |
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
||||
@%:@include <boost/version.hpp> |
||||
]], [[ |
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION |
||||
// Everything is okay |
||||
#else |
||||
# error Boost version is too old |
||||
#endif |
||||
]])],[ |
||||
AC_MSG_RESULT(yes) |
||||
succeeded=yes |
||||
found_system=yes |
||||
],[ |
||||
]) |
||||
AC_LANG_POP([C++]) |
||||
|
||||
|
||||
|
||||
dnl if we found no boost with system layout we search for boost libraries |
||||
dnl built and installed without the --layout=system option or for a staged(not installed) version |
||||
if test "x$succeeded" != "xyes"; then |
||||
_version=0 |
||||
if test "x$ac_boost_path" != "x"; then |
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then |
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do |
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` |
||||
V_CHECK=`expr $_version_tmp \> $_version` |
||||
if test "$V_CHECK" = "1" ; then |
||||
_version=$_version_tmp |
||||
fi |
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` |
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" |
||||
done |
||||
fi |
||||
else |
||||
for ac_boost_path in /usr /usr/local /opt /opt/local ; do |
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then |
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do |
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` |
||||
V_CHECK=`expr $_version_tmp \> $_version` |
||||
if test "$V_CHECK" = "1" ; then |
||||
_version=$_version_tmp |
||||
best_path=$ac_boost_path |
||||
fi |
||||
done |
||||
fi |
||||
done |
||||
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` |
||||
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" |
||||
if test "x$ac_boost_lib_path" = "x" |
||||
then |
||||
BOOST_LDFLAGS="-L$best_path/lib" |
||||
fi |
||||
|
||||
if test "x$BOOST_ROOT" != "x"; then |
||||
if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then |
||||
version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` |
||||
stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` |
||||
stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'` |
||||
V_CHECK=`expr $stage_version_shorten \>\= $_version` |
||||
if test "$V_CHECK" = "1" -a "x$ac_boost_lib_path" = "x" ; then |
||||
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT) |
||||
BOOST_CPPFLAGS="-I$BOOST_ROOT" |
||||
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib" |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" |
||||
export CPPFLAGS |
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" |
||||
export LDFLAGS |
||||
|
||||
AC_LANG_PUSH(C++) |
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
||||
@%:@include <boost/version.hpp> |
||||
]], [[ |
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION |
||||
// Everything is okay |
||||
#else |
||||
# error Boost version is too old |
||||
#endif |
||||
]])],[ |
||||
AC_MSG_RESULT(yes) |
||||
succeeded=yes |
||||
found_system=yes |
||||
],[ |
||||
]) |
||||
AC_LANG_POP([C++]) |
||||
fi |
||||
|
||||
if test "x$succeeded" != "xyes" ; then |
||||
if test "$_version" = "0" ; then |
||||
AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]]) |
||||
else |
||||
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).]) |
||||
fi |
||||
else |
||||
AC_SUBST(BOOST_CPPFLAGS) |
||||
AC_SUBST(BOOST_LDFLAGS) |
||||
AC_SUBST(BOOST_VERSION) |
||||
AC_DEFINE(HAVE_BOOST,[1],[define if the Boost library is available]) |
||||
fi |
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED" |
||||
LDFLAGS="$LDFLAGS_SAVED" |
||||
fi |
||||
|
||||
]) |
@ -0,0 +1,118 @@
@@ -0,0 +1,118 @@
|
||||
# =========================================================================== |
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_BOOST_FILESYSTEM |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Test for Filesystem library from the Boost C++ libraries. The macro |
||||
# requires a preceding call to AX_BOOST_BASE. Further documentation is |
||||
# available at <http://randspringer.de/boost/index.html>. |
||||
# |
||||
# This macro calls: |
||||
# |
||||
# AC_SUBST(BOOST_FILESYSTEM_LIB) |
||||
# |
||||
# And sets: |
||||
# |
||||
# HAVE_BOOST_FILESYSTEM |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2009 Thomas Porschberg <thomas@randspringer.de> |
||||
# Copyright (c) 2009 Michael Tindal |
||||
# Copyright (c) 2009 Roman Rybalko <libtorrent@romanr.info> |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. This file is offered as-is, without any |
||||
# warranty. |
||||
|
||||
#serial 26 |
||||
|
||||
AC_DEFUN([AX_BOOST_FILESYSTEM], |
||||
[ |
||||
AC_ARG_WITH([boost-filesystem], |
||||
AS_HELP_STRING([--with-boost-filesystem@<:@=special-lib@:>@], |
||||
[use the Filesystem library from boost - it is possible to specify a certain library for the linker |
||||
e.g. --with-boost-filesystem=boost_filesystem-gcc-mt ]), |
||||
[ |
||||
if test "$withval" = "no"; then |
||||
want_boost="no" |
||||
elif test "$withval" = "yes"; then |
||||
want_boost="yes" |
||||
ax_boost_user_filesystem_lib="" |
||||
else |
||||
want_boost="yes" |
||||
ax_boost_user_filesystem_lib="$withval" |
||||
fi |
||||
], |
||||
[want_boost="yes"] |
||||
) |
||||
|
||||
if test "x$want_boost" = "xyes"; then |
||||
AC_REQUIRE([AC_PROG_CC]) |
||||
CPPFLAGS_SAVED="$CPPFLAGS" |
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" |
||||
export CPPFLAGS |
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS" |
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" |
||||
export LDFLAGS |
||||
|
||||
LIBS_SAVED=$LIBS |
||||
LIBS="$LIBS $BOOST_SYSTEM_LIB" |
||||
export LIBS |
||||
|
||||
AC_CACHE_CHECK(whether the Boost::Filesystem library is available, |
||||
ax_cv_boost_filesystem, |
||||
[AC_LANG_PUSH([C++]) |
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/filesystem/path.hpp>]], |
||||
[[using namespace boost::filesystem; |
||||
path my_path( "foo/bar/data.txt" ); |
||||
return 0;]])], |
||||
ax_cv_boost_filesystem=yes, ax_cv_boost_filesystem=no) |
||||
AC_LANG_POP([C++]) |
||||
]) |
||||
if test "x$ax_cv_boost_filesystem" = "xyes"; then |
||||
AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available]) |
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` |
||||
if test "x$ax_boost_user_filesystem_lib" = "x"; then |
||||
for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], |
||||
[link_filesystem="no"]) |
||||
done |
||||
if test "x$link_filesystem" != "xyes"; then |
||||
for libextension in `ls -r $BOOSTLIBDIR/boost_filesystem* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], |
||||
[link_filesystem="no"]) |
||||
done |
||||
fi |
||||
else |
||||
for ax_lib in $ax_boost_user_filesystem_lib boost_filesystem-$ax_boost_user_filesystem_lib; do |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], |
||||
[link_filesystem="no"]) |
||||
done |
||||
|
||||
fi |
||||
if test "x$ax_lib" = "x"; then |
||||
AC_MSG_ERROR(Could not find a version of the library!) |
||||
fi |
||||
if test "x$link_filesystem" != "xyes"; then |
||||
AC_MSG_ERROR(Could not link against $ax_lib !) |
||||
fi |
||||
fi |
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED" |
||||
LDFLAGS="$LDFLAGS_SAVED" |
||||
LIBS="$LIBS_SAVED" |
||||
fi |
||||
]) |
@ -0,0 +1,108 @@
@@ -0,0 +1,108 @@
|
||||
# ============================================================================ |
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_program_options.html |
||||
# ============================================================================ |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_BOOST_PROGRAM_OPTIONS |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Test for program options library from the Boost C++ libraries. The macro |
||||
# requires a preceding call to AX_BOOST_BASE. Further documentation is |
||||
# available at <http://randspringer.de/boost/index.html>. |
||||
# |
||||
# This macro calls: |
||||
# |
||||
# AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) |
||||
# |
||||
# And sets: |
||||
# |
||||
# HAVE_BOOST_PROGRAM_OPTIONS |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2009 Thomas Porschberg <thomas@randspringer.de> |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. This file is offered as-is, without any |
||||
# warranty. |
||||
|
||||
#serial 22 |
||||
|
||||
AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS], |
||||
[ |
||||
AC_ARG_WITH([boost-program-options], |
||||
AS_HELP_STRING([--with-boost-program-options@<:@=special-lib@:>@], |
||||
[use the program options library from boost - it is possible to specify a certain library for the linker |
||||
e.g. --with-boost-program-options=boost_program_options-gcc-mt-1_33_1 ]), |
||||
[ |
||||
if test "$withval" = "no"; then |
||||
want_boost="no" |
||||
elif test "$withval" = "yes"; then |
||||
want_boost="yes" |
||||
ax_boost_user_program_options_lib="" |
||||
else |
||||
want_boost="yes" |
||||
ax_boost_user_program_options_lib="$withval" |
||||
fi |
||||
], |
||||
[want_boost="yes"] |
||||
) |
||||
|
||||
if test "x$want_boost" = "xyes"; then |
||||
AC_REQUIRE([AC_PROG_CC]) |
||||
export want_boost |
||||
CPPFLAGS_SAVED="$CPPFLAGS" |
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" |
||||
export CPPFLAGS |
||||
LDFLAGS_SAVED="$LDFLAGS" |
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" |
||||
export LDFLAGS |
||||
AC_CACHE_CHECK([whether the Boost::Program_Options library is available], |
||||
ax_cv_boost_program_options, |
||||
[AC_LANG_PUSH(C++) |
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/program_options.hpp> |
||||
]], |
||||
[[boost::program_options::options_description generic("Generic options"); |
||||
return 0;]])], |
||||
ax_cv_boost_program_options=yes, ax_cv_boost_program_options=no) |
||||
AC_LANG_POP([C++]) |
||||
]) |
||||
if test "$ax_cv_boost_program_options" = yes; then |
||||
AC_DEFINE(HAVE_BOOST_PROGRAM_OPTIONS,,[define if the Boost::PROGRAM_OPTIONS library is available]) |
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` |
||||
if test "x$ax_boost_user_program_options_lib" = "x"; then |
||||
for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], |
||||
[link_program_options="no"]) |
||||
done |
||||
if test "x$link_program_options" != "xyes"; then |
||||
for libextension in `ls $BOOSTLIBDIR/boost_program_options*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.a.*$;\1;'` ; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], |
||||
[link_program_options="no"]) |
||||
done |
||||
fi |
||||
else |
||||
for ax_lib in $ax_boost_user_program_options_lib boost_program_options-$ax_boost_user_program_options_lib; do |
||||
AC_CHECK_LIB($ax_lib, main, |
||||
[BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], |
||||
[link_program_options="no"]) |
||||
done |
||||
fi |
||||
if test "x$ax_lib" = "x"; then |
||||
AC_MSG_ERROR(Could not find a version of the library!) |
||||
fi |
||||
if test "x$link_program_options" != "xyes"; then |
||||
AC_MSG_ERROR([Could not link against [$ax_lib] !]) |
||||
fi |
||||
fi |
||||
CPPFLAGS="$CPPFLAGS_SAVED" |
||||
LDFLAGS="$LDFLAGS_SAVED" |
||||
fi |
||||
]) |
@ -0,0 +1,103 @@
@@ -0,0 +1,103 @@
|
||||
# =========================================================================== |
||||
# http://www.nongnu.org/autoconf-archive/ax_boost_python.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_BOOST_PYTHON |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# This macro checks to see if the Boost.Python library is installed. It |
||||
# also attempts to guess the currect library name using several attempts. |
||||
# It tries to build the library name using a user supplied name or suffix |
||||
# and then just the raw library. |
||||
# |
||||
# If the library is found, HAVE_BOOST_PYTHON is defined and |
||||
# BOOST_PYTHON_LIB is set to the name of the library. |
||||
# |
||||
# This macro calls AC_SUBST(BOOST_PYTHON_LIB). |
||||
# |
||||
# In order to ensure that the Python headers are specified on the include |
||||
# path, this macro requires AX_PYTHON to be called. |
||||
# |
||||
# EDIT: |
||||
# 2009-09-14 Cristian Greco <cristian.debian@gmail.com> |
||||
# - Require AX_PYTHON_DEVEL to be called before this macro to properly |
||||
# detect python include path, instead of AX_PYTHON. |
||||
# 2009-09-07 Cristian Greco <cristian.debian@gmail.com> |
||||
# - Prefix BOOST_PYTHON_LIB with a `-l` for consistency with other |
||||
# ax_boost_libname.m4 scripts. |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2008 Michael Tindal |
||||
# |
||||
# This program is free software; you can redistribute it and/or modify it |
||||
# under the terms of the GNU General Public License as published by the |
||||
# Free Software Foundation; either version 2 of the License, or (at your |
||||
# option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, but |
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
||||
# Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License along |
||||
# with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# As a special exception, the respective Autoconf Macro's copyright owner |
||||
# gives unlimited permission to copy, distribute and modify the configure |
||||
# scripts that are the output of Autoconf when processing the Macro. You |
||||
# need not follow the terms of the GNU General Public License when using |
||||
# or distributing such scripts, even though portions of the text of the |
||||
# Macro appear in them. The GNU General Public License (GPL) does govern |
||||
# all other use of the material that constitutes the Autoconf Macro. |
||||
# |
||||
# This special exception to the GPL applies to versions of the Autoconf |
||||
# Macro released by the Autoconf Archive. When you make and distribute a |
||||
# modified version of the Autoconf Macro, you may extend this special |
||||
# exception to the GPL to apply to your modified version as well. |
||||
|
||||
AC_DEFUN([AX_BOOST_PYTHON], |
||||
[AC_REQUIRE([AX_PYTHON_DEVEL])dnl |
||||
AC_CACHE_CHECK(whether the Boost::Python library is available, |
||||
ac_cv_boost_python, |
||||
[AC_LANG_SAVE |
||||
AC_LANG_CPLUSPLUS |
||||
CPPFLAGS_SAVE=$CPPFLAGS |
||||
if test "x$PYTHON_CPPFLAGS" != "x"; then |
||||
CPPFLAGS="$PYTHON_CPPFLAGS $CPPFLAGS" |
||||
fi |
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[ |
||||
#include <boost/python/module.hpp> |
||||
using namespace boost::python; |
||||
BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]], |
||||
[[return 0;]]), |
||||
ac_cv_boost_python=yes, ac_cv_boost_python=no) |
||||
AC_LANG_RESTORE |
||||
CPPFLAGS=$CPPFLAGS_SAVE |
||||
]) |
||||
if test "x$ac_cv_boost_python" = "xyes"; then |
||||
AC_DEFINE(HAVE_BOOST_PYTHON,[1],[define if the Boost::Python library is available]) |
||||
dnl |
||||
LDFLAGS_SAVE=$LDFLAGS |
||||
if test "x$PYTHON_LDFLAGS" != "x"; then |
||||
LDFLAGS="$LDFLAGS $PYTHON_LDFLAGS" |
||||
fi |
||||
dnl |
||||
ax_python_lib=boost_python |
||||
AC_ARG_WITH([boost-python],AS_HELP_STRING([--with-boost-python],[specify the boost python library or suffix to use]), |
||||
[if test "x$with_boost_python" != "xno"; then |
||||
ax_python_lib="$with_boost_python" |
||||
ax_boost_python_lib="boost_python-$with_boost_python" |
||||
fi]) |
||||
for ax_lib in $ax_python_lib $ax_boost_python_lib boost_python; do |
||||
AC_CHECK_LIB($ax_lib, main, [BOOST_PYTHON_LIB=-l$ax_lib break]) |
||||
done |
||||
dnl |
||||
LDFLAGS=$LDFLAGS_SAVE |
||||
dnl |
||||
AC_SUBST(BOOST_PYTHON_LIB) |
||||
fi |
||||
])dnl |
@ -0,0 +1,114 @@
@@ -0,0 +1,114 @@
|
||||
# =========================================================================== |
||||
# http://www.nongnu.org/autoconf-archive/ax_boost_system.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_BOOST_SYSTEM |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Test for System library from the Boost C++ libraries. The macro requires |
||||
# a preceding call to AX_BOOST_BASE. Further documentation is available at |
||||
# <http://randspringer.de/boost/index.html>. |
||||
# |
||||
# This macro calls: |
||||
# |
||||
# AC_SUBST(BOOST_SYSTEM_LIB) |
||||
# |
||||
# And sets: |
||||
# |
||||
# HAVE_BOOST_SYSTEM |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de> |
||||
# Copyright (c) 2008 Michael Tindal |
||||
# Copyright (c) 2008 Daniel Casimiro <dan.casimiro@gmail.com> |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. |
||||
|
||||
AC_DEFUN([AX_BOOST_SYSTEM], |
||||
[ |
||||
AC_ARG_WITH([boost-system], |
||||
AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@], |
||||
[use the System library from boost - it is possible to specify a certain library for the linker |
||||
e.g. --with-boost-system=boost_system-gcc-mt ]), |
||||
[ |
||||
if test "x$withval" = "xno"; then |
||||
want_boost="no" |
||||
elif test "x$withval" = "xyes"; then |
||||
want_boost="yes" |
||||
ax_boost_user_system_lib="" |
||||
else |
||||
want_boost="yes" |
||||
ax_boost_user_system_lib="$withval" |
||||
fi |
||||
], |
||||
[want_boost="yes"] |
||||
) |
||||
|
||||
if test "x$want_boost" = "xyes"; then |
||||
AC_REQUIRE([AC_PROG_CC]) |
||||
AC_REQUIRE([AC_CANONICAL_BUILD]) |
||||
CPPFLAGS_SAVED="$CPPFLAGS" |
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" |
||||
export CPPFLAGS |
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS" |
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" |
||||
export LDFLAGS |
||||
|
||||
AC_CACHE_CHECK(whether the Boost::System library is available, |
||||
ax_cv_boost_system, |
||||
[AC_LANG_PUSH([C++]) |
||||
CXXFLAGS_SAVE=$CXXFLAGS |
||||
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <boost/system/error_code.hpp>]], |
||||
[[boost::system::system_category]]), |
||||
ax_cv_boost_system=yes, ax_cv_boost_system=no) |
||||
CXXFLAGS=$CXXFLAGS_SAVE |
||||
AC_LANG_POP([C++]) |
||||
]) |
||||
if test "x$ax_cv_boost_system" = "xyes"; then |
||||
AC_SUBST(BOOST_CPPFLAGS) |
||||
|
||||
AC_DEFINE(HAVE_BOOST_SYSTEM,[1],[define if the Boost::System library is available]) |
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` |
||||
|
||||
LDFLAGS_SAVE=$LDFLAGS |
||||
if test "x$ax_boost_user_system_lib" = "x"; then |
||||
for libextension in `ls $BOOSTLIBDIR/libboost_system*.{so,dylib,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_system.*\)\.so.*$;\1;' -e 's;^lib\(boost_system.*\)\.a*$;\1;' -e 's;^lib\(boost_system.*\)\.dylib$;\1;'` ; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], |
||||
[link_system="no"]) |
||||
done |
||||
if test "x$link_system" != "xyes"; then |
||||
for libextension in `ls $BOOSTLIBDIR/boost_system*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_system.*\)\.dll.*$;\1;' -e 's;^\(boost_system.*\)\.a*$;\1;'` ; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], |
||||
[link_system="no"]) |
||||
done |
||||
fi |
||||
|
||||
else |
||||
for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], |
||||
[link_system="no"]) |
||||
done |
||||
|
||||
fi |
||||
if test "x$link_system" = "xno"; then |
||||
AC_MSG_ERROR(Could not link against $ax_lib !) |
||||
fi |
||||
fi |
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED" |
||||
LDFLAGS="$LDFLAGS_SAVED" |
||||
fi |
||||
]) |
@ -0,0 +1,149 @@
@@ -0,0 +1,149 @@
|
||||
# =========================================================================== |
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_thread.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_BOOST_THREAD |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Test for Thread library from the Boost C++ libraries. The macro requires |
||||
# a preceding call to AX_BOOST_BASE. Further documentation is available at |
||||
# <http://randspringer.de/boost/index.html>. |
||||
# |
||||
# This macro calls: |
||||
# |
||||
# AC_SUBST(BOOST_THREAD_LIB) |
||||
# |
||||
# And sets: |
||||
# |
||||
# HAVE_BOOST_THREAD |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2009 Thomas Porschberg <thomas@randspringer.de> |
||||
# Copyright (c) 2009 Michael Tindal |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. This file is offered as-is, without any |
||||
# warranty. |
||||
|
||||
#serial 27 |
||||
|
||||
AC_DEFUN([AX_BOOST_THREAD], |
||||
[ |
||||
AC_ARG_WITH([boost-thread], |
||||
AS_HELP_STRING([--with-boost-thread@<:@=special-lib@:>@], |
||||
[use the Thread library from boost - it is possible to specify a certain library for the linker |
||||
e.g. --with-boost-thread=boost_thread-gcc-mt ]), |
||||
[ |
||||
if test "$withval" = "no"; then |
||||
want_boost="no" |
||||
elif test "$withval" = "yes"; then |
||||
want_boost="yes" |
||||
ax_boost_user_thread_lib="" |
||||
else |
||||
want_boost="yes" |
||||
ax_boost_user_thread_lib="$withval" |
||||
fi |
||||
], |
||||
[want_boost="yes"] |
||||
) |
||||
|
||||
if test "x$want_boost" = "xyes"; then |
||||
AC_REQUIRE([AC_PROG_CC]) |
||||
AC_REQUIRE([AC_CANONICAL_BUILD]) |
||||
CPPFLAGS_SAVED="$CPPFLAGS" |
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" |
||||
export CPPFLAGS |
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS" |
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" |
||||
export LDFLAGS |
||||
|
||||
AC_CACHE_CHECK(whether the Boost::Thread library is available, |
||||
ax_cv_boost_thread, |
||||
[AC_LANG_PUSH([C++]) |
||||
CXXFLAGS_SAVE=$CXXFLAGS |
||||
|
||||
if test "x$host_os" = "xsolaris" ; then |
||||
CXXFLAGS="-pthreads $CXXFLAGS" |
||||
elif test "x$host_os" = "xmingw32" ; then |
||||
CXXFLAGS="-mthreads $CXXFLAGS" |
||||
else |
||||
CXXFLAGS="-pthread $CXXFLAGS" |
||||
fi |
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/thread/thread.hpp>]], |
||||
[[boost::thread_group thrds; |
||||
return 0;]])], |
||||
ax_cv_boost_thread=yes, ax_cv_boost_thread=no) |
||||
CXXFLAGS=$CXXFLAGS_SAVE |
||||
AC_LANG_POP([C++]) |
||||
]) |
||||
if test "x$ax_cv_boost_thread" = "xyes"; then |
||||
if test "x$host_os" = "xsolaris" ; then |
||||
BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS" |
||||
elif test "x$host_os" = "xmingw32" ; then |
||||
BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS" |
||||
else |
||||
BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS" |
||||
fi |
||||
|
||||
AC_SUBST(BOOST_CPPFLAGS) |
||||
|
||||
AC_DEFINE(HAVE_BOOST_THREAD,,[define if the Boost::Thread library is available]) |
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` |
||||
|
||||
LDFLAGS_SAVE=$LDFLAGS |
||||
case "x$host_os" in |
||||
*bsd* ) |
||||
LDFLAGS="-pthread $LDFLAGS" |
||||
break; |
||||
;; |
||||
esac |
||||
if test "x$ax_boost_user_thread_lib" = "x"; then |
||||
for libextension in `ls -r $BOOSTLIBDIR/libboost_thread* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'`; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break], |
||||
[link_thread="no"]) |
||||
done |
||||
if test "x$link_thread" != "xyes"; then |
||||
for libextension in `ls -r $BOOSTLIBDIR/boost_thread* 2>/dev/null | sed 's,.*/,,' | sed 's,\..*,,'`; do |
||||
ax_lib=${libextension} |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break], |
||||
[link_thread="no"]) |
||||
done |
||||
fi |
||||
|
||||
else |
||||
for ax_lib in $ax_boost_user_thread_lib boost_thread-$ax_boost_user_thread_lib; do |
||||
AC_CHECK_LIB($ax_lib, exit, |
||||
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break], |
||||
[link_thread="no"]) |
||||
done |
||||
|
||||
fi |
||||
if test "x$ax_lib" = "x"; then |
||||
AC_MSG_ERROR(Could not find a version of the library!) |
||||
fi |
||||
if test "x$link_thread" = "xno"; then |
||||
AC_MSG_ERROR(Could not link against $ax_lib !) |
||||
else |
||||
case "x$host_os" in |
||||
*bsd* ) |
||||
BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS" |
||||
break; |
||||
;; |
||||
esac |
||||
|
||||
fi |
||||
fi |
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED" |
||||
LDFLAGS="$LDFLAGS_SAVED" |
||||
fi |
||||
]) |
@ -0,0 +1,95 @@
@@ -0,0 +1,95 @@
|
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_CHECK_GEOIP([action-if-found], [action-if-not-found]) |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Tests for the GeoIP (libgeoip) library. |
||||
# |
||||
# This macro calls: |
||||
# |
||||
# AC_SUBST(GEOIP_CFLAGS) / AC_SUBST(GEOIP_LIBS) |
||||
# |
||||
# LAST MODIFICATION |
||||
# |
||||
# 2009-09-05 |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2009 Cristian Greco <cristian.debian@gmail.com> |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. |
||||
|
||||
AC_DEFUN([AC_CHECK_GEOIP], |
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
||||
|
||||
ac_geoip_found="no" |
||||
|
||||
AC_MSG_CHECKING([for libgeoip with pkg-config]) |
||||
PKG_CHECK_EXISTS([geoip], [ |
||||
AC_MSG_RESULT([yes]) |
||||
PKG_CHECK_MODULES([GEOIP], [geoip], [ |
||||
ac_geoip_found="yes" |
||||
], [ |
||||
AC_MSG_WARN([pkg-config: geoip module not found]) |
||||
]) |
||||
], [ |
||||
AC_MSG_RESULT([no]) |
||||
|
||||
CPPFLAGS_SAVED="$CPPFLAGS" |
||||
LDFLAGS_SAVED="$LDFLAGS" |
||||
CFLAGS_SAVED="$CFLAGS" |
||||
LIBS_SAVED="$LIBS" |
||||
|
||||
AC_CHECK_HEADER([GeoIP.h], [ |
||||
AC_CHECK_LIB([GeoIP], [GeoIP_new], [ |
||||
GEOIP_CFLAGS="" |
||||
GEOIP_LIBS="-lGeoIP" |
||||
ac_geoip_found="yes" |
||||
], [ |
||||
AC_MSG_WARN([libgeoip library not found]) |
||||
]) |
||||
], [ |
||||
for ac_geoip_path in /usr /usr/local /opt /opt/local; do |
||||
AC_MSG_CHECKING([for GeoIP.h in $ac_geoip_path]) |
||||
if test -d "$ac_geoip_path/include/" -a -r "$ac_geoip_path/include/GeoIP.h"; then |
||||
AC_MSG_RESULT([yes]) |
||||
GEOIP_CFLAGS="-I$ac_geoip_path/include" |
||||
GEOIP_LIBS="-lGeoIP" |
||||
break; |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
fi |
||||
done |
||||
|
||||
CFLAGS="$GEOIP_CFLAGS $CFLAGS" |
||||
export CFLAGS |
||||
LIBS="$GEOIP_LIBS $LIBS" |
||||
export LIBS |
||||
|
||||
AC_MSG_CHECKING([for GeoIP_new in -lGeoIP]) |
||||
AC_LINK_IFELSE([ |
||||
AC_LANG_PROGRAM([[ #include <GeoIP.h> ]], [[ GeoIP *g = GeoIP_new(GEOIP_STANDARD); ]]) |
||||
], [ |
||||
AC_MSG_RESULT([yes]) |
||||
ac_geoip_found="yes" |
||||
], [ |
||||
AC_MSG_RESULT([no]) |
||||
]) |
||||
]) |
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED" |
||||
LDFLAGS="$LDFLAGS_SAVED" |
||||
CFLAGS="$CFLAGS_SAVED" |
||||
LIBS="$LIBS_SAVED" |
||||
]) |
||||
|
||||
AS_IF([ test "x$ac_geoip_found" != xno ], [$1], [$2]) |
||||
|
||||
AC_SUBST([GEOIP_CFLAGS]) |
||||
AC_SUBST([GEOIP_LIBS]) |
||||
]) |
@ -0,0 +1,124 @@
@@ -0,0 +1,124 @@
|
||||
# =========================================================================== |
||||
# http://www.gnu.org/software/autoconf-archive/ax_check_openssl.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]]) |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Look for OpenSSL in a number of default spots, or in a user-selected |
||||
# spot (via --with-openssl). Sets |
||||
# |
||||
# OPENSSL_INCLUDES to the include directives required |
||||
# OPENSSL_LIBS to the -l directives required |
||||
# OPENSSL_LDFLAGS to the -L or -R flags required |
||||
# |
||||
# and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately |
||||
# |
||||
# This macro sets OPENSSL_INCLUDES such that source files should use the |
||||
# openssl/ directory in include directives: |
||||
# |
||||
# #include <openssl/hmac.h> |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2009, 2010 Zmanda Inc. <http://www.zmanda.com/> |
||||
# Copyright (c) 2009, 2010 Dustin J. Mitchell <dustin@zmanda.com> |
||||
# |
||||
# Copying and distribution of this file, with or without modification, are |
||||
# permitted in any medium without royalty provided the copyright notice |
||||
# and this notice are preserved. This file is offered as-is, without any |
||||
# warranty. |
||||
|
||||
#serial 6 |
||||
|
||||
AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL]) |
||||
AC_DEFUN([AX_CHECK_OPENSSL], [ |
||||
found=false |
||||
AC_ARG_WITH(openssl, |
||||
AS_HELP_STRING([--with-openssl=DIR], |
||||
[root of the OpenSSL directory]), |
||||
[ |
||||
case "$withval" in |
||||
"" | y | ye | yes | n | no) |
||||
AC_MSG_ERROR([Invalid --with-openssl value]) |
||||
;; |
||||
*) ssldirs="$withval" |
||||
;; |
||||
esac |
||||
], [ |
||||
# if pkg-config is installed and openssl has installed a .pc file, |
||||
# then use that information and don't search ssldirs |
||||
AC_PATH_PROG(PKG_CONFIG, pkg-config) |
||||
if test x"$PKG_CONFIG" != x""; then |
||||
OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null` |
||||
if test $? = 0; then |
||||
OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null` |
||||
OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null` |
||||
found=true |
||||
fi |
||||
fi |
||||
|
||||
# no such luck; use some default ssldirs |
||||
if ! $found; then |
||||
ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr" |
||||
fi |
||||
] |
||||
) |
||||
|
||||
|
||||
# note that we #include <openssl/foo.h>, so the OpenSSL headers have to be in |
||||
# an 'openssl' subdirectory |
||||
|
||||
if ! $found; then |
||||
OPENSSL_INCLUDES= |
||||
for ssldir in $ssldirs; do |
||||
AC_MSG_CHECKING([for openssl/ssl.h in $ssldir]) |
||||
if test -f "$ssldir/include/openssl/ssl.h"; then |
||||
OPENSSL_INCLUDES="-I$ssldir/include" |
||||
OPENSSL_LDFLAGS="-L$ssldir/lib" |
||||
OPENSSL_LIBS="-lssl -lcrypto" |
||||
found=true |
||||
AC_MSG_RESULT([yes]) |
||||
break |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
fi |
||||
done |
||||
|
||||
# if the file wasn't found, well, go ahead and try the link anyway -- maybe |
||||
# it will just work! |
||||
fi |
||||
|
||||
# try the preprocessor and linker with our new flags, |
||||
# being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS |
||||
|
||||
AC_MSG_CHECKING([whether compiling and linking against OpenSSL works]) |
||||
echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \ |
||||
"OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&AS_MESSAGE_LOG_FD |
||||
|
||||
save_LIBS="$LIBS" |
||||
save_LDFLAGS="$LDFLAGS" |
||||
save_CPPFLAGS="$CPPFLAGS" |
||||
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" |
||||
LIBS="$OPENSSL_LIBS $LIBS" |
||||
CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS" |
||||
AC_LINK_IFELSE( |
||||
AC_LANG_PROGRAM([#include <openssl/ssl.h>], [SSL_new(NULL)]), |
||||
[ |
||||
AC_MSG_RESULT([yes]) |
||||
$1 |
||||
], [ |
||||
AC_MSG_RESULT([no]) |
||||
$2 |
||||
]) |
||||
CPPFLAGS="$save_CPPFLAGS" |
||||
LDFLAGS="$save_LDFLAGS" |
||||
LIBS="$save_LIBS" |
||||
|
||||
AC_SUBST([OPENSSL_INCLUDES]) |
||||
AC_SUBST([OPENSSL_LIBS]) |
||||
AC_SUBST([OPENSSL_LDFLAGS]) |
||||
]) |
@ -0,0 +1,383 @@
@@ -0,0 +1,383 @@
|
||||
# =========================================================================== |
||||
# http://www.nongnu.org/autoconf-archive/ax_pthread.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# This macro figures out how to build C programs using POSIX threads. It |
||||
# sets the PTHREAD_LIBS output variable to the threads library and linker |
||||
# flags, and the PTHREAD_CFLAGS output variable to any special C compiler |
||||
# flags that are needed. (The user can also force certain compiler |
||||
# flags/libs to be tested by setting these environment variables.) |
||||
# |
||||
# Also sets PTHREAD_CC to any special C compiler that is needed for |
||||
# multi-threaded programs (defaults to the value of CC otherwise). (This |
||||
# is necessary on AIX to use the special cc_r compiler alias.) |
||||
# |
||||
# NOTE: You are assumed to not only compile your program with these flags, |
||||
# but also link it with them as well. e.g. you should link with |
||||
# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS |
||||
# |
||||
# If you are only building threads programs, you may wish to use these |
||||
# variables in your default LIBS, CFLAGS, and CC: |
||||
# |
||||
# LIBS="$PTHREAD_LIBS $LIBS" |
||||
# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" |
||||
# CC="$PTHREAD_CC" |
||||
# |
||||
# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant |
||||
# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name |
||||
# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). |
||||
# |
||||
# ACTION-IF-FOUND is a list of shell commands to run if a threads library |
||||
# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it |
||||
# is not found. If ACTION-IF-FOUND is not specified, the default action |
||||
# will define HAVE_PTHREAD. |
||||
# |
||||
# Please let the authors know if this macro fails on any platform, or if |
||||
# you have any other suggestions or comments. This macro was based on work |
||||
# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help |
||||
# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by |
||||
# Alejandro Forero Cuervo to the autoconf macro repository. We are also |
||||
# grateful for the helpful feedback of numerous users. |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> |
||||
# |
||||
# This program is free software: you can redistribute it and/or modify it |
||||
# under the terms of the GNU General Public License as published by the |
||||
# Free Software Foundation, either version 3 of the License, or (at your |
||||
# option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, but |
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
||||
# Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License along |
||||
# with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# As a special exception, the respective Autoconf Macro's copyright owner |
||||
# gives unlimited permission to copy, distribute and modify the configure |
||||
# scripts that are the output of Autoconf when processing the Macro. You |
||||
# need not follow the terms of the GNU General Public License when using |
||||
# or distributing such scripts, even though portions of the text of the |
||||
# Macro appear in them. The GNU General Public License (GPL) does govern |
||||
# all other use of the material that constitutes the Autoconf Macro. |
||||
# |
||||
# This special exception to the GPL applies to versions of the Autoconf |
||||
# Macro released by the Autoconf Archive. When you make and distribute a |
||||
# modified version of the Autoconf Macro, you may extend this special |
||||
# exception to the GPL to apply to your modified version as well. |
||||
|
||||
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) |
||||
AC_DEFUN([AX_PTHREAD], [ |
||||
AC_REQUIRE([AC_CANONICAL_HOST]) |
||||
AC_LANG_SAVE |
||||
AC_LANG_C |
||||
ax_pthread_ok=no |
||||
|
||||
# We used to check for pthread.h first, but this fails if pthread.h |
||||
# requires special compiler flags (e.g. on True64 or Sequent). |
||||
# It gets checked for in the link test anyway. |
||||
|
||||
# First of all, check if the user has set any of the PTHREAD_LIBS, |
||||
# etcetera environment variables, and if threads linking works using |
||||
# them: |
||||
if test "x$PTHREAD_LIBS$PTHREAD_CFLAGS" != "x"; then |
||||
save_CFLAGS="$CFLAGS" |
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS" |
||||
save_LIBS="$LIBS" |
||||
LIBS="$PTHREAD_LIBS $LIBS" |
||||
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) |
||||
AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) |
||||
AC_MSG_RESULT($ax_pthread_ok) |
||||
if test "x$ax_pthread_ok" = "xno"; then |
||||
PTHREAD_LIBS="" |
||||
PTHREAD_CFLAGS="" |
||||
fi |
||||
LIBS="$save_LIBS" |
||||
CFLAGS="$save_CFLAGS" |
||||
fi |
||||
|
||||
# We must check for the threads library under a number of different |
||||
# names; the ordering is very important because some systems |
||||
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the |
||||
# libraries is broken (non-POSIX). |
||||
|
||||
# Create a list of thread flags to try. Items starting with a "-" are |
||||
# C compiler flags, and other items are library names, except for "none" |
||||
# which indicates that we try without any flags at all, and "pthread-config" |
||||
# which is a program returning the flags for the Pth emulation library. |
||||
|
||||
ax_pthread_flags="pthreads none -Kthread -kthread lthread -lpthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" |
||||
|
||||
# The ordering *is* (sometimes) important. Some notes on the |
||||
# individual items follow: |
||||
|
||||
# pthreads: AIX (must check this before -lpthread) |
||||
# none: in case threads are in libc; should be tried before -Kthread and |
||||
# other compiler flags to prevent continual compiler warnings |
||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) |
||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) |
||||
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) |
||||
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) |
||||
# -pthreads: Solaris/gcc |
||||
# -mthreads: Mingw32/gcc, Lynx/gcc |
||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it |
||||
# doesn't hurt to check since this sometimes defines pthreads too; |
||||
# also defines -D_REENTRANT) |
||||
# ... -mt is also the pthreads flag for HP/aCC |
||||
# pthread: Linux, etcetera |
||||
# --thread-safe: KAI C++ |
||||
# pthread-config: use pthread-config program (for GNU Pth library) |
||||
|
||||
case "${host_cpu}-${host_os}" in |
||||
*solaris*) |
||||
|
||||
# On Solaris (at least, for some versions), libc contains stubbed |
||||
# (non-functional) versions of the pthreads routines, so link-based |
||||
# tests will erroneously succeed. (We need to link with -pthreads/-mt/ |
||||
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather |
||||
# a function called by this macro, so we could check for that, but |
||||
# who knows whether they'll stub that too in a future libc.) So, |
||||
# we'll just look for -pthreads and -lpthread first: |
||||
|
||||
ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" |
||||
;; |
||||
esac |
||||
|
||||
if test "x$ax_pthread_ok" = "xno"; then |
||||
for flag in $ax_pthread_flags; do |
||||
|
||||
case $flag in |
||||
none) |
||||
AC_MSG_CHECKING([whether pthreads work without any flags]) |
||||
;; |
||||
|
||||
-*) |
||||
AC_MSG_CHECKING([whether pthreads work with $flag]) |
||||
PTHREAD_CFLAGS="$flag" |
||||
;; |
||||
|
||||
pthread-config) |
||||
AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) |
||||
if test "x$ax_pthread_config" = "xno"; then continue; fi |
||||
PTHREAD_CFLAGS="`pthread-config --cflags`" |
||||
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" |
||||
;; |
||||
|
||||
*) |
||||
AC_MSG_CHECKING([for the pthreads library -l$flag]) |
||||
PTHREAD_LIBS="-l$flag" |
||||
;; |
||||
esac |
||||
|
||||
save_LIBS="$LIBS" |
||||
save_CFLAGS="$CFLAGS" |
||||
LIBS="$PTHREAD_LIBS $LIBS" |
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS" |
||||
|
||||
# Check for various functions. We must include pthread.h, |
||||
# since some functions may be macros. (On the Sequent, we |
||||
# need a special flag -Kthread to make this header compile.) |
||||
# We check for pthread_join because it is in -lpthread on IRIX |
||||
# while pthread_create is in libc. We check for pthread_attr_init |
||||
# due to DEC craziness with -lpthreads. We check for |
||||
# pthread_cleanup_push because it is one of the few pthread |
||||
# functions on Solaris that doesn't have a non-functional libc stub. |
||||
# We try pthread_create on general principles. |
||||
AC_TRY_LINK([#include <pthread.h>], |
||||
[pthread_t th; pthread_join(th, 0); |
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0); |
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], |
||||
[ax_pthread_ok=yes]) |
||||
|
||||
LIBS="$save_LIBS" |
||||
CFLAGS="$save_CFLAGS" |
||||
|
||||
AC_MSG_RESULT($ax_pthread_ok) |
||||
if test "x$ax_pthread_ok" = "xyes"; then |
||||
break; |
||||
fi |
||||
|
||||
PTHREAD_LIBS="" |
||||
PTHREAD_CFLAGS="" |
||||
done |
||||
fi |
||||
|
||||
# Various other checks: |
||||
if test "x$ax_pthread_ok" = "xyes"; then |
||||
save_LIBS="$LIBS" |
||||
LIBS="$PTHREAD_LIBS $LIBS" |
||||
save_CFLAGS="$CFLAGS" |
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS" |
||||
|
||||
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED. |
||||
AC_MSG_CHECKING([for joinable pthread attribute]) |
||||
attr_name=unknown |
||||
for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do |
||||
AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;], |
||||
[attr_name=$attr; break]) |
||||
done |
||||
AC_MSG_RESULT($attr_name) |
||||
if test "x$attr_name" != "xPTHREAD_CREATE_JOINABLE"; then |
||||
AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, |
||||
[Define to necessary symbol if this constant |
||||
uses a non-standard name on your system.]) |
||||
fi |
||||
|
||||
AC_MSG_CHECKING([if more special flags are required for pthreads]) |
||||
flag=no |
||||
case "${host_cpu}-${host_os}" in |
||||
*-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; |
||||
*solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; |
||||
esac |
||||
AC_MSG_RESULT(${flag}) |
||||
if test "x$flag" != "xno"; then |
||||
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" |
||||
fi |
||||
|
||||
LIBS="$save_LIBS" |
||||
CFLAGS="$save_CFLAGS" |
||||
|
||||
# More AIX lossage: must compile with xlc_r or cc_r |
||||
if test "x$GCC" != "xyes"; then |
||||
AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) |
||||
else |
||||
PTHREAD_CC=$CC |
||||
fi |
||||
|
||||
# The next part tries to detect GCC inconsistency with -shared on some |
||||
# architectures and systems. The problem is that in certain |
||||
# configurations, when -shared is specified, GCC "forgets" to |
||||
# internally use various flags which are still necessary. |
||||
|
||||
# |
||||
# Prepare the flags |
||||
# |
||||
save_LDFLAGS="$LDFLAGS" |
||||
save_CFLAGS="$CFLAGS" |
||||
save_LIBS="$LIBS" |
||||
save_CC="$CC" |
||||
|
||||
# Try with the flags determined by the earlier checks. |
||||
# |
||||
# -Wl,-z,defs forces link-time symbol resolution, so that the |
||||
# linking checks with -shared actually have any value |
||||
# |
||||
# FIXME: -fPIC is required for -shared on many architectures, |
||||
# so we specify it here, but the right way would probably be to |
||||
# properly detect whether it is actually required. |
||||
CFLAGS="-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS" |
||||
LIBS="$PTHREAD_LIBS $LIBS" |
||||
CC="$PTHREAD_CC" |
||||
|
||||
# In order not to create several levels of indentation, we test |
||||
# the value of "$done" until we find the cure or run out of ideas. |
||||
done="no" |
||||
|
||||
# First, make sure the CFLAGS we added are actually accepted by our |
||||
# compiler. If not (and OS X's ld, for instance, does not accept -z), |
||||
# then we can't do this test. |
||||
if test x"$done" = xno; then |
||||
AC_MSG_CHECKING([whether to check for GCC pthread/shared inconsistencies]) |
||||
AC_TRY_LINK(,, , [done=yes]) |
||||
|
||||
if test "x$done" = xyes ; then |
||||
AC_MSG_RESULT([no]) |
||||
else |
||||
AC_MSG_RESULT([yes]) |
||||
fi |
||||
fi |
||||
|
||||
if test x"$done" = xyes; then |
||||
done="no" |
||||
AC_MSG_CHECKING([whether -pthread is sufficient with -shared]) |
||||
AC_TRY_LINK([#include <pthread.h>], |
||||
[pthread_t th; pthread_join(th, 0); |
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0); |
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], |
||||
[done=yes]) |
||||
|
||||
if test "x$done" = xyes; then |
||||
AC_MSG_RESULT([yes]) |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
fi |
||||
fi |
||||
|
||||
# |
||||
# Linux gcc on some architectures such as mips/mipsel forgets |
||||
# about -lpthread |
||||
# |
||||
if test x"$done" = xno; then |
||||
AC_MSG_CHECKING([whether -lpthread fixes that]) |
||||
LIBS="-lpthread $PTHREAD_LIBS $save_LIBS" |
||||
AC_TRY_LINK([#include <pthread.h>], |
||||
[pthread_t th; pthread_join(th, 0); |
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0); |
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], |
||||
[done=yes]) |
||||
|
||||
if test "x$done" = xyes; then |
||||
AC_MSG_RESULT([yes]) |
||||
PTHREAD_LIBS="-lpthread $PTHREAD_LIBS" |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
fi |
||||
fi |
||||
# |
||||
# FreeBSD 4.10 gcc forgets to use -lc_r instead of -lc |
||||
# |
||||
if test x"$done" = xno; then |
||||
AC_MSG_CHECKING([whether -lc_r fixes that]) |
||||
LIBS="-lc_r $PTHREAD_LIBS $save_LIBS" |
||||
AC_TRY_LINK([#include <pthread.h>], |
||||
[pthread_t th; pthread_join(th, 0); |
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0); |
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], |
||||
[done=yes]) |
||||
|
||||
if test "x$done" = xyes; then |
||||
AC_MSG_RESULT([yes]) |
||||
PTHREAD_LIBS="-lc_r $PTHREAD_LIBS" |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
fi |
||||
fi |
||||
if test x"$done" = xno; then |
||||
# OK, we have run out of ideas |
||||
AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries]) |
||||
|
||||
# so it's not safe to assume that we may use pthreads |
||||
acx_pthread_ok=no |
||||
fi |
||||
|
||||
CFLAGS="$save_CFLAGS" |
||||
LIBS="$save_LIBS" |
||||
CC="$save_CC" |
||||
|
||||
else |
||||
PTHREAD_CC="$CC" |
||||
fi |
||||
|
||||
AC_SUBST(PTHREAD_LIBS) |
||||
AC_SUBST(PTHREAD_CFLAGS) |
||||
AC_SUBST(PTHREAD_CC) |
||||
|
||||
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: |
||||
if test "x$ax_pthread_ok" = "xyes"; then |
||||
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,[1],[Define if you have POSIX threads libraries and header files.]),[$1]) |
||||
: |
||||
else |
||||
ax_pthread_ok=no |
||||
$2 |
||||
fi |
||||
AC_LANG_RESTORE |
||||
])dnl AX_PTHREAD |
@ -0,0 +1,323 @@
@@ -0,0 +1,323 @@
|
||||
# =========================================================================== |
||||
# http://www.nongnu.org/autoconf-archive/ax_python_devel.html |
||||
# =========================================================================== |
||||
# |
||||
# SYNOPSIS |
||||
# |
||||
# AX_PYTHON_DEVEL([version]) |
||||
# |
||||
# DESCRIPTION |
||||
# |
||||
# Note: Defines as a precious variable "PYTHON_VERSION". Don't override it |
||||
# in your configure.ac. |
||||
# |
||||
# This macro checks for Python and tries to get the include path to |
||||
# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS) |
||||
# output variables. It also exports $(PYTHON_EXTRA_LIBS) and |
||||
# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code. |
||||
# |
||||
# You can search for some particular version of Python by passing a |
||||
# parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please |
||||
# note that you *have* to pass also an operator along with the version to |
||||
# match, and pay special attention to the single quotes surrounding the |
||||
# version number. Don't use "PYTHON_VERSION" for this: that environment |
||||
# variable is declared as precious and thus reserved for the end-user. |
||||
# |
||||
# This macro should work for all versions of Python >= 2.1.0. As an end |
||||
# user, you can disable the check for the python version by setting the |
||||
# PYTHON_NOVERSIONCHECK environment variable to something else than the |
||||
# empty string. |
||||
# |
||||
# If you need to use this macro for an older Python version, please |
||||
# contact the authors. We're always open for feedback. |
||||
# |
||||
# LICENSE |
||||
# |
||||
# Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de> |
||||
# Copyright (c) 2009 Alan W. Irwin <irwin@beluga.phys.uvic.ca> |
||||
# Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net> |
||||
# Copyright (c) 2009 Andrew Collier <colliera@ukzn.ac.za> |
||||
# Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org> |
||||
# Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org> |
||||
# |
||||
# This program is free software: you can redistribute it and/or modify it |
||||
# under the terms of the GNU General Public License as published by the |
||||
# Free Software Foundation, either version 3 of the License, or (at your |
||||
# option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, but |
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
||||
# Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License along |
||||
# with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# As a special exception, the respective Autoconf Macro's copyright owner |
||||
# gives unlimited permission to copy, distribute and modify the configure |
||||
# scripts that are the output of Autoconf when processing the Macro. You |
||||
# need not follow the terms of the GNU General Public License when using |
||||
# or distributing such scripts, even though portions of the text of the |
||||
# Macro appear in them. The GNU General Public License (GPL) does govern |
||||
# all other use of the material that constitutes the Autoconf Macro. |
||||
# |
||||
# This special exception to the GPL applies to versions of the Autoconf |
||||
# Macro released by the Autoconf Archive. When you make and distribute a |
||||
# modified version of the Autoconf Macro, you may extend this special |
||||
# exception to the GPL to apply to your modified version as well. |
||||
|
||||
AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL]) |
||||
AC_DEFUN([AX_PYTHON_DEVEL],[ |
||||
# |
||||
# Allow the use of a (user set) custom python version |
||||
# |
||||
AC_ARG_VAR([PYTHON_VERSION],[The installed Python |
||||
version to use, for example '2.3'. This string |
||||
will be appended to the Python interpreter |
||||
canonical name.]) |
||||
|
||||
AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]]) |
||||
if test -z "$PYTHON"; then |
||||
AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path]) |
||||
PYTHON_VERSION="" |
||||
fi |
||||
|
||||
# |
||||
# Check for a version of Python >= 2.1.0 |
||||
# |
||||
AC_MSG_CHECKING([for a version of Python >= '2.1.0']) |
||||
ac_supports_python_ver=`$PYTHON -c "import sys; \ |
||||
ver = sys.version.split ()[[0]]; \ |
||||
print (ver >= '2.1.0')"` |
||||
if test "$ac_supports_python_ver" != "True"; then |
||||
if test -z "$PYTHON_NOVERSIONCHECK"; then |
||||
AC_MSG_RESULT([no]) |
||||
AC_MSG_FAILURE([ |
||||
This version of the AC@&t@_PYTHON_DEVEL macro |
||||
doesn't work properly with versions of Python before |
||||
2.1.0. You may need to re-run configure, setting the |
||||
variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG, |
||||
PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. |
||||
Moreover, to disable this check, set PYTHON_NOVERSIONCHECK |
||||
to something else than an empty string. |
||||
]) |
||||
else |
||||
AC_MSG_RESULT([skip at user request]) |
||||
fi |
||||
else |
||||
AC_MSG_RESULT([yes]) |
||||
fi |
||||
|
||||
# |
||||
# if the macro parameter ``version'' is set, honour it |
||||
# |
||||
if test -n "$1"; then |
||||
AC_MSG_CHECKING([for a version of Python $1]) |
||||
ac_supports_python_ver=`$PYTHON -c "import sys; \ |
||||
ver = sys.version.split ()[[0]]; \ |
||||
print (ver $1)"` |
||||
if test "$ac_supports_python_ver" = "True"; then |
||||
AC_MSG_RESULT([yes]) |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
AC_MSG_ERROR([this package requires Python $1. |
||||
If you have it installed, but it isn't the default Python |
||||
interpreter in your system path, please pass the PYTHON_VERSION |
||||
variable to configure. See ``configure --help'' for reference. |
||||
]) |
||||
PYTHON_VERSION="" |
||||
fi |
||||
fi |
||||
|
||||
# |
||||
# Check if you have distutils, else fail |
||||
# |
||||
AC_MSG_CHECKING([for the distutils Python package]) |
||||
ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` |
||||
if test -z "$ac_distutils_result"; then |
||||
AC_MSG_RESULT([yes]) |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
AC_MSG_ERROR([cannot import Python module "distutils". |
||||
Please check your Python installation. The error was: |
||||
$ac_distutils_result]) |
||||
PYTHON_VERSION="" |
||||
fi |
||||
|
||||
# |
||||
# Check for Python include path |
||||
# |
||||
AC_MSG_CHECKING([for Python include path]) |
||||
if test -z "$PYTHON_CPPFLAGS"; then |
||||
python_path=`$PYTHON -c "import distutils.sysconfig; \ |
||||
print (distutils.sysconfig.get_python_inc ());"` |
||||
if test -n "${python_path}"; then |
||||
python_path="-I$python_path" |
||||
fi |
||||
PYTHON_CPPFLAGS=$python_path |
||||
fi |
||||
AC_MSG_RESULT([$PYTHON_CPPFLAGS]) |
||||
AC_SUBST([PYTHON_CPPFLAGS]) |
||||
|
||||
# |
||||
# Check for Python library path |
||||
# |
||||
AC_MSG_CHECKING([for Python library path]) |
||||
if test -z "$PYTHON_LDFLAGS"; then |
||||
# (makes two attempts to ensure we've got a version number |
||||
# from the interpreter) |
||||
ac_python_version=`cat<<EOD | $PYTHON - |
||||
|
||||
# join all versioning strings, on some systems |
||||
# major/minor numbers could be in different list elements |
||||
from distutils.sysconfig import * |
||||
ret = '' |
||||
for e in get_config_vars ('VERSION'): |
||||
if (e != None): |
||||
ret += e |
||||
print (ret) |
||||
EOD` |
||||
|
||||
if test -z "$ac_python_version"; then |
||||
if test -n "$PYTHON_VERSION"; then |
||||
ac_python_version=$PYTHON_VERSION |
||||
else |
||||
ac_python_version=`$PYTHON -c "import sys; \ |
||||
print (sys.version[[:3]])"` |
||||
fi |
||||
fi |
||||
|
||||
# Make the versioning information available to the compiler |
||||
AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"], |
||||
[If available, contains the Python version number currently in use.]) |
||||
|
||||
# First, the library directory: |
||||
ac_python_libdir=`cat<<EOD | $PYTHON - |
||||
|
||||
# There should be only one |
||||
import distutils.sysconfig |
||||
for e in distutils.sysconfig.get_config_vars ('LIBDIR'): |
||||
if e != None: |
||||
print (e) |
||||
break |
||||
EOD` |
||||
|
||||
# Before checking for libpythonX.Y, we need to know |
||||
# the extension the OS we're on uses for libraries |
||||
# (we take the first one, if there's more than one fix me!): |
||||
ac_python_soext=`$PYTHON -c \ |
||||
"import distutils.sysconfig; \ |
||||
print (distutils.sysconfig.get_config_vars('SO')[[0]])"` |
||||
|
||||
# Now, for the library: |
||||
ac_python_soname=`$PYTHON -c \ |
||||
"import distutils.sysconfig; \ |
||||
print (distutils.sysconfig.get_config_vars('LDLIBRARY')[[0]])"` |
||||
|
||||
# Strip away extension from the end to canonicalize its name: |
||||
ac_python_library=`echo "$ac_python_soname" | sed "s/${ac_python_soext}$//"` |
||||
|
||||
# This small piece shamelessly adapted from PostgreSQL python macro; |
||||
# credits goes to momjian, I think. I'd like to put the right name |
||||
# in the credits, if someone can point me in the right direction... ? |
||||
# |
||||
if test -n "$ac_python_libdir" -a -n "$ac_python_library" \ |
||||
-a x"$ac_python_library" != x"$ac_python_soname" |
||||
then |
||||
# use the official shared library |
||||
ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"` |
||||
PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library" |
||||
else |
||||
# old way: use libpython from python_configdir |
||||
ac_python_libdir=`$PYTHON -c \ |
||||
"from distutils.sysconfig import get_python_lib as f; \ |
||||
import os; \ |
||||
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"` |
||||
PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version" |
||||
fi |
||||
|
||||
if test -z "PYTHON_LDFLAGS"; then |
||||
AC_MSG_ERROR([ |
||||
Cannot determine location of your Python DSO. Please check it was installed with |
||||
dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand. |
||||
]) |
||||
fi |
||||
fi |
||||
AC_MSG_RESULT([$PYTHON_LDFLAGS]) |
||||
AC_SUBST([PYTHON_LDFLAGS]) |
||||
|
||||
# |
||||
# Check for site packages |
||||
# |
||||
AC_MSG_CHECKING([for Python site-packages path]) |
||||
if test -z "$PYTHON_SITE_PKG"; then |
||||
PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \ |
||||
print (distutils.sysconfig.get_python_lib(0,0));"` |
||||
fi |
||||
AC_MSG_RESULT([$PYTHON_SITE_PKG]) |
||||
AC_SUBST([PYTHON_SITE_PKG]) |
||||
|
||||
# |
||||
# libraries which must be linked in when embedding |
||||
# |
||||
AC_MSG_CHECKING(python extra libraries) |
||||
if test -z "$PYTHON_EXTRA_LIBS"; then |
||||
PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \ |
||||
conf = distutils.sysconfig.get_config_var; \ |
||||
print (conf('LOCALMODLIBS') + ' ' + conf('LIBS'))"` |
||||
fi |
||||
AC_MSG_RESULT([$PYTHON_EXTRA_LIBS]) |
||||
AC_SUBST(PYTHON_EXTRA_LIBS) |
||||
|
||||
# |
||||
# linking flags needed when embedding |
||||
# |
||||
AC_MSG_CHECKING(python extra linking flags) |
||||
if test -z "$PYTHON_EXTRA_LDFLAGS"; then |
||||
PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \ |
||||
conf = distutils.sysconfig.get_config_var; \ |
||||
print (conf('LINKFORSHARED'))"` |
||||
fi |
||||
AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS]) |
||||
AC_SUBST(PYTHON_EXTRA_LDFLAGS) |
||||
|
||||
# |
||||
# final check to see if everything compiles alright |
||||
# |
||||
AC_MSG_CHECKING([consistency of all components of python development environment]) |
||||
# save current global flags |
||||
ac_save_LIBS="$LIBS" |
||||
ac_save_CPPFLAGS="$CPPFLAGS" |
||||
LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS" |
||||
CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS" |
||||
AC_LANG_PUSH([C]) |
||||
AC_LINK_IFELSE([ |
||||
AC_LANG_PROGRAM([[#include <Python.h>]], |
||||
[[Py_Initialize();]]) |
||||
],[pythonexists=yes],[pythonexists=no]) |
||||
AC_LANG_POP([C]) |
||||
# turn back to default flags |
||||
CPPFLAGS="$ac_save_CPPFLAGS" |
||||
LIBS="$ac_save_LIBS" |
||||
|
||||
AC_MSG_RESULT([$pythonexists]) |
||||
|
||||
if test ! "x$pythonexists" = "xyes"; then |
||||
AC_MSG_FAILURE([ |
||||
Could not link test program to Python. Maybe the main Python library has been |
||||
installed in some non-standard library path. If so, pass it to configure, |
||||
via the LDFLAGS environment variable. |
||||
Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib" |
||||
============================================================================ |
||||
ERROR! |
||||
You probably have to install the development version of the Python package |
||||
for your distribution. The exact name of this package varies among them. |
||||
============================================================================ |
||||
]) |
||||
PYTHON_VERSION="" |
||||
fi |
||||
|
||||
# |
||||
# all done! |
||||
# |
||||
]) |
@ -0,0 +1,543 @@
@@ -0,0 +1,543 @@
|
||||
#! /bin/sh |
||||
# Output a system dependent set of variables, describing how to set the |
||||
# run time search path of shared libraries in an executable. |
||||
# |
||||
# Copyright 1996-2003 Free Software Foundation, Inc. |
||||
# Taken from GNU libtool, 2001 |
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 |
||||
# |
||||
# This program is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 2 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, but |
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||||
# General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
# |
||||
# As a special exception to the GNU General Public License, if you |
||||
# distribute this file as part of a program that contains a |
||||
# configuration script generated by Autoconf, you may include it under |
||||
# the same distribution terms that you use for the rest of that program. |
||||
# |
||||
# The first argument passed to this file is the canonical host specification, |
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM |
||||
# or |
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM |
||||
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld |
||||
# should be set by the caller. |
||||
# |
||||
# The set of defined variables is at the end of this script. |
||||
|
||||
# Known limitations: |
||||
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer |
||||
# than 256 bytes, otherwise the compiler driver will dump core. The only |
||||
# known workaround is to choose shorter directory names for the build |
||||
# directory and/or the installation directory. |
||||
|
||||
# All known linkers require a `.a' archive for static linking (except M$VC, |
||||
# which needs '.lib'). |
||||
libext=a |
||||
shrext=.so |
||||
|
||||
host="$1" |
||||
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` |
||||
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` |
||||
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` |
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. |
||||
|
||||
wl= |
||||
if test "$GCC" = yes; then |
||||
wl='-Wl,' |
||||
else |
||||
case "$host_os" in |
||||
aix*) |
||||
wl='-Wl,' |
||||
;; |
||||
mingw* | pw32* | os2*) |
||||
;; |
||||
hpux9* | hpux10* | hpux11*) |
||||
wl='-Wl,' |
||||
;; |
||||
irix5* | irix6* | nonstopux*) |
||||
wl='-Wl,' |
||||
;; |
||||
newsos6) |
||||
;; |
||||
linux*) |
||||
case $CC in |
||||
icc|ecc) |
||||
wl='-Wl,' |
||||
;; |
||||
ccc) |
||||
wl='-Wl,' |
||||
;; |
||||
esac |
||||
;; |
||||
osf3* | osf4* | osf5*) |
||||
wl='-Wl,' |
||||
;; |
||||
sco3.2v5*) |
||||
;; |
||||
solaris*) |
||||
wl='-Wl,' |
||||
;; |
||||
sunos4*) |
||||
wl='-Qoption ld ' |
||||
;; |
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) |
||||
wl='-Wl,' |
||||
;; |
||||
sysv4*MP*) |
||||
;; |
||||
uts4*) |
||||
;; |
||||
esac |
||||
fi |
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. |
||||
|
||||
hardcode_libdir_flag_spec= |
||||
hardcode_libdir_separator= |
||||
hardcode_direct=no |
||||
hardcode_minus_L=no |
||||
|
||||
case "$host_os" in |
||||
cygwin* | mingw* | pw32*) |
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time |
||||
# When not using gcc, we currently assume that we are using |
||||
# Microsoft Visual C++. |
||||
if test "$GCC" != yes; then |
||||
with_gnu_ld=no |
||||
fi |
||||
;; |
||||
openbsd*) |
||||
with_gnu_ld=no |
||||
;; |
||||
esac |
||||
|
||||
ld_shlibs=yes |
||||
if test "$with_gnu_ld" = yes; then |
||||
case "$host_os" in |
||||
aix[3-9]*) |
||||
# On AIX/PPC, the GNU linker is very broken |
||||
if test "$host_cpu" != ia64; then |
||||
ld_shlibs=no |
||||
fi |
||||
;; |
||||
amigaos*) |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
hardcode_minus_L=yes |
||||
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports |
||||
# that the semantics of dynamic libraries on AmigaOS, at least up |
||||
# to version 4, is to share data among multiple programs linked |
||||
# with the same dynamic library. Since this doesn't match the |
||||
# behavior of shared libraries on other platforms, we can use |
||||
# them. |
||||
ld_shlibs=no |
||||
;; |
||||
beos*) |
||||
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then |
||||
: |
||||
else |
||||
ld_shlibs=no |
||||
fi |
||||
;; |
||||
cygwin* | mingw* | pw32*) |
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is |
||||
# no search path for DLLs. |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then |
||||
: |
||||
else |
||||
ld_shlibs=no |
||||
fi |
||||
;; |
||||
netbsd*) |
||||
;; |
||||
solaris* | sysv5*) |
||||
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then |
||||
ld_shlibs=no |
||||
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then |
||||
: |
||||
else |
||||
ld_shlibs=no |
||||
fi |
||||
;; |
||||
sunos4*) |
||||
hardcode_direct=yes |
||||
;; |
||||
*) |
||||
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then |
||||
: |
||||
else |
||||
ld_shlibs=no |
||||
fi |
||||
;; |
||||
esac |
||||
if test "$ld_shlibs" = yes; then |
||||
# Unlike libtool, we use -rpath here, not --rpath, since the documented |
||||
# option of GNU ld is called -rpath, not --rpath. |
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' |
||||
fi |
||||
else |
||||
case "$host_os" in |
||||
aix3*) |
||||
# Note: this linker hardcodes the directories in LIBPATH if there |
||||
# are no directories specified by -L. |
||||
hardcode_minus_L=yes |
||||
if test "$GCC" = yes; then |
||||
# Neither direct hardcoding nor static linking is supported with a |
||||
# broken collect2. |
||||
hardcode_direct=unsupported |
||||
fi |
||||
;; |
||||
aix[4-9]*) |
||||
if test "$host_cpu" = ia64; then |
||||
# On IA64, the linker does run time linking by default, so we don't |
||||
# have to do anything special. |
||||
aix_use_runtimelinking=no |
||||
else |
||||
aix_use_runtimelinking=no |
||||
# Test if we are trying to use run time linking or normal |
||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we |
||||
# need to do runtime linking. |
||||
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) |
||||
for ld_flag in $LDFLAGS; do |
||||
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then |
||||
aix_use_runtimelinking=yes |
||||
break |
||||
fi |
||||
done |
||||
esac |
||||
fi |
||||
hardcode_direct=yes |
||||
hardcode_libdir_separator=':' |
||||
if test "$GCC" = yes; then |
||||
case $host_os in aix4.[012]|aix4.[012].*) |
||||
collect2name=`${CC} -print-prog-name=collect2` |
||||
if test -f "$collect2name" && \ |
||||
strings "$collect2name" | grep resolve_lib_name >/dev/null |
||||
then |
||||
# We have reworked collect2 |
||||
hardcode_direct=yes |
||||
else |
||||
# We have old collect2 |
||||
hardcode_direct=unsupported |
||||
hardcode_minus_L=yes |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
hardcode_libdir_separator= |
||||
fi |
||||
esac |
||||
fi |
||||
# Begin _LT_AC_SYS_LIBPATH_AIX. |
||||
echo 'int main () { return 0; }' > conftest.c |
||||
${CC} ${LDFLAGS} conftest.c -o conftest |
||||
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } |
||||
}'` |
||||
if test -z "$aix_libpath"; then |
||||
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } |
||||
}'` |
||||
fi |
||||
if test -z "$aix_libpath"; then |
||||
aix_libpath="/usr/lib:/lib" |
||||
fi |
||||
rm -f conftest.c conftest |
||||
# End _LT_AC_SYS_LIBPATH_AIX. |
||||
if test "$aix_use_runtimelinking" = yes; then |
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" |
||||
else |
||||
if test "$host_cpu" = ia64; then |
||||
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' |
||||
else |
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" |
||||
fi |
||||
fi |
||||
;; |
||||
amigaos*) |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
hardcode_minus_L=yes |
||||
# see comment about different semantics on the GNU ld section |
||||
ld_shlibs=no |
||||
;; |
||||
bsdi4*) |
||||
;; |
||||
cygwin* | mingw* | pw32*) |
||||
# When not using gcc, we currently assume that we are using |
||||
# Microsoft Visual C++. |
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is |
||||
# no search path for DLLs. |
||||
hardcode_libdir_flag_spec=' ' |
||||
libext=lib |
||||
;; |
||||
darwin* | rhapsody*) |
||||
if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then |
||||
hardcode_direct=no |
||||
fi |
||||
;; |
||||
dgux*) |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
;; |
||||
freebsd2.2*) |
||||
hardcode_libdir_flag_spec='-R$libdir' |
||||
hardcode_direct=yes |
||||
;; |
||||
freebsd2*) |
||||
hardcode_direct=yes |
||||
hardcode_minus_L=yes |
||||
;; |
||||
freebsd*) |
||||
hardcode_libdir_flag_spec='-R$libdir' |
||||
hardcode_direct=yes |
||||
;; |
||||
hpux9*) |
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' |
||||
hardcode_libdir_separator=: |
||||
hardcode_direct=yes |
||||
# hardcode_minus_L: Not really in the search PATH, |
||||
# but as the default location of the library. |
||||
hardcode_minus_L=yes |
||||
;; |
||||
hpux10* | hpux11*) |
||||
if test "$with_gnu_ld" = no; then |
||||
case "$host_cpu" in |
||||
hppa*64*) |
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' |
||||
hardcode_libdir_separator=: |
||||
hardcode_direct=no |
||||
;; |
||||
ia64*) |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
hardcode_direct=no |
||||
# hardcode_minus_L: Not really in the search PATH, |
||||
# but as the default location of the library. |
||||
hardcode_minus_L=yes |
||||
;; |
||||
*) |
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' |
||||
hardcode_libdir_separator=: |
||||
hardcode_direct=yes |
||||
# hardcode_minus_L: Not really in the search PATH, |
||||
# but as the default location of the library. |
||||
hardcode_minus_L=yes |
||||
;; |
||||
esac |
||||
fi |
||||
;; |
||||
irix5* | irix6* | nonstopux*) |
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' |
||||
hardcode_libdir_separator=: |
||||
;; |
||||
netbsd*) |
||||
hardcode_libdir_flag_spec='-R$libdir' |
||||
hardcode_direct=yes |
||||
;; |
||||
newsos6) |
||||
hardcode_direct=yes |
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' |
||||
hardcode_libdir_separator=: |
||||
;; |
||||
openbsd*) |
||||
hardcode_direct=yes |
||||
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then |
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir' |
||||
else |
||||
case "$host_os" in |
||||
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) |
||||
hardcode_libdir_flag_spec='-R$libdir' |
||||
;; |
||||
*) |
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir' |
||||
;; |
||||
esac |
||||
fi |
||||
;; |
||||
os2*) |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
hardcode_minus_L=yes |
||||
;; |
||||
osf3*) |
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' |
||||
hardcode_libdir_separator=: |
||||
;; |
||||
osf4* | osf5*) |
||||
if test "$GCC" = yes; then |
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' |
||||
else |
||||
# Both cc and cxx compiler support -rpath directly |
||||
hardcode_libdir_flag_spec='-rpath $libdir' |
||||
fi |
||||
hardcode_libdir_separator=: |
||||
;; |
||||
sco3.2v5*) |
||||
;; |
||||
solaris*) |
||||
hardcode_libdir_flag_spec='-R$libdir' |
||||
;; |
||||
sunos4*) |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
hardcode_direct=yes |
||||
hardcode_minus_L=yes |
||||
;; |
||||
sysv4) |
||||
case $host_vendor in |
||||
sni) |
||||
hardcode_direct=yes # is this really true??? |
||||
;; |
||||
siemens) |
||||
hardcode_direct=no |
||||
;; |
||||
motorola) |
||||
hardcode_direct=no #Motorola manual says yes, but my tests say they lie |
||||
;; |
||||
esac |
||||
;; |
||||
sysv4.3*) |
||||
;; |
||||
sysv4*MP*) |
||||
if test -d /usr/nec; then |
||||
ld_shlibs=yes |
||||
fi |
||||
;; |
||||
sysv4.2uw2*) |
||||
hardcode_direct=yes |
||||
hardcode_minus_L=no |
||||
;; |
||||
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) |
||||
;; |
||||
sysv5*) |
||||
hardcode_libdir_flag_spec= |
||||
;; |
||||
uts4*) |
||||
hardcode_libdir_flag_spec='-L$libdir' |
||||
;; |
||||
*) |
||||
ld_shlibs=no |
||||
;; |
||||
esac |
||||
fi |
||||
|
||||
# Check dynamic linker characteristics |
||||
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. |
||||
libname_spec='lib$name' |
||||
case "$host_os" in |
||||
aix3*) |
||||
;; |
||||
aix[4-9]*) |
||||
;; |
||||
amigaos*) |
||||
;; |
||||
beos*) |
||||
;; |
||||
bsdi4*) |
||||
;; |
||||
cygwin* | mingw* | pw32*) |
||||
shrext=.dll |
||||
;; |
||||
darwin* | rhapsody*) |
||||
shrext=.dylib |
||||
;; |
||||
dgux*) |
||||
;; |
||||
freebsd*) |
||||
;; |
||||
gnu*) |
||||
;; |
||||
hpux9* | hpux10* | hpux11*) |
||||
case "$host_cpu" in |
||||
ia64*) |
||||
shrext=.so |
||||
;; |
||||
hppa*64*) |
||||
shrext=.sl |
||||
;; |
||||
*) |
||||
shrext=.sl |
||||
;; |
||||
esac |
||||
;; |
||||
irix5* | irix6* | nonstopux*) |
||||
case "$host_os" in |
||||
irix5* | nonstopux*) |
||||
libsuff= shlibsuff= |
||||
;; |
||||
*) |
||||
case $LD in |
||||
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; |
||||
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; |
||||
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; |
||||
*) libsuff= shlibsuff= ;; |
||||
esac |
||||
;; |
||||
esac |
||||
;; |
||||
linux*oldld* | linux*aout* | linux*coff*) |
||||
;; |
||||
linux*) |
||||
;; |
||||
netbsd*) |
||||
;; |
||||
newsos6) |
||||
;; |
||||
nto-qnx) |
||||
;; |
||||
openbsd*) |
||||
;; |
||||
os2*) |
||||
libname_spec='$name' |
||||
shrext=.dll |
||||
;; |
||||
osf3* | osf4* | osf5*) |
||||
;; |
||||
sco3.2v5*) |
||||
;; |
||||
solaris*) |
||||
;; |
||||
sunos4*) |
||||
;; |
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) |
||||
;; |
||||
sysv4*MP*) |
||||
;; |
||||
uts4*) |
||||
;; |
||||
esac |
||||
|
||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g' |
||||
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` |
||||
shlibext=`echo "$shrext" | sed -e 's,^\.,,'` |
||||
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` |
||||
|
||||
sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF |
||||
|
||||
# How to pass a linker flag through the compiler. |
||||
wl="$escaped_wl" |
||||
|
||||
# Static library suffix (normally "a"). |
||||
libext="$libext" |
||||
|
||||
# Shared library suffix (normally "so"). |
||||
shlibext="$shlibext" |
||||
|
||||
# Flag to hardcode \$libdir into a binary during linking. |
||||
# This must work even if \$libdir does not exist. |
||||
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" |
||||
|
||||
# Whether we need a single -rpath flag with a separated argument. |
||||
hardcode_libdir_separator="$hardcode_libdir_separator" |
||||
|
||||
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the |
||||
# resulting binary. |
||||
hardcode_direct="$hardcode_direct" |
||||
|
||||
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the |
||||
# resulting binary. |
||||
hardcode_minus_L="$hardcode_minus_L" |
||||
|
||||
EOF |
@ -0,0 +1,818 @@
@@ -0,0 +1,818 @@
|
||||
## concatentation of files in gettext-0.14.5/autoconf-lib-link/m4 |
||||
# lib-ld.m4 serial 3 (gettext-0.13) |
||||
dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. |
||||
dnl This file is free software; the Free Software Foundation |
||||
dnl gives unlimited permission to copy and/or distribute it, |
||||
dnl with or without modifications, as long as this notice is preserved. |
||||
|
||||
dnl Subroutines of libtool.m4, |
||||
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision |
||||
dnl with libtool.m4. |
||||
|
||||
dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. |
||||
AC_DEFUN([AC_LIB_PROG_LD_GNU], |
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, |
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v. |
||||
case `$LD -v 2>&1 </dev/null` in |
||||
*GNU* | *'with BFD'*) |
||||
acl_cv_prog_gnu_ld=yes ;; |
||||
*) |
||||
acl_cv_prog_gnu_ld=no ;; |
||||
esac]) |
||||
with_gnu_ld=$acl_cv_prog_gnu_ld |
||||
]) |
||||
|
||||
dnl From libtool-1.4. Sets the variable LD. |
||||
AC_DEFUN([AC_LIB_PROG_LD], |
||||
[AC_ARG_WITH(gnu-ld, |
||||
[AS_HELP_STRING([--with-gnu-ld], |
||||
[assume the C compiler uses GNU ld @<:@default=no@:>@])], |
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) |
||||
AC_REQUIRE([AC_PROG_CC])dnl |
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl |
||||
# Prepare PATH_SEPARATOR. |
||||
# The user is always right. |
||||
if test "${PATH_SEPARATOR+set}" != set; then |
||||
echo "#! /bin/sh" >conf$$.sh |
||||
echo "exit 0" >>conf$$.sh |
||||
chmod +x conf$$.sh |
||||
if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then |
||||
PATH_SEPARATOR=';' |
||||
else |
||||
PATH_SEPARATOR=: |
||||
fi |
||||
rm -f conf$$.sh |
||||
fi |
||||
ac_prog=ld |
||||
if test "$GCC" = yes; then |
||||
# Check if gcc -print-prog-name=ld gives a path. |
||||
AC_MSG_CHECKING([for ld used by GCC]) |
||||
case $host in |
||||
*-*-mingw*) |
||||
# gcc leaves a trailing carriage return which upsets mingw |
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; |
||||
*) |
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; |
||||
esac |
||||
case $ac_prog in |
||||
# Accept absolute paths. |
||||
[[\\/]* | [A-Za-z]:[\\/]*)] |
||||
[re_direlt='/[^/][^/]*/\.\./'] |
||||
# Canonicalize the path of ld |
||||
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` |
||||
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do |
||||
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` |
||||
done |
||||
test -z "$LD" && LD="$ac_prog" |
||||
;; |
||||
"") |
||||
# If it fails, then pretend we aren't using GCC. |
||||
ac_prog=ld |
||||
;; |
||||
*) |
||||
# If it is relative, then search for the first ld in PATH. |
||||
with_gnu_ld=unknown |
||||
;; |
||||
esac |
||||
elif test "$with_gnu_ld" = yes; then |
||||
AC_MSG_CHECKING([for GNU ld]) |
||||
else |
||||
AC_MSG_CHECKING([for non-GNU ld]) |
||||
fi |
||||
AC_CACHE_VAL(acl_cv_path_LD, |
||||
[if test -z "$LD"; then |
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" |
||||
for ac_dir in $PATH; do |
||||
test -z "$ac_dir" && ac_dir=. |
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then |
||||
acl_cv_path_LD="$ac_dir/$ac_prog" |
||||
# Check to see if the program is GNU ld. I'd rather use --version, |
||||
# but apparently some GNU ld's only accept -v. |
||||
# Break only if it was the GNU/non-GNU ld that we prefer. |
||||
case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in |
||||
*GNU* | *'with BFD'*) |
||||
test "$with_gnu_ld" != no && break ;; |
||||
*) |
||||
test "$with_gnu_ld" != yes && break ;; |
||||
esac |
||||
fi |
||||
done |
||||
IFS="$ac_save_ifs" |
||||
else |
||||
acl_cv_path_LD="$LD" # Let the user override the test with a path. |
||||
fi]) |
||||
LD="$acl_cv_path_LD" |
||||
if test -n "$LD"; then |
||||
AC_MSG_RESULT($LD) |
||||
else |
||||
AC_MSG_RESULT(no) |
||||
fi |
||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) |
||||
AC_LIB_PROG_LD_GNU |
||||
]) |
||||
# lib-link.m4 serial 6 (gettext-0.14.3) |
||||
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. |
||||
dnl This file is free software; the Free Software Foundation |
||||
dnl gives unlimited permission to copy and/or distribute it, |
||||
dnl with or without modifications, as long as this notice is preserved. |
||||
|
||||
dnl From Bruno Haible. |
||||
|
||||
AC_PREREQ(2.50) |
||||
|
||||
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and |
||||
dnl the libraries corresponding to explicit and implicit dependencies. |
||||
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and |
||||
dnl augments the CPPFLAGS variable. |
||||
AC_DEFUN([AC_LIB_LINKFLAGS], |
||||
[ |
||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
||||
dnl AC_REQUIRE([AC_LIB_RPATH]) |
||||
define([Name],[translit([$1],[./-], [___])]) |
||||
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], |
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) |
||||
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ |
||||
AC_LIB_LINKFLAGS_BODY([$1], [$2]) |
||||
ac_cv_lib[]Name[]_libs="$LIB[]NAME" |
||||
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" |
||||
ac_cv_lib[]Name[]_cppflags="$INC[]NAME" |
||||
]) |
||||
LIB[]NAME="$ac_cv_lib[]Name[]_libs" |
||||
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" |
||||
INC[]NAME="$ac_cv_lib[]Name[]_cppflags" |
||||
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) |
||||
AC_SUBST([LIB]NAME) |
||||
AC_SUBST([LTLIB]NAME) |
||||
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the |
||||
dnl results of this search when this library appears as a dependency. |
||||
HAVE_LIB[]NAME=yes |
||||
undefine([Name]) |
||||
undefine([NAME]) |
||||
]) |
||||
|
||||
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) |
||||
dnl searches for libname and the libraries corresponding to explicit and |
||||
dnl implicit dependencies, together with the specified include files and |
||||
dnl the ability to compile and link the specified testcode. If found, it |
||||
dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and |
||||
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and |
||||
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs |
||||
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. |
||||
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], |
||||
[ |
||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
||||
dnl AC_REQUIRE([AC_LIB_RPATH]) |
||||
define([Name],[translit([$1],[./-], [___])]) |
||||
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], |
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) |
||||
|
||||
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME |
||||
dnl accordingly. |
||||
AC_LIB_LINKFLAGS_BODY([$1], [$2]) |
||||
|
||||
dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, |
||||
dnl because if the user has installed lib[]Name and not disabled its use |
||||
dnl via --without-lib[]Name-prefix, he wants to use it. |
||||
ac_save_CPPFLAGS="$CPPFLAGS" |
||||
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) |
||||
|
||||
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ |
||||
ac_save_LIBS="$LIBS" |
||||
LIBS="$LIBS $LIB[]NAME" |
||||
AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) |
||||
LIBS="$ac_save_LIBS" |
||||
]) |
||||
if test "$ac_cv_lib[]Name" = yes; then |
||||
HAVE_LIB[]NAME=yes |
||||
AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) |
||||
AC_MSG_CHECKING([how to link with lib[]$1]) |
||||
AC_MSG_RESULT([$LIB[]NAME]) |
||||
else |
||||
HAVE_LIB[]NAME=no |
||||
dnl If $LIB[]NAME didn't lead to a usable library, we don't need |
||||
dnl $INC[]NAME either. |
||||
CPPFLAGS="$ac_save_CPPFLAGS" |
||||
LIB[]NAME= |
||||
LTLIB[]NAME= |
||||
fi |
||||
AC_SUBST([HAVE_LIB]NAME) |
||||
AC_SUBST([LIB]NAME) |
||||
AC_SUBST([LTLIB]NAME) |
||||
undefine([Name]) |
||||
undefine([NAME]) |
||||
]) |
||||
|
||||
dnl Determine the platform dependent parameters needed to use rpath: |
||||
dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, |
||||
dnl hardcode_direct, hardcode_minus_L. |
||||
AC_DEFUN([AC_LIB_RPATH], |
||||
[ |
||||
dnl Tell automake >= 1.10 to complain if config.rpath is missing. |
||||
m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) |
||||
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS |
||||
dnl AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld |
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host |
||||
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir |
||||
AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ |
||||
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ |
||||
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh |
||||
. ./conftest.sh |
||||
rm -f ./conftest.sh |
||||
acl_cv_rpath=done |
||||
]) |
||||
wl="$acl_cv_wl" |
||||
libext="$acl_cv_libext" |
||||
shlibext="$acl_cv_shlibext" |
||||
hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" |
||||
hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" |
||||
hardcode_direct="$acl_cv_hardcode_direct" |
||||
hardcode_minus_L="$acl_cv_hardcode_minus_L" |
||||
dnl Determine whether the user wants rpath handling at all. |
||||
dnl AC_ARG_ENABLE(rpath, |
||||
dnl [ --disable-rpath do not hardcode runtime library paths], |
||||
dnl :, enable_rpath=yes) |
||||
]) |
||||
|
||||
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and |
||||
dnl the libraries corresponding to explicit and implicit dependencies. |
||||
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. |
||||
AC_DEFUN([AC_LIB_LINKFLAGS_BODY], |
||||
[ |
||||
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], |
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) |
||||
dnl By default, look in $includedir and $libdir. |
||||
use_additional=yes |
||||
AC_LIB_WITH_FINAL_PREFIX([ |
||||
eval additional_includedir=\"$includedir\" |
||||
eval additional_libdir=\"$libdir\" |
||||
]) |
||||
AC_LIB_ARG_WITH([lib$1-prefix], |
||||
[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib |
||||
--without-lib$1-prefix don't search for lib$1 in includedir and libdir], |
||||
[ |
||||
if test "X$withval" = "Xno"; then |
||||
use_additional=no |
||||
else |
||||
if test "X$withval" = "X"; then |
||||
AC_LIB_WITH_FINAL_PREFIX([ |
||||
eval additional_includedir=\"$includedir\" |
||||
eval additional_libdir=\"$libdir\" |
||||
]) |
||||
else |
||||
additional_includedir="$withval/include" |
||||
additional_libdir="$withval/lib" |
||||
fi |
||||
fi |
||||
]) |
||||
dnl Search the library and its dependencies in $additional_libdir and |
||||
dnl $LDFLAGS. Using breadth-first-seach. |
||||
LIB[]NAME= |
||||
LTLIB[]NAME= |
||||
INC[]NAME= |
||||
rpathdirs= |
||||
ltrpathdirs= |
||||
names_already_handled= |
||||
names_next_round='$1 $2' |
||||
while test -n "$names_next_round"; do |
||||
names_this_round="$names_next_round" |
||||
names_next_round= |
||||
for name in $names_this_round; do |
||||
already_handled= |
||||
for n in $names_already_handled; do |
||||
if test "$n" = "$name"; then |
||||
already_handled=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$already_handled"; then |
||||
names_already_handled="$names_already_handled $name" |
||||
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS |
||||
dnl or AC_LIB_HAVE_LINKFLAGS call. |
||||
uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` |
||||
eval value=\"\$HAVE_LIB$uppername\" |
||||
if test -n "$value"; then |
||||
if test "$value" = yes; then |
||||
eval value=\"\$LIB$uppername\" |
||||
test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" |
||||
eval value=\"\$LTLIB$uppername\" |
||||
test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" |
||||
else |
||||
dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined |
||||
dnl that this library doesn't exist. So just drop it. |
||||
: |
||||
fi |
||||
else |
||||
dnl Search the library lib$name in $additional_libdir and $LDFLAGS |
||||
dnl and the already constructed $LIBNAME/$LTLIBNAME. |
||||
found_dir= |
||||
found_la= |
||||
found_so= |
||||
found_a= |
||||
if test $use_additional = yes; then |
||||
if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then |
||||
found_dir="$additional_libdir" |
||||
found_so="$additional_libdir/lib$name.$shlibext" |
||||
if test -f "$additional_libdir/lib$name.la"; then |
||||
found_la="$additional_libdir/lib$name.la" |
||||
fi |
||||
else |
||||
if test -f "$additional_libdir/lib$name.$libext"; then |
||||
found_dir="$additional_libdir" |
||||
found_a="$additional_libdir/lib$name.$libext" |
||||
if test -f "$additional_libdir/lib$name.la"; then |
||||
found_la="$additional_libdir/lib$name.la" |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
if test "X$found_dir" = "X"; then |
||||
for x in $LDFLAGS $LTLIB[]NAME; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
case "$x" in |
||||
-L*) |
||||
dir=`echo "X$x" | sed -e 's/^X-L//'` |
||||
if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then |
||||
found_dir="$dir" |
||||
found_so="$dir/lib$name.$shlibext" |
||||
if test -f "$dir/lib$name.la"; then |
||||
found_la="$dir/lib$name.la" |
||||
fi |
||||
else |
||||
if test -f "$dir/lib$name.$libext"; then |
||||
found_dir="$dir" |
||||
found_a="$dir/lib$name.$libext" |
||||
if test -f "$dir/lib$name.la"; then |
||||
found_la="$dir/lib$name.la" |
||||
fi |
||||
fi |
||||
fi |
||||
;; |
||||
esac |
||||
if test "X$found_dir" != "X"; then |
||||
break |
||||
fi |
||||
done |
||||
fi |
||||
if test "X$found_dir" != "X"; then |
||||
dnl Found the library. |
||||
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" |
||||
if test "X$found_so" != "X"; then |
||||
dnl Linking with a shared library. We attempt to hardcode its |
||||
dnl directory into the executable's runpath, unless it's the |
||||
dnl standard /usr/lib. |
||||
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then |
||||
dnl No hardcoding is needed. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
||||
else |
||||
dnl Use an explicit option to hardcode DIR into the resulting |
||||
dnl binary. |
||||
dnl Potentially add DIR to ltrpathdirs. |
||||
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. |
||||
haveit= |
||||
for x in $ltrpathdirs; do |
||||
if test "X$x" = "X$found_dir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
ltrpathdirs="$ltrpathdirs $found_dir" |
||||
fi |
||||
dnl The hardcoding into $LIBNAME is system dependent. |
||||
if test "$hardcode_direct" = yes; then |
||||
dnl Using DIR/libNAME.so during linking hardcodes DIR into the |
||||
dnl resulting binary. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
||||
else |
||||
if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then |
||||
dnl Use an explicit option to hardcode DIR into the resulting |
||||
dnl binary. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
||||
dnl Potentially add DIR to rpathdirs. |
||||
dnl The rpathdirs will be appended to $LIBNAME at the end. |
||||
haveit= |
||||
for x in $rpathdirs; do |
||||
if test "X$x" = "X$found_dir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
rpathdirs="$rpathdirs $found_dir" |
||||
fi |
||||
else |
||||
dnl Rely on "-L$found_dir". |
||||
dnl But don't add it if it's already contained in the LDFLAGS |
||||
dnl or the already constructed $LIBNAME |
||||
haveit= |
||||
for x in $LDFLAGS $LIB[]NAME; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
if test "X$x" = "X-L$found_dir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" |
||||
fi |
||||
if test "$hardcode_minus_L" != no; then |
||||
dnl FIXME: Not sure whether we should use |
||||
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" |
||||
dnl here. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
||||
else |
||||
dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH |
||||
dnl here, because this doesn't fit in flags passed to the |
||||
dnl compiler. So give up. No hardcoding. This affects only |
||||
dnl very old systems. |
||||
dnl FIXME: Not sure whether we should use |
||||
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" |
||||
dnl here. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
else |
||||
if test "X$found_a" != "X"; then |
||||
dnl Linking with a static library. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" |
||||
else |
||||
dnl We shouldn't come here, but anyway it's good to have a |
||||
dnl fallback. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" |
||||
fi |
||||
fi |
||||
dnl Assume the include files are nearby. |
||||
additional_includedir= |
||||
case "$found_dir" in |
||||
*/lib | */lib/) |
||||
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` |
||||
additional_includedir="$basedir/include" |
||||
;; |
||||
esac |
||||
if test "X$additional_includedir" != "X"; then |
||||
dnl Potentially add $additional_includedir to $INCNAME. |
||||
dnl But don't add it |
||||
dnl 1. if it's the standard /usr/include, |
||||
dnl 2. if it's /usr/local/include and we are using GCC on Linux, |
||||
dnl 3. if it's already present in $CPPFLAGS or the already |
||||
dnl constructed $INCNAME, |
||||
dnl 4. if it doesn't exist as a directory. |
||||
if test "X$additional_includedir" != "X/usr/include"; then |
||||
haveit= |
||||
if test "X$additional_includedir" = "X/usr/local/include"; then |
||||
if test -n "$GCC"; then |
||||
case $host_os in |
||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;; |
||||
esac |
||||
fi |
||||
fi |
||||
if test -z "$haveit"; then |
||||
for x in $CPPFLAGS $INC[]NAME; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
if test "X$x" = "X-I$additional_includedir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
if test -d "$additional_includedir"; then |
||||
dnl Really add $additional_includedir to $INCNAME. |
||||
INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
dnl Look for dependencies. |
||||
if test -n "$found_la"; then |
||||
dnl Read the .la file. It defines the variables |
||||
dnl dlname, library_names, old_library, dependency_libs, current, |
||||
dnl age, revision, installed, dlopen, dlpreopen, libdir. |
||||
save_libdir="$libdir" |
||||
case "$found_la" in |
||||
*/* | *\\*) . "$found_la" ;; |
||||
*) . "./$found_la" ;; |
||||
esac |
||||
libdir="$save_libdir" |
||||
dnl We use only dependency_libs. |
||||
for dep in $dependency_libs; do |
||||
case "$dep" in |
||||
-L*) |
||||
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` |
||||
dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. |
||||
dnl But don't add it |
||||
dnl 1. if it's the standard /usr/lib, |
||||
dnl 2. if it's /usr/local/lib and we are using GCC on Linux, |
||||
dnl 3. if it's already present in $LDFLAGS or the already |
||||
dnl constructed $LIBNAME, |
||||
dnl 4. if it doesn't exist as a directory. |
||||
if test "X$additional_libdir" != "X/usr/lib"; then |
||||
haveit= |
||||
if test "X$additional_libdir" = "X/usr/local/lib"; then |
||||
if test -n "$GCC"; then |
||||
case $host_os in |
||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;; |
||||
esac |
||||
fi |
||||
fi |
||||
if test -z "$haveit"; then |
||||
haveit= |
||||
for x in $LDFLAGS $LIB[]NAME; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
if test "X$x" = "X-L$additional_libdir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
if test -d "$additional_libdir"; then |
||||
dnl Really add $additional_libdir to $LIBNAME. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" |
||||
fi |
||||
fi |
||||
haveit= |
||||
for x in $LDFLAGS $LTLIB[]NAME; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
if test "X$x" = "X-L$additional_libdir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
if test -d "$additional_libdir"; then |
||||
dnl Really add $additional_libdir to $LTLIBNAME. |
||||
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
;; |
||||
-R*) |
||||
dir=`echo "X$dep" | sed -e 's/^X-R//'` |
||||
if test "$enable_rpath" != no; then |
||||
dnl Potentially add DIR to rpathdirs. |
||||
dnl The rpathdirs will be appended to $LIBNAME at the end. |
||||
haveit= |
||||
for x in $rpathdirs; do |
||||
if test "X$x" = "X$dir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
rpathdirs="$rpathdirs $dir" |
||||
fi |
||||
dnl Potentially add DIR to ltrpathdirs. |
||||
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. |
||||
haveit= |
||||
for x in $ltrpathdirs; do |
||||
if test "X$x" = "X$dir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
ltrpathdirs="$ltrpathdirs $dir" |
||||
fi |
||||
fi |
||||
;; |
||||
-l*) |
||||
dnl Handle this in the next round. |
||||
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` |
||||
;; |
||||
*.la) |
||||
dnl Handle this in the next round. Throw away the .la's |
||||
dnl directory; it is already contained in a preceding -L |
||||
dnl option. |
||||
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` |
||||
;; |
||||
*) |
||||
dnl Most likely an immediate library name. |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" |
||||
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" |
||||
;; |
||||
esac |
||||
done |
||||
fi |
||||
else |
||||
dnl Didn't find the library; assume it is in the system directories |
||||
dnl known to the linker and runtime loader. (All the system |
||||
dnl directories known to the linker should also be known to the |
||||
dnl runtime loader, otherwise the system is severely misconfigured.) |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" |
||||
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" |
||||
fi |
||||
fi |
||||
fi |
||||
done |
||||
done |
||||
if test "X$rpathdirs" != "X"; then |
||||
if test -n "$hardcode_libdir_separator"; then |
||||
dnl Weird platform: only the last -rpath option counts, the user must |
||||
dnl pass all path elements in one option. We can arrange that for a |
||||
dnl single library, but not when more than one $LIBNAMEs are used. |
||||
alldirs= |
||||
for found_dir in $rpathdirs; do |
||||
alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" |
||||
done |
||||
dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. |
||||
acl_save_libdir="$libdir" |
||||
libdir="$alldirs" |
||||
eval flag=\"$hardcode_libdir_flag_spec\" |
||||
libdir="$acl_save_libdir" |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" |
||||
else |
||||
dnl The -rpath options are cumulative. |
||||
for found_dir in $rpathdirs; do |
||||
acl_save_libdir="$libdir" |
||||
libdir="$found_dir" |
||||
eval flag=\"$hardcode_libdir_flag_spec\" |
||||
libdir="$acl_save_libdir" |
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" |
||||
done |
||||
fi |
||||
fi |
||||
if test "X$ltrpathdirs" != "X"; then |
||||
dnl When using libtool, the option that works for both libraries and |
||||
dnl executables is -R. The -R options are cumulative. |
||||
for found_dir in $ltrpathdirs; do |
||||
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" |
||||
done |
||||
fi |
||||
]) |
||||
|
||||
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, |
||||
dnl unless already present in VAR. |
||||
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes |
||||
dnl contains two or three consecutive elements that belong together. |
||||
AC_DEFUN([AC_LIB_APPENDTOVAR], |
||||
[ |
||||
for element in [$2]; do |
||||
haveit= |
||||
for x in $[$1]; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
if test "X$x" = "X$element"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
[$1]="${[$1]}${[$1]:+ }$element" |
||||
fi |
||||
done |
||||
]) |
||||
# lib-prefix.m4 serial 4 (gettext-0.14.2) |
||||
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. |
||||
dnl This file is free software; the Free Software Foundation |
||||
dnl gives unlimited permission to copy and/or distribute it, |
||||
dnl with or without modifications, as long as this notice is preserved. |
||||
|
||||
dnl From Bruno Haible. |
||||
|
||||
dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and |
||||
dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't |
||||
dnl require excessive bracketing. |
||||
ifdef([AC_HELP_STRING], |
||||
[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], |
||||
[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) |
||||
|
||||
dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed |
||||
dnl to access previously installed libraries. The basic assumption is that |
||||
dnl a user will want packages to use other packages he previously installed |
||||
dnl with the same --prefix option. |
||||
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate |
||||
dnl libraries, but is otherwise very convenient. |
||||
AC_DEFUN([AC_LIB_PREFIX], |
||||
[ |
||||
AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) |
||||
AC_REQUIRE([AC_PROG_CC]) |
||||
AC_REQUIRE([AC_CANONICAL_HOST]) |
||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
||||
dnl By default, look in $includedir and $libdir. |
||||
use_additional=yes |
||||
AC_LIB_WITH_FINAL_PREFIX([ |
||||
eval additional_includedir=\"$includedir\" |
||||
eval additional_libdir=\"$libdir\" |
||||
]) |
||||
AC_LIB_ARG_WITH([lib-prefix], |
||||
[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib |
||||
--without-lib-prefix don't search for libraries in includedir and libdir], |
||||
[ |
||||
if test "X$withval" = "Xno"; then |
||||
use_additional=no |
||||
else |
||||
if test "X$withval" = "X"; then |
||||
AC_LIB_WITH_FINAL_PREFIX([ |
||||
eval additional_includedir=\"$includedir\" |
||||
eval additional_libdir=\"$libdir\" |
||||
]) |
||||
else |
||||
additional_includedir="$withval/include" |
||||
additional_libdir="$withval/lib" |
||||
fi |
||||
fi |
||||
]) |
||||
if test $use_additional = yes; then |
||||
dnl Potentially add $additional_includedir to $CPPFLAGS. |
||||
dnl But don't add it |
||||
dnl 1. if it's the standard /usr/include, |
||||
dnl 2. if it's already present in $CPPFLAGS, |
||||
dnl 3. if it's /usr/local/include and we are using GCC on Linux, |
||||
dnl 4. if it doesn't exist as a directory. |
||||
if test "X$additional_includedir" != "X/usr/include"; then |
||||
haveit= |
||||
for x in $CPPFLAGS; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
if test "X$x" = "X-I$additional_includedir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
if test "X$additional_includedir" = "X/usr/local/include"; then |
||||
if test -n "$GCC"; then |
||||
case $host_os in |
||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;; |
||||
esac |
||||
fi |
||||
fi |
||||
if test -z "$haveit"; then |
||||
if test -d "$additional_includedir"; then |
||||
dnl Really add $additional_includedir to $CPPFLAGS. |
||||
CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
dnl Potentially add $additional_libdir to $LDFLAGS. |
||||
dnl But don't add it |
||||
dnl 1. if it's the standard /usr/lib, |
||||
dnl 2. if it's already present in $LDFLAGS, |
||||
dnl 3. if it's /usr/local/lib and we are using GCC on Linux, |
||||
dnl 4. if it doesn't exist as a directory. |
||||
if test "X$additional_libdir" != "X/usr/lib"; then |
||||
haveit= |
||||
for x in $LDFLAGS; do |
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
||||
if test "X$x" = "X-L$additional_libdir"; then |
||||
haveit=yes |
||||
break |
||||
fi |
||||
done |
||||
if test -z "$haveit"; then |
||||
if test "X$additional_libdir" = "X/usr/local/lib"; then |
||||
if test -n "$GCC"; then |
||||
case $host_os in |
||||
linux*) haveit=yes;; |
||||
esac |
||||
fi |
||||
fi |
||||
if test -z "$haveit"; then |
||||
if test -d "$additional_libdir"; then |
||||
dnl Really add $additional_libdir to $LDFLAGS. |
||||
LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
]) |
||||
|
||||
dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, |
||||
dnl acl_final_exec_prefix, containing the values to which $prefix and |
||||
dnl $exec_prefix will expand at the end of the configure script. |
||||
AC_DEFUN([AC_LIB_PREPARE_PREFIX], |
||||
[ |
||||
dnl Unfortunately, prefix and exec_prefix get only finally determined |
||||
dnl at the end of configure. |
||||
if test "X$prefix" = "XNONE"; then |
||||
acl_final_prefix="$ac_default_prefix" |
||||
else |
||||
acl_final_prefix="$prefix" |
||||
fi |
||||
if test "X$exec_prefix" = "XNONE"; then |
||||
acl_final_exec_prefix='${prefix}' |
||||
else |
||||
acl_final_exec_prefix="$exec_prefix" |
||||
fi |
||||
acl_save_prefix="$prefix" |
||||
prefix="$acl_final_prefix" |
||||
eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" |
||||
prefix="$acl_save_prefix" |
||||
]) |
||||
|
||||
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the |
||||
dnl variables prefix and exec_prefix bound to the values they will have |
||||
dnl at the end of the configure script. |
||||
AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], |
||||
[ |
||||
acl_save_prefix="$prefix" |
||||
prefix="$acl_final_prefix" |
||||
acl_save_exec_prefix="$exec_prefix" |
||||
exec_prefix="$acl_final_exec_prefix" |
||||
$1 |
||||
exec_prefix="$acl_save_exec_prefix" |
||||
prefix="$acl_save_prefix" |
||||
]) |
@ -0,0 +1,103 @@
@@ -0,0 +1,103 @@
|
||||
# iconv.m4 serial AM4 (gettext-0.11.3) |
||||
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. |
||||
dnl This file is free software, distributed under the terms of the GNU |
||||
dnl General Public License. As a special exception to the GNU General |
||||
dnl Public License, this file may be distributed as part of a program |
||||
dnl that contains a configuration script generated by Autoconf, under |
||||
dnl the same distribution terms as the rest of that program. |
||||
|
||||
dnl From Bruno Haible. |
||||
|
||||
AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], |
||||
[ |
||||
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. |
||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
||||
AC_REQUIRE([AC_LIB_RPATH]) |
||||
|
||||
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV |
||||
dnl accordingly. |
||||
AC_LIB_LINKFLAGS_BODY([iconv]) |
||||
]) |
||||
|
||||
AC_DEFUN([AM_ICONV_LINK], |
||||
[ |
||||
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and |
||||
dnl those with the standalone portable GNU libiconv installed). |
||||
|
||||
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV |
||||
dnl accordingly. |
||||
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) |
||||
|
||||
dnl Add $INCICONV to CPPFLAGS before performing the following checks, |
||||
dnl because if the user has installed libiconv and not disabled its use |
||||
dnl via --without-libiconv-prefix, he wants to use it. The first |
||||
dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. |
||||
am_save_CPPFLAGS="$CPPFLAGS" |
||||
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) |
||||
|
||||
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ |
||||
am_cv_func_iconv="no, consider installing GNU libiconv" |
||||
am_cv_lib_iconv=no |
||||
AC_TRY_LINK([#include <stdlib.h> |
||||
#include <iconv.h>], |
||||
[iconv_t cd = iconv_open("",""); |
||||
iconv(cd,NULL,NULL,NULL,NULL); |
||||
iconv_close(cd);], |
||||
am_cv_func_iconv=yes) |
||||
if test "$am_cv_func_iconv" != yes; then |
||||
am_save_LIBS="$LIBS" |
||||
LIBS="$LIBS $LIBICONV" |
||||
AC_TRY_LINK([#include <stdlib.h> |
||||
#include <iconv.h>], |
||||
[iconv_t cd = iconv_open("",""); |
||||
iconv(cd,NULL,NULL,NULL,NULL); |
||||
iconv_close(cd);], |
||||
am_cv_lib_iconv=yes |
||||
am_cv_func_iconv=yes) |
||||
LIBS="$am_save_LIBS" |
||||
fi |
||||
]) |
||||
if test "$am_cv_func_iconv" = yes; then |
||||
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) |
||||
fi |
||||
if test "$am_cv_lib_iconv" = yes; then |
||||
AC_MSG_CHECKING([how to link with libiconv]) |
||||
AC_MSG_RESULT([$LIBICONV]) |
||||
else |
||||
dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV |
||||
dnl either. |
||||
CPPFLAGS="$am_save_CPPFLAGS" |
||||
LIBICONV= |
||||
LTLIBICONV= |
||||
fi |
||||
AC_SUBST(LIBICONV) |
||||
AC_SUBST(LTLIBICONV) |
||||
]) |
||||
|
||||
AC_DEFUN([AM_ICONV], |
||||
[ |
||||
AM_ICONV_LINK |
||||
if test "$am_cv_func_iconv" = yes; then |
||||
AC_MSG_CHECKING([for iconv declaration]) |
||||
AC_CACHE_VAL(am_cv_proto_iconv, [ |
||||
AC_TRY_COMPILE([ |
||||
#include <stdlib.h> |
||||
#include <iconv.h> |
||||
extern |
||||
#ifdef __cplusplus |
||||
"C" |
||||
#endif |
||||
#if defined(__STDC__) || defined(__cplusplus) |
||||
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); |
||||
#else |
||||
size_t iconv(); |
||||
#endif |
||||
], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") |
||||
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) |
||||
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` |
||||
AC_MSG_RESULT([$]{ac_t:- |
||||
}[$]am_cv_proto_iconv) |
||||
AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, |
||||
[Define as const if the declaration of iconv() needs const.]) |
||||
fi |
||||
]) |
@ -0,0 +1,369 @@
@@ -0,0 +1,369 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*- |
||||
# |
||||
# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, |
||||
# Inc. |
||||
# Written by Gary V. Vaughan, 2004 |
||||
# |
||||
# This file is free software; the Free Software Foundation gives |
||||
# unlimited permission to copy and/or distribute it, with or without |
||||
# modifications, as long as this notice is preserved. |
||||
|
||||
# serial 7 ltoptions.m4 |
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define. |
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) |
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) |
||||
# ------------------------------------------ |
||||
m4_define([_LT_MANGLE_OPTION], |
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) |
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) |
||||
# --------------------------------------- |
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a |
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are |
||||
# saved as a flag. |
||||
m4_define([_LT_SET_OPTION], |
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl |
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), |
||||
_LT_MANGLE_DEFUN([$1], [$2]), |
||||
[m4_warning([Unknown $1 option `$2'])])[]dnl |
||||
]) |
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) |
||||
# ------------------------------------------------------------ |
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. |
||||
m4_define([_LT_IF_OPTION], |
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) |
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) |
||||
# ------------------------------------------------------- |
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME |
||||
# are set. |
||||
m4_define([_LT_UNLESS_OPTIONS], |
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), |
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), |
||||
[m4_define([$0_found])])])[]dnl |
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 |
||||
])[]dnl |
||||
]) |
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) |
||||
# ---------------------------------------- |
||||
# OPTION-LIST is a space-separated list of Libtool options associated |
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with |
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about |
||||
# the unknown option and exit. |
||||
m4_defun([_LT_SET_OPTIONS], |
||||
[# Set options |
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), |
||||
[_LT_SET_OPTION([$1], _LT_Option)]) |
||||
|
||||
m4_if([$1],[LT_INIT],[ |
||||
dnl |
||||
dnl Simply set some default values (i.e off) if boolean options were not |
||||
dnl specified: |
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no |
||||
]) |
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no |
||||
]) |
||||
dnl |
||||
dnl If no reference was made to various pairs of opposing options, then |
||||
dnl we run the default mode handler for the pair. For example, if neither |
||||
dnl `shared' nor `disable-shared' was passed, we enable building of shared |
||||
dnl archives by default: |
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) |
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) |
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) |
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], |
||||
[_LT_ENABLE_FAST_INSTALL]) |
||||
]) |
||||
])# _LT_SET_OPTIONS |
||||
|
||||
|
||||
## --------------------------------- ## |
||||
## Macros to handle LT_INIT options. ## |
||||
## --------------------------------- ## |
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) |
||||
# ----------------------------------------- |
||||
m4_define([_LT_MANGLE_DEFUN], |
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) |
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) |
||||
# ----------------------------------------------- |
||||
m4_define([LT_OPTION_DEFINE], |
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl |
||||
])# LT_OPTION_DEFINE |
||||
|
||||
|
||||
# dlopen |
||||
# ------ |
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes |
||||
]) |
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN], |
||||
[_LT_SET_OPTION([LT_INIT], [dlopen]) |
||||
AC_DIAGNOSE([obsolete], |
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you |
||||
put the `dlopen' option into LT_INIT's first parameter.]) |
||||
]) |
||||
|
||||
dnl aclocal-1.4 backwards compatibility: |
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) |
||||
|
||||
|
||||
# win32-dll |
||||
# --------- |
||||
# Declare package support for building win32 dll's. |
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll], |
||||
[enable_win32_dll=yes |
||||
|
||||
case $host in |
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) |
||||
AC_CHECK_TOOL(AS, as, false) |
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false) |
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false) |
||||
;; |
||||
esac |
||||
|
||||
test -z "$AS" && AS=as |
||||
_LT_DECL([], [AS], [1], [Assembler program])dnl |
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool |
||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl |
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump |
||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl |
||||
])# win32-dll |
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL], |
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl |
||||
_LT_SET_OPTION([LT_INIT], [win32-dll]) |
||||
AC_DIAGNOSE([obsolete], |
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you |
||||
put the `win32-dll' option into LT_INIT's first parameter.]) |
||||
]) |
||||
|
||||
dnl aclocal-1.4 backwards compatibility: |
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) |
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT]) |
||||
# ---------------------------- |
||||
# implement the --enable-shared flag, and supports the `shared' and |
||||
# `disable-shared' LT_INIT options. |
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. |
||||
m4_define([_LT_ENABLE_SHARED], |
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl |
||||
AC_ARG_ENABLE([shared], |
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], |
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], |
||||
[p=${PACKAGE-default} |
||||
case $enableval in |
||||
yes) enable_shared=yes ;; |
||||
no) enable_shared=no ;; |
||||
*) |
||||
enable_shared=no |
||||
# Look at the argument we got. We use all the common list separators. |
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," |
||||
for pkg in $enableval; do |
||||
IFS="$lt_save_ifs" |
||||
if test "X$pkg" = "X$p"; then |
||||
enable_shared=yes |
||||
fi |
||||
done |
||||
IFS="$lt_save_ifs" |
||||
;; |
||||
esac], |
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT) |
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0], |
||||
[Whether or not to build shared libraries]) |
||||
])# _LT_ENABLE_SHARED |
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) |
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) |
||||
|
||||
# Old names: |
||||
AC_DEFUN([AC_ENABLE_SHARED], |
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) |
||||
]) |
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED], |
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared]) |
||||
]) |
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) |
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) |
||||
|
||||
dnl aclocal-1.4 backwards compatibility: |
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], []) |
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], []) |
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT]) |
||||
# ---------------------------- |
||||
# implement the --enable-static flag, and support the `static' and |
||||
# `disable-static' LT_INIT options. |
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. |
||||
m4_define([_LT_ENABLE_STATIC], |
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl |
||||
AC_ARG_ENABLE([static], |
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], |
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], |
||||
[p=${PACKAGE-default} |
||||
case $enableval in |
||||
yes) enable_static=yes ;; |
||||
no) enable_static=no ;; |
||||
*) |
||||
enable_static=no |
||||
# Look at the argument we got. We use all the common list separators. |
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," |
||||
for pkg in $enableval; do |
||||
IFS="$lt_save_ifs" |
||||
if test "X$pkg" = "X$p"; then |
||||
enable_static=yes |
||||
fi |
||||
done |
||||
IFS="$lt_save_ifs" |
||||
;; |
||||
esac], |
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT) |
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0], |
||||
[Whether or not to build static libraries]) |
||||
])# _LT_ENABLE_STATIC |
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) |
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) |
||||
|
||||
# Old names: |
||||
AC_DEFUN([AC_ENABLE_STATIC], |
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) |
||||
]) |
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC], |
||||
[_LT_SET_OPTION([LT_INIT], [disable-static]) |
||||
]) |
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) |
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) |
||||
|
||||
dnl aclocal-1.4 backwards compatibility: |
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], []) |
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], []) |
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT]) |
||||
# ---------------------------------- |
||||
# implement the --enable-fast-install flag, and support the `fast-install' |
||||
# and `disable-fast-install' LT_INIT options. |
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. |
||||
m4_define([_LT_ENABLE_FAST_INSTALL], |
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl |
||||
AC_ARG_ENABLE([fast-install], |
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], |
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], |
||||
[p=${PACKAGE-default} |
||||
case $enableval in |
||||
yes) enable_fast_install=yes ;; |
||||
no) enable_fast_install=no ;; |
||||
*) |
||||
enable_fast_install=no |
||||
# Look at the argument we got. We use all the common list separators. |
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," |
||||
for pkg in $enableval; do |
||||
IFS="$lt_save_ifs" |
||||
if test "X$pkg" = "X$p"; then |
||||
enable_fast_install=yes |
||||
fi |
||||
done |
||||
IFS="$lt_save_ifs" |
||||
;; |
||||
esac], |
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) |
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0], |
||||
[Whether or not to optimize for fast installation])dnl |
||||
])# _LT_ENABLE_FAST_INSTALL |
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) |
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) |
||||
|
||||
# Old names: |
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL], |
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) |
||||
AC_DIAGNOSE([obsolete], |
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put |
||||
the `fast-install' option into LT_INIT's first parameter.]) |
||||
]) |
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL], |
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) |
||||
AC_DIAGNOSE([obsolete], |
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put |
||||
the `disable-fast-install' option into LT_INIT's first parameter.]) |
||||
]) |
||||
|
||||
dnl aclocal-1.4 backwards compatibility: |
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) |
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) |
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE]) |
||||
# -------------------- |
||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic' |
||||
# LT_INIT options. |
||||
# MODE is either `yes' or `no'. If omitted, it defaults to `both'. |
||||
m4_define([_LT_WITH_PIC], |
||||
[AC_ARG_WITH([pic], |
||||
[AS_HELP_STRING([--with-pic], |
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])], |
||||
[pic_mode="$withval"], |
||||
[pic_mode=default]) |
||||
|
||||
test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) |
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl |
||||
])# _LT_WITH_PIC |
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) |
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) |
||||
|
||||
# Old name: |
||||
AU_DEFUN([AC_LIBTOOL_PICMODE], |
||||
[_LT_SET_OPTION([LT_INIT], [pic-only]) |
||||
AC_DIAGNOSE([obsolete], |
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you |
||||
put the `pic-only' option into LT_INIT's first parameter.]) |
||||
]) |
||||
|
||||
dnl aclocal-1.4 backwards compatibility: |
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) |
||||
|
||||
## ----------------- ## |
||||
## LTDL_INIT Options ## |
||||
## ----------------- ## |
||||
|
||||
m4_define([_LTDL_MODE], []) |
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], |
||||
[m4_define([_LTDL_MODE], [nonrecursive])]) |
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive], |
||||
[m4_define([_LTDL_MODE], [recursive])]) |
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject], |
||||
[m4_define([_LTDL_MODE], [subproject])]) |
||||
|
||||
m4_define([_LTDL_TYPE], []) |
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable], |
||||
[m4_define([_LTDL_TYPE], [installable])]) |
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience], |
||||
[m4_define([_LTDL_TYPE], [convenience])]) |
@ -0,0 +1,123 @@
@@ -0,0 +1,123 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- |
||||
# |
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. |
||||
# Written by Gary V. Vaughan, 2004 |
||||
# |
||||
# This file is free software; the Free Software Foundation gives |
||||
# unlimited permission to copy and/or distribute it, with or without |
||||
# modifications, as long as this notice is preserved. |
||||
|
||||
# serial 6 ltsugar.m4 |
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define. |
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) |
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...]) |
||||
# ----------------------------- |
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their |
||||
# associated separator. |
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier |
||||
# versions in m4sugar had bugs. |
||||
m4_define([lt_join], |
||||
[m4_if([$#], [1], [], |
||||
[$#], [2], [[$2]], |
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) |
||||
m4_define([_lt_join], |
||||
[m4_if([$#$2], [2], [], |
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) |
||||
|
||||
|
||||
# lt_car(LIST) |
||||
# lt_cdr(LIST) |
||||
# ------------ |
||||
# Manipulate m4 lists. |
||||
# These macros are necessary as long as will still need to support |
||||
# Autoconf-2.59 which quotes differently. |
||||
m4_define([lt_car], [[$1]]) |
||||
m4_define([lt_cdr], |
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], |
||||
[$#], 1, [], |
||||
[m4_dquote(m4_shift($@))])]) |
||||
m4_define([lt_unquote], $1) |
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR]) |
||||
# ------------------------------------------ |
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. |
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended |
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). |
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different |
||||
# than defined and empty). |
||||
# |
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier |
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. |
||||
m4_define([lt_append], |
||||
[m4_define([$1], |
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) |
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) |
||||
# ---------------------------------------------------------- |
||||
# Produce a SEP delimited list of all paired combinations of elements of |
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list |
||||
# has the form PREFIXmINFIXSUFFIXn. |
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62. |
||||
m4_define([lt_combine], |
||||
[m4_if(m4_eval([$# > 3]), [1], |
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl |
||||
[[m4_foreach([_Lt_prefix], [$2], |
||||
[m4_foreach([_Lt_suffix], |
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, |
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) |
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) |
||||
# ----------------------------------------------------------------------- |
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited |
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. |
||||
m4_define([lt_if_append_uniq], |
||||
[m4_ifdef([$1], |
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], |
||||
[lt_append([$1], [$2], [$3])$4], |
||||
[$5])], |
||||
[lt_append([$1], [$2], [$3])$4])]) |
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE) |
||||
# ----------------------------- |
||||
m4_define([lt_dict_add], |
||||
[m4_define([$1($2)], [$3])]) |
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) |
||||
# -------------------------------------------- |
||||
m4_define([lt_dict_add_subkey], |
||||
[m4_define([$1($2:$3)], [$4])]) |
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY]) |
||||
# ---------------------------------- |
||||
m4_define([lt_dict_fetch], |
||||
[m4_ifval([$3], |
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), |
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) |
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) |
||||
# ----------------------------------------------------------------- |
||||
m4_define([lt_if_dict_fetch], |
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], |
||||
[$5], |
||||
[$6])]) |
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) |
||||
# -------------------------------------------------------------- |
||||
m4_define([lt_dict_filter], |
||||
[m4_if([$5], [], [], |
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])), |
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), |
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl |
||||
]) |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*- |
||||
# |
||||
# Copyright (C) 2004 Free Software Foundation, Inc. |
||||
# Written by Scott James Remnant, 2004 |
||||
# |
||||
# This file is free software; the Free Software Foundation gives |
||||
# unlimited permission to copy and/or distribute it, with or without |
||||
# modifications, as long as this notice is preserved. |
||||
|
||||
# @configure_input@ |
||||
|
||||
# serial 3293 ltversion.m4 |
||||
# This file is part of GNU Libtool |
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4]) |
||||
m4_define([LT_PACKAGE_REVISION], [1.3293]) |
||||
|
||||
AC_DEFUN([LTVERSION_VERSION], |
||||
[macro_version='2.4' |
||||
macro_revision='1.3293' |
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) |
||||
_LT_DECL(, macro_revision, 0) |
||||
]) |
@ -0,0 +1,98 @@
@@ -0,0 +1,98 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- |
||||
# |
||||
# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. |
||||
# Written by Scott James Remnant, 2004. |
||||
# |
||||
# This file is free software; the Free Software Foundation gives |
||||
# unlimited permission to copy and/or distribute it, with or without |
||||
# modifications, as long as this notice is preserved. |
||||
|
||||
# serial 5 lt~obsolete.m4 |
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool. |
||||
# |
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) |
||||
# which have later been changed to m4_define as they aren't part of the |
||||
# exported API, or moved to Autoconf or Automake where they belong. |
||||
# |
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN |
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us |
||||
# using a macro with the same name in our local m4/libtool.m4 it'll |
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define |
||||
# and doesn't know about Autoconf macros at all.) |
||||
# |
||||
# So we provide this file, which has a silly filename so it's always |
||||
# included after everything else. This provides aclocal with the |
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything |
||||
# because those macros already exist, or will be overwritten later. |
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. |
||||
# |
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. |
||||
# Yes, that means every name once taken will need to remain here until |
||||
# we give up compatibility with versions before 1.7, at which point |
||||
# we need to keep only those names which we still refer to. |
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define. |
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) |
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) |
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) |
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) |
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) |
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) |
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) |
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) |
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) |
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) |
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) |
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) |
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) |
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) |
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) |
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) |
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) |
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) |
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) |
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) |
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) |
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) |
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) |
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) |
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) |
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) |
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) |
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) |
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) |
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) |
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) |
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) |
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) |
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) |
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) |
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) |
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) |
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) |
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) |
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) |
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) |
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) |
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) |
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) |
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) |
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) |
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) |
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) |
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) |
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) |
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) |
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) |
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) |
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) |
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) |
||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) |
||||
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) |
||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) |
||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) |
||||
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) |
||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) |
||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) |
@ -0,0 +1,155 @@
@@ -0,0 +1,155 @@
|
||||
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- |
||||
# |
||||
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>. |
||||
# |
||||
# This program is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 2 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, but |
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||||
# General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
||||
# |
||||
# As a special exception to the GNU General Public License, if you |
||||
# distribute this file as part of a program that contains a |
||||
# configuration script generated by Autoconf, you may include it under |
||||
# the same distribution terms that you use for the rest of that program. |
||||
|
||||
# PKG_PROG_PKG_CONFIG([MIN-VERSION]) |
||||
# ---------------------------------- |
||||
AC_DEFUN([PKG_PROG_PKG_CONFIG], |
||||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) |
||||
m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) |
||||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl |
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) |
||||
fi |
||||
if test -n "$PKG_CONFIG"; then |
||||
_pkg_min_version=m4_default([$1], [0.9.0]) |
||||
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) |
||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then |
||||
AC_MSG_RESULT([yes]) |
||||
else |
||||
AC_MSG_RESULT([no]) |
||||
PKG_CONFIG="" |
||||
fi |
||||
|
||||
fi[]dnl |
||||
])# PKG_PROG_PKG_CONFIG |
||||
|
||||
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) |
||||
# |
||||
# Check to see whether a particular set of modules exists. Similar |
||||
# to PKG_CHECK_MODULES(), but does not set variables or print errors. |
||||
# |
||||
# |
||||
# Similar to PKG_CHECK_MODULES, make sure that the first instance of |
||||
# this or PKG_CHECK_MODULES is called, or make sure to call |
||||
# PKG_CHECK_EXISTS manually |
||||
# -------------------------------------------------------------- |
||||
AC_DEFUN([PKG_CHECK_EXISTS], |
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
||||
if test -n "$PKG_CONFIG" && \ |
||||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then |
||||
m4_ifval([$2], [$2], [:]) |
||||
m4_ifvaln([$3], [else |
||||
$3])dnl |
||||
fi]) |
||||
|
||||
|
||||
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) |
||||
# --------------------------------------------- |
||||
m4_define([_PKG_CONFIG], |
||||
[if test -n "$$1"; then |
||||
pkg_cv_[]$1="$$1" |
||||
elif test -n "$PKG_CONFIG"; then |
||||
PKG_CHECK_EXISTS([$3], |
||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], |
||||
[pkg_failed=yes]) |
||||
else |
||||
pkg_failed=untried |
||||
fi[]dnl |
||||
])# _PKG_CONFIG |
||||
|
||||
# _PKG_SHORT_ERRORS_SUPPORTED |
||||
# ----------------------------- |
||||
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], |
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) |
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
||||
_pkg_short_errors_supported=yes |
||||
else |
||||
_pkg_short_errors_supported=no |
||||
fi[]dnl |
||||
])# _PKG_SHORT_ERRORS_SUPPORTED |
||||
|
||||
|
||||
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], |
||||
# [ACTION-IF-NOT-FOUND]) |
||||
# |
||||
# |
||||
# Note that if there is a possibility the first call to |
||||
# PKG_CHECK_MODULES might not happen, you should be sure to include an |
||||
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac |
||||
# |
||||
# |
||||
# -------------------------------------------------------------- |
||||
AC_DEFUN([PKG_CHECK_MODULES], |
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
||||
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl |
||||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl |
||||
|
||||
pkg_failed=no |
||||
AC_MSG_CHECKING([for $1]) |
||||
|
||||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) |
||||
_PKG_CONFIG([$1][_LIBS], [libs], [$2]) |
||||
|
||||
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS |
||||
and $1[]_LIBS to avoid the need to call pkg-config. |
||||
See the pkg-config man page for more details.]) |
||||
|
||||
if test $pkg_failed = yes; then |
||||
_PKG_SHORT_ERRORS_SUPPORTED |
||||
if test $_pkg_short_errors_supported = yes; then |
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` |
||||
else |
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` |
||||
fi |
||||
# Put the nasty error message in config.log where it belongs |
||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD |
||||
|
||||
ifelse([$4], , [AC_MSG_ERROR(dnl |
||||
[Package requirements ($2) were not met: |
||||
|
||||
$$1_PKG_ERRORS |
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you |
||||
installed software in a non-standard prefix. |
||||
|
||||
_PKG_TEXT |
||||
])], |
||||
[AC_MSG_RESULT([no]) |
||||
$4]) |
||||
elif test $pkg_failed = untried; then |
||||
ifelse([$4], , [AC_MSG_FAILURE(dnl |
||||
[The pkg-config script could not be found or is too old. Make sure it |
||||
is in your PATH or set the PKG_CONFIG environment variable to the full |
||||
path to pkg-config. |
||||
|
||||
_PKG_TEXT |
||||
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])], |
||||
[$4]) |
||||
else |
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS |
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS |
||||
AC_MSG_RESULT([yes]) |
||||
ifelse([$3], , :, [$3]) |
||||
fi[]dnl |
||||
])# PKG_CHECK_MODULES |
Loading…
Reference in new issue