TODO note for configure.ac
[oweals/gnunet.git] / configure.ac
index 0d19ae2f364ad800fda6c916e74b64b4450fbecc..d4e9e0d1fb9fc4bc5f3bc6705d21065050d43e78 100644 (file)
@@ -21,7 +21,7 @@
 #
 AC_PREREQ(2.61)
 # Checks for programs.
-AC_INIT([gnunet], [0.11.6], [bug-gnunet@gnu.org])
+AC_INIT([gnunet], [0.11.8], [bug-gnunet@gnu.org])
 AC_CONFIG_AUX_DIR([build-aux])
 
 # check for legacy option that is no longer supported (#5627) and fail hard
@@ -639,6 +639,8 @@ AS_IF([test "$bluetooth" = 1],
       [AC_DEFINE([HAVE_LIBBLUETOOTH],[0],[Lacking bluetooth library])])
 
 # check for zbar library
+# TODO: Add checks for: -lSM, -lICE, -lX11, -lXv and -ljpeg
+# TODO: if zbar exists.
 zbar=0
 AC_MSG_CHECKING(for libzbar)
 AC_ARG_WITH(zbar,
@@ -714,7 +716,7 @@ AC_ARG_WITH(libpulse,
             AC_CHECK_HEADERS(pulse/simple.h,
                              AC_CHECK_LIB([pulse],
                                           [pa_stream_peek],
-                                          EXT_LIB_PATH="-L$with_pulse/lib $EXT_LIB_PATH"
+                                          EXT_LIB_PATH="-L$with_libpulse/lib $EXT_LIB_PATH"
                                           pulse=1))
         ])
     ],
