diff --git a/configure.ac b/configure.ac index b0ba6e4ace..d1bb640c61 100644 --- a/configure.ac +++ b/configure.ac @@ -80,6 +80,21 @@ requirements_libs_emotion="" requirements_libs_ethumb="" requirements_libs_elementary="" +requirements_libs_deps_evil="" +requirements_libs_deps_eina="" +requirements_libs_deps_eet="" +requirements_libs_deps_evas="" +requirements_libs_deps_ecore="" +requirements_libs_deps_embryo="" +requirements_libs_deps_eio="" +requirements_libs_deps_edje="" +requirements_libs_deps_efreet="" +requirements_libs_deps_e_dbus="" +requirements_libs_deps_eeze="" +requirements_libs_deps_emotion="" +requirements_libs_deps_ethumb="" +requirements_libs_deps_elementary="" + requirements_pc_eina="" requirements_pc_eet="" requirements_pc_evas="" @@ -94,6 +109,20 @@ requirements_pc_emotion="" requirements_pc_ethumb="" requirements_pc_elementary="" +requirements_pc_deps_eina="" +requirements_pc_deps_eet="" +requirements_pc_deps_evas="" +requirements_pc_deps_ecore="" +requirements_pc_deps_embryo="" +requirements_pc_deps_eio="" +requirements_pc_deps_edje="" +requirements_pc_deps_efreet="" +requirements_pc_deps_e_dbus="" +requirements_pc_deps_eeze="" +requirements_pc_deps_emotion="" +requirements_pc_deps_ethumb="" +requirements_pc_deps_elementary="" + AC_SUBST([requirements_libs_evil]) AC_SUBST([requirements_libs_eina]) AC_SUBST([requirements_libs_eet]) @@ -310,7 +339,7 @@ AC_CHECK_HEADERS([errno.h]) EVIL_CPPFLAGS="-DEFL_EVIL_BUILD" EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1" -EVIL_CFLAGS="-Wall -Wextra -Wshadow -Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -mms-bitfields" +EVIL_CFLAGS="-Wall -Wextra -Wshadow -Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wpointer-arith -mms-bitfields" EVIL_CXXFLAGS="" if test "x${have_win32}" = "xyes" ; then @@ -457,6 +486,22 @@ AC_MSG_RESULT([${enable_benchmark_e17}]) AM_CONDITIONAL([EINA_ENABLE_BENCHMARK_E17], [test "x${enable_benchmark_e17}" = "xyes"]) +# Valgrind + +AC_ARG_ENABLE([valgrind], + [AC_HELP_STRING([--enable-valgrind], [improve valgrind support by hinting it of our memory usages, having it to report proper mempool leaks. @<:@default=no@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + want_valgrind="yes" + else + want_valgrind="no" + fi + ], + [want_valgrind="no"]) + +AC_MSG_CHECKING([whether to enable build with valgrind]) +AC_MSG_RESULT([${want_valgrind}]) + ### Checks for programs ### Checks for libraries @@ -468,7 +513,6 @@ AM_CONDITIONAL([EINA_ENABLE_BENCHMARK_E17], [test "x${enable_benchmark_e17}" = " EFL_EINA_BUILD="" case "$host_os" in mingw*) - PKG_CHECK_EXISTS([evil >= 1.6.99]) AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if Evil package is installed]) requirements_pc_eina="${requirements_pc_eina} evil" EFL_EINA_BUILD="-DEFL_EINA_BUILD" @@ -500,33 +544,16 @@ PKG_CHECK_EXISTS([exotic], AM_CONDITIONAL([EINA_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"]) AC_SUBST([EINA_CONFIGURE_HAVE_EXOTIC]) -if ! test "x${requirements_pc_eina}" = "x" ; then - PKG_CHECK_MODULES([EINA], [${requirements_pc_eina}]) -fi - ## Options # Valgrind -AC_ARG_ENABLE([valgrind], - [AC_HELP_STRING([--enable-valgrind], [improve valgrind support by hinting it of our memory usages, having it to report proper mempool leaks.])], - [ - if test "x${enableval}" = "xyes" ; then - want_valgrind="yes" - else - want_valgrind="no" - fi - ], - [want_valgrind="auto"]) - -AC_MSG_CHECKING([whether to enable build with valgrind]) -AC_MSG_RESULT([${want_valgrind}]) - if test "x${want_valgrind}" = "xyes" || test "x${want_valgrind}" = "xauto"; then PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0], [ have_valgrind="yes" - requirements_pc_eina="valgrind ${requirements_pc_eina}" + requirements_pc_eina="valgrind >= 2.4.0 ${requirements_pc_eina}" + requirements_pc_deps_eina="valgrind ${requirements_pc_deps_eina}" ], [ have_valgrind="no" @@ -590,6 +617,12 @@ if test "x${enable_ememoa}" = "xyes" ; then [enable_ememoa="no"]) fi +if ! test "x${requirements_pc_deps_eina}" = "x" ; then + PKG_CHECK_MODULES([EINA], [${requirements_pc_deps_eina}]) +fi + + + ## Examples PKG_CHECK_MODULES([ECORE_EVAS], @@ -677,7 +710,7 @@ m4_ifdef([v_ver], EFL_CHECK_COMPILER_FLAGS([EINA], [-Wall -Wextra]) ]) -EFL_CHECK_COMPILER_FLAGS([EINA], [-Wshadow]) +EFL_CHECK_COMPILER_FLAGS([EINA], [-Wshadow -Wpointer-arith]) ### Checks for linker characteristics @@ -854,7 +887,6 @@ AC_MSG_RESULT([${want_signature}]) EFL_EET_BUILD="" case "$host_os" in mingw*) - PKG_CHECK_EXISTS([evil >= 1.1.0]) AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if Evil package is installed]) requirements_pc_eet="evil ${requirements_pc_eet}" EFL_EET_BUILD="-DEFL_EET_BUILD" @@ -884,6 +916,7 @@ if test "x${want_gnutls}" = "xyes" || test "x${want_gnutls}" = "xauto" ; then want_openssl="no" AC_DEFINE([HAVE_GNUTLS], [1], [Have Gnutls support]) requirements_pc_eet="gnutls >= 1.7.6 ${requirements_pc_eet}" + requirements_pc_deps_eet="gnutls >= 1.7.6 ${requirements_pc_deps_eet}" ], [have_gnutls="no"]) fi @@ -894,6 +927,7 @@ if test "x${have_gnutls}" = "xyes" ; then AC_PATH_GENERIC([libgcrypt], [], [have_gnutls="yes"], [have_gnutls="no"]) if test "x${have_gnutls}" = "xyes" ; then requirements_libs_eet="${LIBGCRYPT_LIBS} ${requirements_libs_eet}" + requirements_libs_deps_eet="${LIBGCRYPT_LIBS} ${requirements_libs_deps_eet}" fi fi @@ -977,6 +1011,7 @@ if test "x${want_openssl}" = "xyes" || test "x${want_openssl}" = "xauto" ; then have_openssl="yes" AC_DEFINE([HAVE_OPENSSL], [1], [Have Openssl support]) requirements_pc_eet="openssl ${requirements_pc_eet}" + requirements_pc_deps_eet="openssl ${requirements_pc_deps_eet}" ], [have_openssl="no"]) fi @@ -1017,23 +1052,28 @@ AC_MSG_RESULT([${have_signature}]) # libjpeg and zlib -EFL_CHECK_LIBS([eet], [libjpeg zlib]) +EFL_CHECK_LIBS([EET], [libjpeg zlib]) # Eina library -requirements_pc_eet="eina >= 1.2.0 ${requirements_pc_eet}" -PKG_CHECK_MODULES([EET], [${requirements_pc_eet}]) +requirements_pc_eet="eina >= 1.7.99 ${requirements_pc_eet}" + +PKG_CHECK_MODULES([EET], [${requirements_pc_deps_eet}]) + +# Windows case "$host_os" in mingw32ce*) requirements_libs_eet="${requirements_libs_eet} -lws2" + requirements_libs_deps_eet="${requirements_libs_deps_eet} -lws2" ;; mingw*) requirements_libs_eet="${requirements_libs_eet} -lws2_32" + requirements_libs_deps_eet="${requirements_libs_deps_eet} -lws2_32" ;; esac -EET_LIBS="${EET_LIBS} ${requirements_libs_eet}" +EET_LIBS="${EET_LIBS} ${requirements_libs_deps_eet}" ### Checks for header files @@ -1069,6 +1109,8 @@ if test ! "x${have_null}" = "xyes" ; then AC_MSG_WARN([Your system is a bit too funny, eet might not work properly]) fi +EFL_CHECK_COMPILER_FLAGS([EET], [-Wshadow -Wpointer-arith]) + ### Checks for linker characteristics case "${host_os}" in diff --git a/m4/efl_check_funcs.m4 b/m4/efl_check_funcs.m4 index d72fb34344..1611633a15 100644 --- a/m4/efl_check_funcs.m4 +++ b/m4/efl_check_funcs.m4 @@ -85,7 +85,6 @@ case "$host_os" in mingw*) _efl_have_fct="yes" requirements_libs_[]m4_defn([DOWNEFL])="${requirements_libs_[]m4_defn([DOWNEFL])} -ldl" - m4_defn([UPEFL])[]_LIBS="${m4_defn([UPEFL])[]_LIBS} -ldl" ;; *) _efl_have_fct="no" @@ -151,7 +150,6 @@ case "$host_os" in mingw*) _efl_have_fct="yes" requirements_libs_[]m4_defn([DOWNEFL])="${requirements_libs_[]m4_defn([DOWNEFL])} -ldl" - m4_defn([UPEFL])[]_LIBS="${m4_defn([UPEFL])[]_LIBS} -ldl" ;; *) _efl_have_fct="no" diff --git a/m4/efl_check_libs.m4 b/m4/efl_check_libs.m4 index b1c37894b6..cbdb11b795 100644 --- a/m4/efl_check_libs.m4 +++ b/m4/efl_check_libs.m4 @@ -26,6 +26,7 @@ if test "x${have_dep}" = "xyes" ; then [ have_dep="yes" requirements_libs_[]m4_defn([DOWNEFL])="${requirements_libs_[]m4_defn([DOWNEFL])} -ljpeg" + requirements_libs_deps_[]m4_defn([DOWNEFL])="${requirements_libs_deps_[]m4_defn([DOWNEFL])} -ljpeg" ], [ AC_MSG_ERROR("Cannot find libjpeg library. Make sure your LDFLAGS environment variable contains include lines for the location of this file") @@ -47,16 +48,12 @@ AC_DEFUN([_EFL_CHECK_LIB_ZLIB], m4_pushdef([UPEFL], m4_translit([$1], [-a-z], [_A-Z]))dnl m4_pushdef([DOWNEFL], m4_translit([$1], [-A-Z], [_a-z]))dnl -PKG_CHECK_EXISTS([zlib], - [ - _efl_have_lib="yes" - requirements_pc_[]m4_defn([DOWNEFL])="${requirements_pc_[]m4_defn([DOWNEFL])} zlib" - ], - [ - _efl_have_lib="no" - ]) +PKG_CHECK_EXISTS([zlib >= 1.2.3], [_efl_have_lib="yes"], [_efl_have_lib="no"]) -if test "x${_efl_have_lib}" = "xno" ; then +if test "x${_efl_have_lib}" = "xyes" ; then + requirements_pc_[]m4_defn([DOWNEFL])="${requirements_pc_[]m4_defn([DOWNEFL])} zlib >= 1.2.3" + requirements_pc_deps_[]m4_defn([DOWNEFL])="${requirements_pc_deps_[]m4_defn([DOWNEFL])} zlib >= 1.2.3" +else AC_CHECK_HEADER([zlib.h], [_efl_have_lib="yes"], [ @@ -69,6 +66,7 @@ if test "x${_efl_have_lib}" = "xno" ; then [ _efl_have_lib="yes" requirements_libs_[]m4_defn([DOWNEFL])="${requirements_libs_[]m4_defn([DOWNEFL])} -lz" + requirements_libs_deps_[]m4_defn([DOWNEFL])="${requirements_libs_deps_[]m4_defn([DOWNEFL])} -lz" ], [ AC_MSG_ERROR(["Cannot find libjpeg library. Make sure your LDFLAGS environment variable contains include lines for the location of this file"]) diff --git a/src/bin/eet/Makefile.am b/src/bin/eet/Makefile.am index af5fa844c8..eb536c4514 100644 --- a/src/bin/eet/Makefile.am +++ b/src/bin/eet/Makefile.am @@ -1,17 +1,33 @@ - MAINTAINERCLEANFILES = Makefile.in AM_CPPFLAGS = \ +-I$(top_srcdir)/src/include/eina \ -I$(top_srcdir)/src/lib/eet \ +-I$(top_builddir)/src/include/eina \ -I$(top_builddir)/src/lib/eet \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ @EET_CFLAGS@ +if HAVE_WINDOWS +AM_CPPFLAGS += \ +-I$(top_srcdir)/src/lib/evil \ +-I$(top_builddir)/src/lib/evil +endif + bin_PROGRAMS = @EET_PRG@ EXTRA_PROGRAMS = eet eet_SOURCES = eet_main.c -eet_LDADD = $(top_builddir)/src/lib/eet/libeet.la @EET_LIBS@ +eet_LDADD = \ +$(top_builddir)/src/lib/eet/libeet.la \ +$(top_builddir)/src/lib/eina/libeina.la + +if HAVE_WINDOWS +eet_LDADD += $(top_builddir)/src/lib/evil/libdl.la +endif + +eet_LDADD += @EET_LIBS@ + eet_LDFLAGS = @lt_enable_auto_import@ diff --git a/src/lib/eet/Makefile.am b/src/lib/eet/Makefile.am index e4d1c3b823..9460528da9 100644 --- a/src/lib/eet/Makefile.am +++ b/src/lib/eet/Makefile.am @@ -1,10 +1,10 @@ - MAINTAINERCLEANFILES = Makefile.in AM_CPPFLAGS = \ --I. \ +-I$(top_srcdir)/src/include/eina \ -I$(top_srcdir)/src/lib/eet \ -I$(top_srcdir)/src/lib/eet/lz4 \ +-I$(top_builddir)/src/include/eina \ -I$(top_builddir)/src/lib/eet \ -I$(top_builddir)/src/lib/eet/lz4 \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ @@ -13,6 +13,12 @@ AM_CPPFLAGS = \ @EET_CFLAGS@ \ @EFL_EET_BUILD@ +if HAVE_WINDOWS +AM_CPPFLAGS += \ +-I$(top_srcdir)/src/lib/evil \ +-I$(top_builddir)/src/lib/evil +endif + includes_HEADERS = Eet.h includesdir = $(includedir)/eet-@VMAJ@ @@ -34,7 +40,14 @@ lz4/lz4.h \ lz4/lz4hc.c \ lz4/lz4hc.h -libeet_la_LIBADD = @EET_LIBS@ -lm +libeet_la_LIBADD = $(top_builddir)/src/lib/eina/libeina.la + +if HAVE_WINDOWS +libeet_la_LIBADD += $(top_builddir)/src/lib/evil/libevil.la +endif + +libeet_la_LIBADD += @EET_LIBS@ -lm + libeet_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ EXTRA_DIST = lz4/README diff --git a/src/lib/eina/Makefile.am b/src/lib/eina/Makefile.am index 7b1901238f..747eda8617 100644 --- a/src/lib/eina/Makefile.am +++ b/src/lib/eina/Makefile.am @@ -11,6 +11,12 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @VALGRIND_CFLAGS@ +if HAVE_WINDOWS +AM_CPPFLAGS += \ +-I$(top_srcdir)/src/lib/evil \ +-I$(top_builddir)/src/lib/evil +endif + lib_LTLIBRARIES = libeina.la libeina_la_SOURCES = \ @@ -104,7 +110,16 @@ if EINA_STATIC_BUILD_PASS_THROUGH libeina_la_SOURCES += $(top_srcdir)/src/modules/eina/mp/pass_through/eina_pass_through.c endif -libeina_la_LIBADD = @EINA_LIBS@ -lm +libeina_la_LIBADD = @EINA_LIBS@ + +if HAVE_WINDOWS +libeina_la_LIBADD += \ +$(top_builddir)/src/lib/evil/libevil.la \ +$(top_builddir)/src/lib/evil/libdl.la +endif + +libeina_la_LIBADD += -lm + libeina_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@ clean-local: