]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Android: check for extra libs needed for build
authorMaria Matejka <mq@jmq.cz>
Mon, 23 Apr 2018 13:54:20 +0000 (15:54 +0200)
committerJan Maria Matejka <mq@ucw.cz>
Tue, 24 Apr 2018 10:18:32 +0000 (12:18 +0200)
aclocal.m4
configure.ac

index 365bfa81363d7ca8ae4d31f9db14bd3aca8b07ab..58ad2cc5aee4364188c7b8a5997ae7d68ff78eff 100644 (file)
@@ -31,6 +31,72 @@ AC_DEFUN([BIRD_CHECK_PTHREADS],
   CFLAGS="$bird_tmp_cflags"
 ])
 
+AC_DEFUN([BIRD_CHECK_ANDROID_GLOB],
+[
+  AC_CACHE_CHECK(
+    [for glob.h],
+    [bird_cv_lib_glob],
+    AC_LINK_IFELSE([
+      AC_LANG_PROGRAM(
+        [
+         #include <glob.h>
+         #include <stdlib.h>
+       ],
+        [ glob(NULL, 0, NULL, NULL); ]
+      )
+    ],
+    [bird_cv_lib_glob=yes],
+      [
+        bird_tmp_libs="$LIBS"
+        LIBS="$LIBS -landroid-glob"
+        AC_LINK_IFELSE([
+          AC_LANG_PROGRAM(
+            [
+             #include <glob.h>
+             #include <stdlib.h>
+           ],
+            [ glob(NULL, 0, NULL, NULL); ]
+          )
+        ],
+        [bird_cv_lib_glob=-landroid-glob],
+        [bird_cv_lib_glob=no]
+        )
+        LIBS="$bird_tmp_libs"
+      ]
+    )
+  )
+])
+
+AC_DEFUN([BIRD_CHECK_ANDROID_LOG],
+[
+  AC_CACHE_CHECK(
+    [for syslog lib flags],
+    [bird_cv_lib_log],
+    AC_LINK_IFELSE([
+      AC_LANG_PROGRAM(
+        [ #include <sys/syslog.h> ],
+        [ syslog(0, ""); ]
+      )
+    ],
+    [bird_cv_lib_log=yes],
+      [
+        bird_tmp_libs="$LIBS"
+        LIBS="$LIBS -llog"
+        AC_LINK_IFELSE([
+          AC_LANG_PROGRAM(
+            [ #include <sys/syslog.h> ],
+            [ syslog(0, ""); ]
+          )
+        ],
+        [bird_cv_lib_log=-llog],
+        [bird_cv_lib_log=no]
+        )
+        LIBS="$bird_tmp_libs"
+      ]
+    )
+  )
+])
+
 AC_DEFUN([BIRD_CHECK_GCC_OPTION],
 [
   bird_tmp_cflags="$CFLAGS"
index d135dc04c9618898a28a5973b1ca54b88772984b..2c136526dffdfa80ca9f5929ee4b315404735926 100644 (file)
@@ -321,6 +321,20 @@ AC_C_BIGENDIAN(
   [AC_MSG_ERROR([Cannot determine CPU endianity.])]
 )
 
+BIRD_CHECK_ANDROID_GLOB
+if test "$bird_cv_lib_glob" = no ; then
+  AC_MSG_ERROR([glob.h not found.])
+elif test "$bird_cv_lib_glob" != yes ; then
+  LIBS="$LIBS $bird_cv_lib_glob"
+fi
+
+BIRD_CHECK_ANDROID_LOG
+if test "$bird_cv_lib_log" = no ; then
+  AC_MSG_ERROR([don't know how to link syslog.])
+elif test "$bird_cv_lib_log" != yes ; then
+  LIBS="$LIBS $bird_cv_lib_log"
+fi
+
 if test "$enable_debug" = yes ; then
   AC_DEFINE([DEBUGGING], [1], [Define to 1 if debugging is enabled])
   if test "$enable_memcheck" = yes ; then
@@ -382,7 +396,7 @@ AC_SUBST([CLIENT_LIBS])
 mkdir -p $objdir/sysdep
 AC_CONFIG_HEADERS([$objdir/sysdep/autoconf.h:sysdep/autoconf.h.in])
 AC_CONFIG_COMMANDS([merge],
-  [ export CPP="$CPP"; $srcdir/tools/mergedirs $srcdir $srcdir_rel $objdir $sysdep_dirs ],
+  [ export CPP="$CPP"; sh $srcdir/tools/mergedirs $srcdir $srcdir_rel $objdir $sysdep_dirs ],
   [
     srcdir=$srcdir
     srcdir_rel=$srcdir_rel
@@ -405,4 +419,4 @@ AC_MSG_RESULT([        Debugging:           $enable_debug])
 AC_MSG_RESULT([        POSIX threads:          $enable_pthreads])
 AC_MSG_RESULT([        Routing protocols:      $protocols])
 AC_MSG_RESULT([        Client:                 $enable_client])
-rm -f $objdir/.*-stamp
+rm -f $objdir/.*-stamp
\ No newline at end of file