]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Stephen's patch for ATF path.
authorTomek Mrugalski <tomek@isc.org>
Thu, 15 Mar 2012 18:04:58 +0000 (18:04 +0000)
committerTomek Mrugalski <tomek@isc.org>
Thu, 15 Mar 2012 18:04:58 +0000 (18:04 +0000)
configure.ac

index e2af932bec46e2ce6e8bdb4ccb1cb0d637867785..98a019dc216ba595c8894169128fe1e82653827c 100644 (file)
@@ -170,30 +170,40 @@ fi
 
 # Testing section
 
-# Enable ATF unit tests (Automated Test Framework)
-AC_ARG_ENABLE(atf,
-       AC_HELP_STRING([--enable-atf],
-                      [enable support for ATF unit-tests (default is no)]),
-                       [if test "$enableval" = "yes"; then 
-                           enable_atf=yes
-                        else
-                           enable_atf=no
-                        fi], 
-                       [enable_atf=no])
-
-# TODO: Check if atf-run is actually available. If it is not, abort 
-# configuration.
-if test "$enable_atf" != "no"; then
-        ATF_CFLAGS="`pkg-config --cflags atf-c` -DUNIT_TEST"
-        ATF_LDFLAGS="`pkg-config --libs-only-l --libs-only-other atf-c`"
-        ATF_LIBS="`pkg-config --libs-only-l atf-c`"
+atf_path="no"
+AC_ARG_WITH([atf],
+    AC_HELP_STRING([--with-atf=PATH],
+                   [specify location where atf was installed]),
+    [atf_path="$withval"])
+if test "$atf_path" != "no" ; then
+    # Config path for pkg-config
+    atf_pcp=""
+    if test "$atf_path" != "yes" ; then
+        if test -f $atf_path/lib/pkgconfig/atf-c.pc ; then
+            atf_pcp=$atf_path/lib/pkgconfig
+        fi
+    else
+        # Not specified, try some common paths
+        atf_dirs="/usr /usr/local /usr/pkg /opt /opt/local"
+        for d in $atf_dirs
+        do
+            if test -f $d/lib/pkgconfig/atf-c.pc ; then
+                atf_pcp=$d/lib/pkgconfig
+            fi
+        done
+    fi
+    if test "$atf_pcp" = "" ; then
+        AC_MSG_ERROR([Unable to find atf files in location specified])
+    else
+        ATF_CFLAGS="`PKG_CONFIG_PATH=$atf_pcp pkg-config --cflags atf-c` -DUNIT_TEST"
+        ATF_LDFLAGS="`PKG_CONFIG_PATH=$atf_pcp pkg-config --libs atf-c`"
+        AC_SUBST(ATF_CFLAGS)
+        AC_SUBST(ATF_LDFLAGS)
+    fi
 fi
-AM_CONDITIONAL(HAVE_ATF, test "$enable_atf" != "no")
-AC_SUBST(ATF_CFLAGS)
-AC_SUBST(ATF_LDFLAGS)
-AC_SUBST(ATF_LIBS)
-# TODO: Not sure if LDFLAGS and LIBS should stay separate or not.
-# That was FAQ recommends: http://www.netbsd.org/~jmmv/atf/docs/faq.html
+
+AM_CONDITIONAL(HAVE_ATF, test "$atf_pcp" != "")
+AM_COND_IF([HAVE_ATF], [AC_DEFINE([HAVE_ATF], [1], [ATF framework specified?])])
 
 ###
 ### Path fun.  Older versions of DHCP were installed in /usr/sbin, so we