@@ -763,15 +765,15 @@ AC_ARG_WITH(libopus,
     ],
     [AC_MSG_RESULT([--with-libopus not specified])
      CHECK_LIBHEADER(LIBOPUS,
-                            opus,
-                            opus_decode_float,
-                            opus/opus.h,
-                            AC_CHECK_DECL([OPUS_SET_GAIN],
-                                          [opus=1],
-                                          [],
-                                          [[
-                                          #include <opus/opus.h>
-                                          ]]))])
+                     opus,
+                     opus_decode_float,
+                     opus/opus.h,
+                     AC_CHECK_DECL([OPUS_SET_GAIN],
+                                   [opus=1],
+                                   [],
+                                   [[
+                                     #include <opus/opus.h>
+                                   ]]))])
 AM_CONDITIONAL(HAVE_OPUS, [test "$opus" = 1])
 AS_IF([test "x$opus" = x1],
       [AC_DEFINE([HAVE_OPUS],[1],[Have libopus library])
@@ -780,16 +782,38 @@ AS_IF([test "x$opus" = x1],
        libopus_msg="no"])
 
 # libogg
-AC_CHECK_LIB(ogg, ogg_stream_flush_fill,
-        [AC_CHECK_HEADERS([ogg/ogg.h],
-          AM_CONDITIONAL(HAVE_OGG, true)
-          ogg=1
-          AC_DEFINE(HAVE_OGG,1,[Have ogg]),
-          AM_CONDITIONAL(HAVE_OGG, false)
-          ogg=0
-          AC_DEFINE(HAVE_OGG,0,[lacking ogg]))],
-        AM_CONDITIONAL(HAVE_OGG, false)
-        ogg=0)
+AC_MSG_CHECKING(for libogg)
+AC_ARG_WITH(libogg,
+    [  --with-libogg=PREFIX (base of libogg installation)],
+    [AC_MSG_RESULT([$with_libogg])
+     AS_CASE([$with_libogg],
+        [no],[],
+        [yes],[
+            CHECK_LIBHEADER(LIBOGG,
+                            ogg,
+                            ogg_stream_flush_fill,
+                            ogg/ogg.h,
+                            ogg=1,)
+        ],[
+            LDFLAGS="-L$with_libogg/lib $LDFLAGS"
+            CPPFLAGS="-I$with_libogg/include $CPPFLAGS"
+            AC_CHECK_HEADERS(ogg/ogg.h,
+                             AC_CHECK_LIB([ogg],
+                                          [ogg_stream_flush_fill],
+                                          EXT_LIB_PATH="-L$with_libogg/lib $EXT_LIB_PATH"
+                                          ogg=1))
+        ])
+     ],
+     [AC_MSG_RESULT([--with-libogg not specified])
+      CHECK_LIBHEADER(LIBOGG,
+                      ogg,
+                      ogg_stream_flush_fill,
+                      ogg/ogg.h,
+                      ogg=1,)])
+AM_CONDITIONAL(HAVE_OGG, [test "$ogg" = 1])
+AS_IF([test x"$ogg" = x1],
+      [AC_DEFINE([HAVE_OGG],[1],[Have ogg])]
+      [AC_DEFINE([HAVE_OGG],[0],[Lacking ogg])])
 
 
 PKG_CHECK_MODULES([GLIB],
@@ -811,8 +835,10 @@ PKG_CHECK_MODULES([GLIB],
    AM_CONDITIONAL(HAVE_ABE, [false])
    AC_DEFINE([HAVE_PBC],[0],[Lacking glib library])])
 
+
 gst=0
 gstreamer_msg="no"
+AC_MSG_CHECKING(for gstreamer)
 PKG_CHECK_MODULES(
   [GST],
   [glib-2.0 gobject-2.0 gstreamer-1.0 gstreamer-app-1.0 gstreamer-audio-1.0],
@@ -820,7 +846,8 @@ PKG_CHECK_MODULES(
    gstreamer_msg="yes"],
   [gst=0])
 
-# Pulse Audio
+# conversation
+AC_MSG_CHECKING(conversation feature set to build)
 AS_IF([test "x$pulse" != "x1" -o "x$opus" != "x1" -o "x$ogg" != "x1"],[
  AS_IF([test "x$gst" != "x1"],[
   conversation_backend=none
@@ -1008,6 +1035,9 @@ LIBS=$SAVE_LIBS
 # if none exist, fail and message that libidn or libidn2
 # is required with a preference for libidn2.
 # TODO: What we have right here can probably be improved.
+AC_MSG_CHECKING(for idn or idn2)
+
+AC_MSG_CHECKING(for idn)
 my_with_libidn=1
 AC_ARG_WITH(libidn,
             AS_HELP_STRING([--with-libidn=pathname],
@@ -1016,19 +1046,20 @@ AC_ARG_WITH(libidn,
             [withval="yes"])
 AS_IF([test x_$withval = x_yes],
       [AC_CHECK_HEADERS([idna.h],
-          AC_MSG_NOTICE([Found idna.h]),
-          AC_CHECK_HEADERS([idn/idna.h],
-               AC_MSG_NOTICE([Found idn/idna.h]),
-               my_with_libidn=0))],
+                        AC_MSG_NOTICE([Found idna.h]),
+                        AC_CHECK_HEADERS([idn/idna.h],
+                                         AC_MSG_NOTICE([Found idn/idna.h]),
+                                         my_with_libidn=0))],
       [AS_IF([test x_$withval != x_no],
              [CFLAGS="$CFLAGS -I$withval/include"
               LDFLAGS="$LDFLAGS -L$withval/lib"
               AC_CHECK_HEADERS([idna.h],
-                AC_MSG_NOTICE([Found idna.h]),
-               [AC_MSG_NOTICE([Failed to find idna.h])
-                 my_with_libidn=0])],
+                               AC_MSG_NOTICE([Found idna.h]),
+                                  [AC_MSG_NOTICE([Failed to find idna.h])
+                               my_with_libidn=0])],
              [my_with_libidn=0])])
 
+AC_MSG_CHECKING(for idn2)
 my_with_libidn2=1
 AC_ARG_WITH(libidn2,
             AS_HELP_STRING([--with-libidn2=pathname],
@@ -1037,15 +1068,15 @@ AC_ARG_WITH(libidn2,
             [withval="yes"])
 AS_IF([test x_$withval = x_yes],
       [AC_CHECK_HEADERS([idn2.h],
-       AC_MSG_NOTICE([Found idn2.h]),
-       AC_CHECK_HEADERS([idn2/idn2.h],
-          AC_MSG_NOTICE([Found idn2/idn2.h]),
-          [AC_MSG_NOTICE([Failed to find idn2.h])
-           my_with_libidn2=0]))],
+                        AC_MSG_NOTICE([Found idn2.h]),
+                        AC_CHECK_HEADERS([idn2/idn2.h],
+                                         AC_MSG_NOTICE([Found idn2/idn2.h]),
+                                         [AC_MSG_NOTICE([Failed to find idn2.h])
+                                         my_with_libidn2=0]))],
       [AS_IF([test x_$withval != x_no],
              [CFLAGS="$CFLAGS -I$withval/include"
               LDFLAGS="$LDFLAGS -L$withval/lib"],
-            [my_with_libidn2=0])])
+                 [my_with_libidn2=0])])
 
 AC_MSG_CHECKING([if libidn can be used])
 # Check for LIBIDNs
@@ -1315,9 +1346,11 @@ LIBS=$SAVE_LIBS
 LDFLAGS=$SAVE_LDFLAGS
 CPPFLAGS=$SAVE_CPPFLAGS
 
+# TODO: should this test for "or" not "and"?
+# TODO: Add postgres?
 AS_IF([test "$sqlite" = 0 -a "$mysql" = 0],
 [
- AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
+ AC_MSG_ERROR([GNUnet requires SQLite or MySQL / MariaDB.])
 ])
 
 # libmicrohttpd
@@ -1984,7 +2017,9 @@ AS_IF([test x$gnutls != xtrue],
               gnutls_msg="yes (without DANE support)"],
              [gnutls_msg="yes (with DANE support)"])])
 # -- databases
-AS_IF([test $mysqlfail = true]
+# TODO: this always returns true, the check might
+# TODO: not be working as intended (for msqlfail).
+AS_IF([test x$mysqlfail = "true"]
       [AC_MSG_NOTICE([WARNING: optional MySQL not found (or too old)])])
 AS_IF([test "$mysql" = true],
       [features_msg="$features_msg mysql"