Parcourir la source

[4009] Added --with-boost-lib-dir

Francis Dupont il y a 9 ans
Parent
commit
f96149661d
2 fichiers modifiés avec 36 ajouts et 2 suppressions
  1. 20 0
      doc/guide/install.xml
  2. 16 2
      m4macros/ax_boost_for_kea.m4

+ 20 - 0
doc/guide/install.xml

@@ -109,6 +109,8 @@
           At least Boost version 1.35 is required.
   <!-- TODO: we don't check for this version -->
   <!-- NOTE: jreed has tested with 1.34, 1.38, and 1.41. -->
+          When header-only Boost error code is not available or wanted, the
+          Boost system library is required too.
         </para>
         </listitem>
 
@@ -266,6 +268,15 @@ Debian and Ubuntu:
           </varlistentry>
 
           <varlistentry>
+            <term>--with-boost-lib-dir</term>
+            <listitem>
+              <simpara>Specify the path to Boost libraries to link with
+                (same comment than for <option>--with-boost-libs</option>).
+              </simpara>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
             <term>--with-botan-config</term>
             <listitem>
               <simpara>Specify the path to the botan-config
@@ -340,6 +351,15 @@ Debian and Ubuntu:
         </para>
 
         <para>
+          If you have some problems with the header-only Boost error code
+          or you'd like to use the Boost system library in /usr/pkg/lib:
+
+          <screen>$ <userinput>./configure \
+      --with-boost-libs=-lboost_system \
+      --with-boost-lib-dir=/usr/pkg/lib</userinput></screen>
+        </para>
+
+        <para>
           If the configure fails, it may be due to missing or old
           dependencies.
         </para>

+ 16 - 2
m4macros/ax_boost_for_kea.m4

@@ -42,6 +42,7 @@ DISTCHECK_BOOST_CONFIGURE_FLAG=
 
 # No library by default (and as goal)
 BOOST_LIBS=
+BOOST_LIB_DIR=
 boost_lib_path=
 
 #
@@ -59,7 +60,7 @@ if test -z "$with_boost_include"; then
 	do
 		if test -f $d/include/boost/shared_ptr.hpp; then
 			boost_include_path=$d/include
-			boost_lib_path="-L$d/lib"
+			boost_lib_path=$d/lib
 			break
 		fi
 	done
@@ -149,6 +150,13 @@ AC_ARG_WITH([boost-libs],
     [BOOST_LIBS="$withval"
      DISTCHECK_BOOST_CONFIGURE_FLAG="$DISTCHECK_BOOST_CONFIGURE_FLAG --with-boost-libs=$withval"])
 
+# Get lib dir when explicitly configured
+AC_ARG_WITH([boost-lib-dir],
+  AC_HELP_STRING([--with-boost-lib-dir=PATH],
+    [specify directory where to find Boost libraries]),
+    [BOOST_LIB_DIR="$withval"
+     DISTCHECK_BOOST_CONFIGURE_FLAG="$DISTCHECK_BOOST_CONFIGURE_FLAG --with-boot-lib-dir=$withval"])
+
 # BOOST_ERROR_CODE_HEADER_ONLY in versions below Boost 1.56.0 can fail
 # to find the error_code.cpp file.
 if test "x${BOOST_LIBS}" = "x"; then
@@ -163,13 +171,19 @@ if test "x${BOOST_LIBS}" = "x"; then
    [AC_MSG_RESULT(yes)],
    [AC_MSG_RESULT(no)
     AC_MSG_WARN([The Boost system library is required.])
-    BOOST_LIBS="$boost_lib_path -lboost_system"])
+    BOOST_LIBS="-lboost_system"
+    if test "x${BOOST_LIB_DIR}" = "x"; then
+       BOOST_LIB_DIR="$boost_lib_path"
+    fi])
 
    CPPFLAGS="$CXXFLAGS_SAVED2"
 fi
 
 # A Boost library is used.
 if test "x${BOOST_LIBS}" != "x"; then
+   if test "x${BOOST_LIB_DIR}" != "x"; then
+      BOOST_LIBS="-L$BOOST_LIB_DIR $BOOST_LIBS"
+   fi
    LIBS_SAVED="$LIBS"
    LIBS="$BOOST_LIBS $LIBS"