[svn] commit: r2427 - in /trunk: ./ configure.ac src/bin/xfrin/ src/lib/cc/ src/lib/datasrc/ src/lib/dns/ src/lib/dns/rdata/generic/rrsig_46.cc src/lib/dns/tests/
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Jul 7 22:24:34 UTC 2010
Author: jinmei
Date: Wed Jul 7 22:24:34 2010
New Revision: 2427
Log:
merged branches/trac148b: added -R<dir_to_libpython> when possible. it help build on netbsd.
Modified:
trunk/ (props changed)
trunk/configure.ac
trunk/src/bin/xfrin/ (props changed)
trunk/src/lib/cc/ (props changed)
trunk/src/lib/datasrc/ (props changed)
trunk/src/lib/dns/ (props changed)
trunk/src/lib/dns/rdata/generic/rrsig_46.cc (props changed)
trunk/src/lib/dns/tests/ (props changed)
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Wed Jul 7 22:24:34 2010
@@ -17,6 +17,20 @@
# Identify the compiler: this check must be after AC_PROG_CXX and AC_LANG.
AM_CONDITIONAL(USE_GXX, test "X${GXX}" = "Xyes")
AC_CHECK_DECL([__SUNPRO_CC], [SUNCXX="yes"], [SUNCXX="no"])
+
+# Linker options
+
+# check -R rather than gcc specific -rpath to be as portable as possible.
+AC_MSG_CHECKING([whether -R flag is available in linker])
+LDFLAGS_SAVED="$LDFLAGS"
+LDFLAGS="$LDFLAGS -R/usr/lib"
+AC_TRY_LINK([],[],
+ [ AC_MSG_RESULT(yes)
+ rpath_available=yes
+ ],[ AC_MSG_RESULT(no)
+ rpath_available=no
+ ])
+LDFLAGS=$LDFLAGS_SAVED
# OS dependent compiler flags
case "$host" in
@@ -83,6 +97,20 @@
AC_MSG_WARN([${PYTHON}-config does not exist or is not executable, so we could not detect python development environment. Your system may require an additional package (e.g. "python3-dev"). Alternatively, if you are sure you have python headers and libraries, define PYTHON_INCLUDES and PYTHON_LDFLAGS and run this script.])
fi
fi
+
+# Some OSes including NetBSD don't install libpython.so in a well known path.
+# To avoid requiring dynamic library path with our python wrapper loadable
+# modules, we embed the path to the modules when possible. We do this even
+# when the path is known in the common operational environment (e.g. when
+# it's stored in a common "hint" file) for simplicity.
+if test $rpath_available = yes; then
+ python_rpath=
+ for flag in ${PYTHON_LDFLAGS}; do
+ python_rpath="${python_rpath} `echo $flag | sed -ne 's/^\(\-L\)/-R/p'`"
+ done
+ PYTHON_LDFLAGS="${PYTHON_LDFLAGS} ${python_rpath}"
+fi
+
AC_SUBST(PYTHON_INCLUDES)
AC_SUBST(PYTHON_LDFLAGS)
@@ -90,7 +118,6 @@
CPPFLAGS="$CPPFLAGS ${PYTHON_INCLUDES}"
AC_CHECK_HEADERS([Python.h],, AC_MSG_ERROR([Missing Python.h]))
CPPFLAGS="$CPPFLAGS_SAVED"
-
# Check for python library. Needed for Python-wrapper libraries.
LDFLAGS_SAVED="$LDFLAGS"
@@ -101,6 +128,7 @@
PYTHON_LIB="-l$python_lib"
fi
AC_SUBST(PYTHON_LIB)
+LDFLAGS=$LDFLAGS_SAVED
# TODO: check for _sqlite3.py module
@@ -142,6 +170,7 @@
B10_CXXFLAGS="$B10_CXXFLAGS -Werror"],
[AC_MSG_RESULT(yes)])
CXXFLAGS="$CXXFLAGS_SAVED"
+
fi dnl GXX = yes
AM_CONDITIONAL(GCC_WERROR_OK, test $werror_ok = 1)
@@ -484,7 +513,10 @@
CXXFLAGS: $CXXFLAGS
B10_CXXFLAGS: $B10_CXXFLAGS
dnl includes too
- SQLite: $SQLITE_CFLAGS
+ Python: ${PYTHON_INCLUDES}
+ ${PYTHON_LDFLAGS}
+ ${PYTHON_LIB}
+ SQLite: $SQLITE_CFLAGS
$SQLITE_LIBS
Features:
More information about the bind10-changes
mailing list