Thanks to
[oweals/opkg-lede.git] / configure.ac
index a076742f9b737b2549ea244309fe33af4f61f618..315e13974d114ea62fc66050b0a032739ee1fd8e 100644 (file)
@@ -1,9 +1,14 @@
 # Process this file with autoconf to produce a configure script
-AC_INIT(opkg.c)
-AM_INIT_AUTOMAKE([opkg], [0.99.163])
-AM_CONFIG_HEADER(config.h)
+AC_INIT(libopkg/libopkg.c)
+
+AC_CONFIG_AUX_DIR([conf])
+AC_CONFIG_MACRO_DIR([m4])
+
+AM_INIT_AUTOMAKE([opkg], [0.1.6])
+AM_CONFIG_HEADER(libopkg/config.h)
 
 AC_CANONICAL_HOST
+AC_GNU_SOURCE 
 
 
 for top_builddir in . .. ../.. $ac_auxdir $ac_auxdir/..; do
@@ -19,8 +24,71 @@ AC_PROG_LN_S
 AM_PROG_INSTALL_STRIP
 AC_PROG_LIBTOOL
 
-# Checks for libraries (hah! opkg is pretty much self-contained)
-PKG_CHECK_MODULES(CURL, libcurl)
+# Checks for libraries
+
+# check for libcurl
+AC_ARG_ENABLE(curl,
+              AC_HELP_STRING([--enable-curl], [Enable downloading with curl
+      [[default=yes]] ]),
+    [want_curl="$enableval"], [want_curl="yes"])
+
+if test "x$want_curl" = "xyes"; then
+  PKG_CHECK_MODULES(CURL, libcurl)
+  AC_DEFINE(HAVE_CURL, 1, [Define if you want CURL support])
+fi
+
+
+dnl **********
+dnl GPGME
+dnl **********
+
+AC_ARG_ENABLE(gpg,
+    AC_HELP_STRING([--enable-gpg], [Enable signature checking with gpgme
+      [[default=yes]] ]),
+    [want_gpgme="$enableval"], [want_gpgme="yes"])
+
+if test "x$want_gpgme" = "xyes"; then
+  ok="no"
+  min_gpgme_version=1.0.0
+  AC_PATH_PROG(GPGME_CONFIG, gpgme-config, "failed")
+  if test $GPGME_CONFIG != "failed" ; then
+       AC_MSG_CHECKING(for GPGME - version >= $min_gpgme_version)
+       req_major=`echo $min_gpgme_version | \
+                  sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
+       req_minor=`echo $min_gpgme_version | \
+                  sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
+       req_micro=`echo $min_gpgme_version | \
+                  sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
+       gpgme_config_version=`$GPGME_CONFIG --version`
+       major=`echo $gpgme_config_version | \
+                  sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+       minor=`echo $gpgme_config_version | \
+                  sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
+       micro=`echo $gpgme_config_version | \
+                  sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
+
+         if test "$major" -eq "$req_major"; then
+            if test "$minor" -ge "$req_minor"; then
+              if test "$micro" -ge "$req_micro"; then
+                ok="yes"
+              fi
+            fi
+         fi
+  fi
+
+  if test $ok = "yes"; then
+    GPGME_CFLAGS=`$GPGME_CONFIG --cflags`
+    GPGME_LIBS=`$GPGME_CONFIG --libs`
+    AC_MSG_RESULT(yes)
+    AC_DEFINE(HAVE_GPGME, 1, [Define if you want GPG support])
+  else
+    AC_MSG_ERROR(GPGME $min_gpgme_version or later needed)
+  fi
+fi
+
+AC_SUBST(GPGME_CFLAGS)
+AC_SUBST(GPGME_LIBS)
+
 
 # Checks for header files
 AC_HEADER_DIRENT
@@ -37,6 +105,10 @@ AC_TYPE_PID_T
 AC_TYPE_SIZE_T
 AC_CHECK_MEMBERS([struct stat.st_rdev])
 
+# Checks endianness
+AC_C_BIGENDIAN(BIGENDIAN_CFLAGS="-DWORDS_BIGENDIAN=1",)
+AC_SUBST(BIGENDIAN_CFLAGS)
+
 # Don't do annoying tests that don't work when cross-compiling, just trust them.
 # The AC_FUNC_MEMCMP test doesn't work during a cross-compile, disable.
 # AC_FUNC_MEMCMP
@@ -70,4 +142,12 @@ fi
 
 AC_SUBST(opkglibdir)
 
-AC_OUTPUT(Makefile etc/Makefile familiar/Makefile familiar/control familiar/control-unstripped familiar/libopkg-control  familiar/libopkg-dev-control libbb/Makefile libopkg.pc opkg.h)
+AC_OUTPUT(
+    Makefile
+    libopkg/Makefile
+    tests/Makefile
+    src/Makefile
+    libbb/Makefile
+    utils/Makefile
+    libopkg.pc
+    )