fix @version in each EFL header doxygen
[framework/uifw/eet.git] / configure.ac
index 8dd52f7..3fcd376 100644 (file)
@@ -1,19 +1,19 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [1])
-m4_define([v_min], [3])
-m4_define([v_mic], [0])
-m4_define([v_rev], m4_esyscmd([(svnversion . | grep -v exported || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
+m4_define([v_min], [6])
+m4_define([v_mic], [99])
+m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
 ##--   When released, remove the dnl on the below line
-m4_undefine([v_rev])
+dnl m4_undefine([v_rev])
 ##--   When doing snapshots - change soname. remove dnl on below line
 dnl m4_define([relname], [ver-pre-svn-05])
 dnl m4_define([v_rel], [-release relname])
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
-m4_define([lt_rev], m4_eval(v_maj + v_min))
-m4_define([lt_cur], v_mic)
+m4_define([lt_cur], m4_eval(v_maj + v_min))
+m4_define([lt_rev], v_mic)
 m4_define([lt_age], v_min)
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
@@ -22,12 +22,17 @@ AC_INIT([eet], [v_ver], [enlightenment-devel@lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-AC_ISC_POSIX
+
+AC_CONFIG_HEADERS([config.h])
+AH_TOP([
+#ifndef EFL_CONFIG_H__
+#define EFL_CONFIG_H__
+])
+AH_BOTTOM([
+#endif /* EFL_CONFIG_H__ */
+])
 
 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
-AM_CONFIG_HEADER([config.h])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 AC_LIBTOOL_WIN32_DLL
@@ -43,49 +48,29 @@ AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
-version_info="lt_rev:lt_cur:lt_age"
+version_info="lt_cur:lt_rev:lt_age"
 release_info="v_rel"
 AC_SUBST(version_info)
 AC_SUBST(release_info)
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+VMAJ=v_maj
+AC_SUBST(VMAJ)
 
 
-### Default options with respect to host
-
-case "$host_os" in
-   mingw*)
-      want_gnutls="no"
-      want_openssl="no"
-      want_cipher="no"
-      want_signature="no"
-      ;;
-   *)
-      want_gnutls="auto"
-      want_openssl="auto"
-      want_cipher="yes"
-      want_signature="yes"
-      ;;
-esac
-
-requirement_eet=""
+### Needed information
 
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
 
-### Additional options to configure
+### Default options with respect to host
 
-# Amalgamation
+want_gnutls="auto"
+want_openssl="auto"
+want_cipher="yes"
+want_signature="yes"
 
-AC_ARG_ENABLE([amalgamation],
-   [AC_HELP_STRING([--enable-amalgamation], [enable generation of one single file with all source code in it, helps compiler optimizations.])],
-   [if test "x${enableval}" = "xyes"; then
-       do_amalgamation="yes"
-    else
-       do_amalgamation="no"
-    fi
-   ],
-   [do_amalgamation="no"]
-)
-AM_CONDITIONAL(EET_AMALGAMATION, test "x${do_amalgamation}" = "xyes")
+requirement_eet=""
 
 EFL_ENABLE_BIN([eet])
 
@@ -108,39 +93,6 @@ else
    AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 0, [support old eet file format])
 fi
 
-# Gnutls support
-
-AC_ARG_ENABLE([gnutls],
-   [AC_HELP_STRING([--disable-gnutls], [disable gnutls eet support])],
-   [want_gnutls=$enableval]
-)
-AC_MSG_CHECKING([whether to use Gnutls])
-AC_MSG_RESULT([${want_gnutls}])
-
-# Specific GNUTLS improvement
-
-new_gnutls_api="yes"
-AC_ARG_ENABLE(new-gnutls-api,
-   [AC_HELP_STRING(
-      [--disable-new-gnutls-api],
-      [enable use of gnutls_x509_crt_verify_hash. [[default=enable]]]
-    )],
-   [new_gnutls_api=$enableval]
-)
-AC_MSG_CHECKING([whether to use gnutls_x509_crt_verify_hash])
-AC_MSG_RESULT([${new_gnutls_api}])
-
-if test "x${new_gnutls_api}" = "xyes" ; then
-   AC_CHECK_LIB(gnutls, gnutls_x509_crt_verify_hash,
-                [ new_gnutls_api="yes" ],
-               [ new_gnutls_api="no" ]
-               )
-
-   if test "x${new_gnutls_api}" = "xyes"; then
-      AC_DEFINE(EET_USE_NEW_GNUTLS_API, 1, [use gnutls_x509_crt_verify_hash])
-   fi
-fi
-
 # Openssl support
 
 AC_ARG_ENABLE([openssl],
@@ -241,7 +193,7 @@ EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
 EFL_EET_BUILD=""
 case "$host_os" in
    mingw*)
-      PKG_CHECK_MODULES([EVIL], [evil])
+      PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
       requirement_eet="evil ${requirement_eet}"
       EFL_EET_BUILD="-DEFL_EET_BUILD"
@@ -262,12 +214,34 @@ AC_SUBST(EET_LIBS)
 
 # Eina library
 
-PKG_CHECK_MODULES(EINA, [eina-0])
-requirement_eet="eina-0 ${requirement_eet}"
+PKG_CHECK_MODULES(EINA, [eina >= 1.2.0])
+requirement_eet="eina >= 1.2.0 ${requirement_eet}"
+
+### Checks for portability layer
+
+PKG_CHECK_MODULES([EXOTIC],
+   [exotic],
+   [enable_exotic="yes"],
+   [enable_exotic="no"])
+
+if test "x${enable_exotic}" = "xyes"; then
+    requirement_eet="exotic ${requirement_eet}"
+
+    AC_DEFINE([HAVE_EXOTIC_H], [1], [Define to 1 if you have Exotic.])
+fi
+
+# Gnutls support
+
+AC_ARG_ENABLE([gnutls],
+   [AC_HELP_STRING([--disable-gnutls], [disable gnutls eet support])],
+   [want_gnutls=$enableval]
+)
+AC_MSG_CHECKING([whether to use Gnutls])
+AC_MSG_RESULT([${want_gnutls}])
 
 # Gnutls library
 have_gnutls="no"
-if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto" ; then
+if test "x${want_gnutls}" = "xyes" || test "x${want_gnutls}" = "xauto" ; then
    PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.6],
       [
        have_gnutls="yes"
@@ -285,9 +259,79 @@ if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto" ; then
    fi
 fi
 
+# Specific GNUTLS improvement
+
+new_gnutls_api="yes"
+AC_ARG_ENABLE(new-gnutls-api,
+   [AC_HELP_STRING(
+      [--disable-new-gnutls-api],
+      [enable use of gnutls_x509_crt_verify_hash. [[default=enable]]]
+    )],
+   [new_gnutls_api=$enableval]
+)
+AC_MSG_CHECKING([whether to use gnutls_x509_crt_verify_hash])
+AC_MSG_RESULT([${new_gnutls_api}])
+
+if test "x${new_gnutls_api}" = "xyes" ; then
+   tmp_CFLAGS="${CFLAGS}"
+   tmp_LIBS="${LIBS}"
+   CFLAGS="${GNUTLS_CFLAGS}"
+   LIBS="${GNUTLS_LIBS}"
+   AC_CHECK_LIB(gnutls, gnutls_x509_crt_verify_hash,
+                [ new_gnutls_api="yes" ],
+               [ new_gnutls_api="no" ]
+               )
+   CFLAGS="${tmp_CFLAGS}"
+   LIBS="${tmp_LIBS}"
+
+   if test "x${new_gnutls_api}" = "xyes"; then
+      AC_DEFINE(EET_USE_NEW_GNUTLS_API, 1, [use gnutls_x509_crt_verify_hash])
+   fi
+fi
+
+use_gnutls_privkey_sign_data="no"
+if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto"; then
+   tmp_CFLAGS="${CFLAGS}"
+   tmp_LIBS="${LIBS}"
+   CFLAGS="${GNUTLS_CFLAGS}"
+   LIBS="${GNUTLS_LIBS}"
+   AC_CHECK_LIB(gnutls, gnutls_privkey_sign_data,
+               [ use_gnutls_privkey_sign_data="yes" ],
+               [ use_gnutls_privkey_sign_data="no" ]
+               )
+   CFLAGS="${tmp_CFLAGS}"
+   LIBS="${tmp_LIBS}"
+
+   if test "x${use_gnutls_privkey_sign_data}" = "xyes"; then
+      AC_DEFINE(EET_USE_NEW_PRIVKEY_SIGN_DATA, 1, [use gnutls_privkey_sign_data])
+   fi
+fi
+AC_MSG_CHECKING([whether to use gnutls_privkey_sign_data])
+AC_MSG_RESULT([${use_gnutls_privkey_sign_data}])
+
+use_gnutls_pubkey_verify_hash="no"
+if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto"; then
+   tmp_CFLAGS="${CFLAGS}"
+   tmp_LIBS="${LIBS}"
+   CFLAGS="${GNUTLS_CFLAGS}"
+   LIBS="${GNUTLS_LIBS}"
+   AC_CHECK_LIB(gnutls, gnutls_pubkey_verify_hash,
+               [ use_gnutls_pubkey_verify_hash="yes" ],
+               [ use_gnutls_pubkey_verify_hash="no" ]
+               )
+   CFLAGS="${tmp_CFLAGS}"
+   LIBS="${tmp_LIBS}"
+
+   if test "x${use_gnutls_pubkey_verify_hash}" = "xyes"; then
+      AC_DEFINE(EET_USE_NEW_PUBKEY_VERIFY_HASH, 1, [use gnutls_pubkey_verify_hash])
+   fi
+fi
+AC_MSG_CHECKING([whether to use gnutls_pubkey_verify_hash])
+AC_MSG_RESULT([${use_gnutls_pubkey_verify_hash}])
+
 # Openssl library
 have_openssl="no"
-if test "x${want_openssl}" = "xyes" -o "x${want_openssl}" = "xauto" ; then
+if test "x${want_openssl}" = "xyes" || test "x${want_openssl}" = "xauto" ; then
    PKG_CHECK_MODULES(OPENSSL, openssl,
       [
        have_openssl="yes"
@@ -297,11 +341,19 @@ if test "x${want_openssl}" = "xyes" -o "x${want_openssl}" = "xauto" ; then
       [have_openssl="no"])
 fi
 
+if test "x${have_gnutls}" = "xyes" ; then
+   secure_layer="GnuTLS"
+elif test "x${have_openssl}" = "xyes" ; then
+   secure_layer="OpenSSL"
+else
+   secure_layer="no"
+fi
+
 have_cipher="no"
-if test "x${have_gnutls}" = "xyes" -a "x${want_cipher}" = "xyes" ; then
+if test "x${have_gnutls}" = "xyes" && test "x${want_cipher}" = "xyes" ; then
    have_cipher="yes"
    AC_DEFINE(HAVE_CIPHER, 1, [Have cipher support built in eet])
-elif test "x${have_openssl}" = "xyes" -a "x${want_cipher}" = "xyes" ; then
+elif test "x${have_openssl}" = "xyes" && test "x${want_cipher}" = "xyes" ; then
    have_cipher="yes"
    AC_DEFINE(HAVE_CIPHER, 1, [Have cipher support built in eet])
 fi
@@ -310,10 +362,10 @@ AC_MSG_CHECKING(whether to activate cipher support in eet)
 AC_MSG_RESULT(${have_cipher})
 
 have_signature="no"
-if test "x${have_gnutls}" = "xyes" -a "x${want_signature}" = "xyes" ; then
+if test "x${have_gnutls}" = "xyes" && test "x${want_signature}" = "xyes" ; then
    have_signature="yes"
    AC_DEFINE(HAVE_SIGNATURE, 1, [Have signature support for eet file])
-elif test "x${have_openssl}" = "xyes" -a "x${want_signature}" = "xyes" ; then
+elif test "x${have_openssl}" = "xyes" && test "x${want_signature}" = "xyes" ; then
    have_signature="yes"
    AC_DEFINE(HAVE_SIGNATURE, 1, [Have signature support for eet file])
 fi
@@ -321,11 +373,6 @@ fi
 AC_MSG_CHECKING(whether to activate signature support in eet)
 AC_MSG_RESULT(${have_signature})
 
-# pthread library
-
-EFL_CHECK_PTHREAD(["no"], [have_pthread="yes"], [have_pthread="no"])
-
-
 ### Checks for header files
 
 AC_CHECK_HEADER([zlib.h],
@@ -336,8 +383,8 @@ AC_CHECK_HEADER([jpeglib.h],
    [dummy="yes"],
    [AC_MSG_ERROR("Cannot find jpeglib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")])
 
-AC_CHECK_HEADERS(netinet/in.h)
-
+AC_CHECK_HEADERS(netinet/in.h unistd.h)
+EFL_CHECK_PATH_MAX
 
 ### Checks for types
 
@@ -356,10 +403,11 @@ AC_C___ATTRIBUTE__
 AC_TRY_RUN(
    [
 #include <stdlib.h>
+#include <inttypes.h>
 int main (int argc, char **argv) {
   void *foo = NULL;
-  int bar = (int)foo;
-  return (int)foo;
+  uintptr_t bar = (uintptr_t)foo;
+  return (uintptr_t)foo;
 }
    ],
    [have_null="yes"],
@@ -404,22 +452,17 @@ case "$host_os" in
 esac
 AC_SUBST(lt_enable_auto_import)
 
-# use --as-needed if supported
-
-LDFLAGS_SAVE=${LDFLAGS}
-LDFLAGS="${LDFLAGS} -Wl,--as-needed"
-
-AC_LINK_IFELSE(
-   [AC_LANG_PROGRAM([[]], [])],
-   [ld_as_needed="-Wl,--as-needed"],
-   [ld_as_needed=""]
-)
-
-LDFLAGS=${LDFLAGS_SAVE}
-AC_SUBST(ld_as_needed)
+case "${host_os}" in
+   openbsd*)
+      ;;
+   *)
+      EFL_LINKER_FLAG([-Wl,--as-needed])
+      ;;
+esac
 
 
 ### Checks for library functions
+AC_ISC_POSIX
 AC_FUNC_ALLOCA
 
 AC_CHECK_FUNCS(fmemopen open_memstream realpath)
@@ -433,13 +476,13 @@ AC_OUTPUT([
 Makefile
 eet.pc
 doc/Makefile
+doc/Doxyfile
 doc/eet.dox
 src/Makefile
 src/lib/Makefile
 src/bin/Makefile
 src/tests/Makefile
 src/examples/Makefile
-README
 eet.spec
 ])
 
@@ -456,12 +499,11 @@ echo "------------------------------------------------------------------------"
 echo
 echo "Configuration Options Summary:"
 echo
-echo "  Amalgamation.........: ${do_amalgamation}"
-echo "  Gnutls...............: ${have_gnutls}"
-echo "  Openssl..............: ${have_openssl}"
-echo "    Cipher support.....: ${have_cipher}"
-echo "    Signature..........: ${have_signature}"
-echo "  Thread Support.......: ${have_pthread}"
+echo "  Secure layer.........: ${secure_layer}"
+if test "x${have_gnutls}" = "xyes" || test "x${have_openssl}" = "xyes" ; then
+   echo "    Cipher support.....: ${have_cipher}"
+   echo "    Signature..........: ${have_signature}"
+fi
 echo
 echo "  Old eet file format..: ${old_eet_file_format}"
 echo
@@ -475,9 +517,7 @@ if test "x${build_doc}" = "xyes" ; then
    echo "    Building...........: make doc"
 fi
 echo "  Examples.............: ${build_examples}"
-if test "x${build_examples}" = "xyes" ; then
-   echo "    Install............: ${install_examples}"
-fi
+echo "  Examples installed...: ${install_examples}"
 echo
 echo "Compilation............: make (or gmake)"
 echo "  CPPFLAGS.............: $CPPFLAGS"