Hello. On Thu, 2014-01-23 at 17:30, Cedric BAIL wrote: > cedric pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=9aa68bca91678dcd83de3e35be1a7121094d6ef7 > > commit 9aa68bca91678dcd83de3e35be1a7121094d6ef7 > Author: Cedric BAIL <[email protected]> > Date: Fri Jan 24 10:28:05 2014 +0900 > > autotools: restore support of static compilation. > > This should fix T599.
So this is the commit which might should be backported to 1.8.x? My first impression was: to little commits message for to many lines changed. :) You did not only fix the static build, I expect it to work now, but you completely changed it to use the efl.m4 macro infrastructure. Thats a little more than just fixinf the static build. It also broke the build by setting the EFL_VERSION to include [dev]. Either way it might fix bug in 1.8.x so I would be willing to get it in. It would be good if the reporter could test it though. regards Stefan Schmidt > --- > configure.ac | 174 ++++++------- > m4/efl.m4 | 447 > ++++++++++++++++++++++++++++++++++ > src/lib/Makefile.am | 4 +- > src/modules/access_output/Makefile.am | 2 +- > src/modules/test_entry/Makefile.am | 2 +- > src/modules/test_map/Makefile.am | 2 +- > 6 files changed, 519 insertions(+), 112 deletions(-) > > diff --git a/configure.ac b/configure.ac > index b7fcec9..4f5215d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -1,25 +1,7 @@ > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > -m4_define([v_maj], [1]) > -m4_define([v_min], [8]) > -m4_define([v_mic], [99]) > -m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || > echo 0) | tr -d '\n'])) > -##-- When released, remove the dnl on the below line > -dnl m4_undefine([v_rev]) > -##-- When doing snapshots - change soname. remove dnl on below line > -dnl m4_define([relname], [dev]) > -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_age], v_min) > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > - > +EFL_VERSION([1], [8], [99], [dev]) > AC_INIT([elementary], [v_ver], [[email protected]]) > -AC_PREREQ(2.52) > + > +AC_PREREQ(2.60) > AC_CONFIG_SRCDIR([configure.ac]) > AC_CONFIG_MACRO_DIR([m4]) > AC_CANONICAL_BUILD > @@ -34,19 +16,11 @@ AH_BOTTOM([ > #endif /* EFL_CONFIG_H__ */ > ]) > > +AC_USE_SYSTEM_EXTENSIONS > + > AM_INIT_AUTOMAKE([1.6 dist-bzip2]) > m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) > > -AC_GNU_SOURCE > - > -AC_C_BIGENDIAN > -AC_ISC_POSIX > -AC_PROG_CC > -AC_PROG_CC_STDC > -AC_HEADER_STDC > -AC_C_CONST > -AC_FUNC_ALLOCA > - > # pkg-config > PKG_PROG_PKG_CONFIG > > @@ -145,28 +119,21 @@ define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl > define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl > m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) > LT_INIT([win32-dll disable-static pic-only]) > +EFL_INIT > #AC_PROG_LIBTOOL > > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > -m4_ifdef([v_rev], , [m4_define([v_rev], [0])]) > -m4_ifdef([v_rel], , [m4_define([v_rel], [])]) > -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" > -release_info="v_rel" > -AC_SUBST(version_info) > -AC_SUBST(release_info) > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## > -VMAJ=v_maj > -VMIN=v_min > -AC_SUBST(VMAJ) > -AC_SUBST(VMIN) > -ELM_VERSION_MAJOR=v_maj > -ELM_VERSION_MINOR=v_min > +AC_GNU_SOURCE > + > +AC_C_BIGENDIAN > +AC_ISC_POSIX > +AC_PROG_CC > +AC_PROG_CC_STDC > +AC_HEADER_STDC > +AC_C_CONST > +AC_FUNC_ALLOCA > + > +ELM_VERSION_MAJOR="v_maj" > +ELM_VERSION_MINOR="v_min" > AC_SUBST(ELM_VERSION_MAJOR) > AC_SUBST(ELM_VERSION_MINOR) > > @@ -178,7 +145,6 @@ case "$host_os" in > MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic" > ;; > esac > -AC_SUBST(release_info) > AC_SUBST(MODULE_ARCH) > AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture") > > @@ -187,8 +153,6 @@ AC_DEFINE_UNQUOTED(EFL_SHARED_EXTENSION, > "${EFL_SHARED_EXTENSION}", "Shared exte > > requirement_elm="" > > -PKG_PROG_PKG_CONFIG > - > # Check whether pkg-config supports Requires.private > if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then > pkgconfig_requires_private="Requires.private" > @@ -239,28 +203,26 @@ AC_SUBST(ELM_WINCE_DEF) > > AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = > "xyes"]) > > -efl_version="1.8.99" > - > PKG_CHECK_MODULES([ELEMENTARY], > [ > - eina >= ${efl_version} > - eet >= ${efl_version} > - evas >= ${efl_version} > - ecore >= ${efl_version} > - ecore-evas >= ${efl_version} > - ecore-file >= ${efl_version} > - ecore-input >= ${efl_version} > - edje >= ${efl_version} > - eo >= ${efl_version} > - ethumb_client >= ${efl_version} > - emotion >= ${efl_version} > - ecore-imf >= ${efl_version} > - ecore-con >= ${efl_version} > - eio >= ${efl_version} > - eldbus >= ${efl_version} > - efreet >= ${efl_version} > - efreet-mime >= ${efl_version} > - efreet-trash >= ${efl_version} > + eina >= efl_version > + eet >= efl_version > + evas >= efl_version > + ecore >= efl_version > + ecore-evas >= efl_version > + ecore-file >= efl_version > + ecore-input >= efl_version > + edje >= efl_version > + eo >= efl_version > + ethumb_client >= efl_version > + emotion >= efl_version > + ecore-imf >= efl_version > + ecore-con >= efl_version > + eio >= efl_version > + eldbus >= efl_version > + efreet >= efl_version > + efreet-mime >= efl_version > + efreet-trash >= efl_version > ] > ) > > @@ -268,24 +230,24 @@ EFL_ENABLE_EO_API_SUPPORT > EFL_ENABLE_BETA_API_SUPPORT > > requirement_elm="\ > - eina >= ${efl_version} \ > - eet >= ${efl_version} \ > - evas >= ${efl_version} \ > - ecore >= ${efl_version} \ > - ecore-evas >= ${efl_version} \ > - ecore-file >= ${efl_version} \ > - ecore-input >= ${efl_version} \ > - edje >= ${efl_version} \ > - eo >= ${efl_version} \ > - ethumb_client >= ${efl_version} \ > - emotion >= ${efl_version} \ > - ecore-imf >= ${efl_version} \ > - ecore-con >= ${efl_version} \ > - eio >= ${efl_version} \ > - eldbus >= ${efl_version} \ > - efreet >= ${efl_version} \ > - efreet-mime >= ${efl_version} \ > - efreet-trash >= ${efl_version} \ > + eina >= efl_version \ > + eet >= efl_version \ > + evas >= efl_version \ > + ecore >= efl_version \ > + ecore-evas >= efl_version \ > + ecore-file >= efl_version \ > + ecore-input >= efl_version \ > + edje >= efl_version \ > + eo >= efl_version \ > + ethumb_client >= efl_version \ > + emotion >= efl_version \ > + ecore-imf >= efl_version \ > + ecore-con >= efl_version \ > + eio >= efl_version \ > + eldbus >= efl_version \ > + efreet >= efl_version \ > + efreet-mime >= efl_version \ > + efreet-trash >= efl_version \ > " > > have_elementary_x="no" > @@ -296,11 +258,11 @@ AC_ARG_ENABLE([ecore-x], > > if test "x$want_elementary_x" != "xno"; then > PKG_CHECK_MODULES([ELEMENTARY_X], > - [ecore-x >= ${efl_version}], > + [ecore-x >= efl_version], > [ > AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary]) > have_elementary_x="yes" > - requirement_elm="ecore-x >= ${efl_version} ${requirement_elm}" > + requirement_elm="ecore-x >= efl_version ${requirement_elm}" > ], > [have_elementary_x="no"] > ) > @@ -320,11 +282,11 @@ AC_ARG_ENABLE([ecore-fb], > > if test "x$want_elementary_fb" != "xno"; then > PKG_CHECK_MODULES([ELEMENTARY_FB], > - [ecore-fb >= ${efl_version}], > + [ecore-fb >= efl_version], > [ > AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary]) > have_elementary_fb="yes" > - requirement_elm="ecore-fb >= ${efl_version} ${requirement_elm}" > + requirement_elm="ecore-fb >= efl_version ${requirement_elm}" > ], > [have_elementary_fb="no"] > ) > @@ -343,11 +305,11 @@ AC_ARG_ENABLE([ecore-psl1ght], > > if test "x$want_elementary_psl1ght" != "xno"; then > PKG_CHECK_MODULES([ELEMENTARY_PSL1GHT], > - [ecore-psl1ght >= ${efl_version}], > + [ecore-psl1ght >= efl_version], > [ > AC_DEFINE(HAVE_ELEMENTARY_PSL1GHT, 1, [PSL1GHT support for > Elementary]) > have_elementary_psl1ght="yes" > - requirement_elm="ecore-psl1ght >= ${efl_version} ${requirement_elm}" > + requirement_elm="ecore-psl1ght >= efl_version ${requirement_elm}" > ], > [have_elementary_psl1ght="no"] > ) > @@ -366,11 +328,11 @@ AC_ARG_ENABLE([ecore-sdl], > > if test "x$want_elementary_sdl" != "xno"; then > PKG_CHECK_MODULES([ELEMENTARY_SDL], > - [ecore-sdl >= ${efl_version}], > + [ecore-sdl >= efl_version], > [ > AC_DEFINE(HAVE_ELEMENTARY_SDL, 1, [SDL support for Elementary]) > have_elementary_sdl="yes" > - requirement_elm="ecore-sdl >= ${efl_version} ${requirement_elm}" > + requirement_elm="ecore-sdl >= efl_version ${requirement_elm}" > ], > [have_elementary_sdl="no"] > ) > @@ -389,11 +351,11 @@ AC_ARG_ENABLE([ecore-cocoa], > > if test "x$want_elementary_cocoa" != "xno"; then > PKG_CHECK_MODULES([ELEMENTARY_COCOA], > - [ecore-cocoa >= ${efl_version}], > + [ecore-cocoa >= efl_version], > [ > AC_DEFINE(HAVE_ELEMENTARY_COCOA, 1, [COCOA support for Elementary]) > have_elementary_cocoa="yes" > - requirement_elm="ecore-cocoa >= ${efl_version} ${requirement_elm}" > + requirement_elm="ecore-cocoa >= efl_version ${requirement_elm}" > ], > [have_elementary_cocoa="no"] > ) > @@ -412,11 +374,11 @@ AC_ARG_ENABLE([ecore-win32], > > if test "x$want_elementary_win32" != "xno"; then > PKG_CHECK_MODULES([ELEMENTARY_WIN32], > - [ecore-win32 >= ${efl_version}], > + [ecore-win32 >= efl_version], > [ > AC_DEFINE(HAVE_ELEMENTARY_WIN32, 1, [Windows XP support for > Elementary]) > have_elementary_win32="yes" > - requirement_elm="ecore-win32 >= ${efl_version} ${requirement_elm}" > + requirement_elm="ecore-win32 >= efl_version ${requirement_elm}" > ], > [have_elementary_win32="no"] > ) > @@ -435,11 +397,11 @@ AC_ARG_ENABLE([ecore-wince], > > if test "x$want_elementary_wince" != "xno"; then > PKG_CHECK_MODULES([ELEMENTARY_WINCE], > - [ecore-wince >= ${efl_version}], > + [ecore-wince >= efl_version], > [ > AC_DEFINE(HAVE_ELEMENTARY_WINCE, 1, [Windows CE support for > Elementary]) > have_elementary_wince="yes" > - requirement_elm="ecore-wince >= ${efl_version} ${requirement_elm}" > + requirement_elm="ecore-wince >= efl_version ${requirement_elm}" > ], > [have_elementary_wince="no"] > ) > diff --git a/m4/efl.m4 b/m4/efl.m4 > new file mode 100644 > index 0000000..e197708 > --- /dev/null > +++ b/m4/efl.m4 > @@ -0,0 +1,447 @@ > +dnl file to manage modules in efl > + > +dnl EFL_VERSION(major, minor, micro, release) > +dnl This setup EFL version information and should be called BEFORE AC_INIT(). > +dnl > +dnl release parameter is 'dev' to use from SVN or libtool -release field. > +dnl It may be empty if not dev (svn/live build) and no -release is to be > used. > +dnl > +dnl Examples: > +dnl EFL_VERSION(1, 7, 99, dev) > +dnl EFL_VERSION(1, 7, 99, ver-1234) > +dnl This will define couple of m4 symbols: > +dnl v_maj = given major number (first parameter) > +dnl v_min = given minor number (second parameter) > +dnl v_mic = given micro number (third parameter) > +dnl v_rev = if release, it's 0, otherwise it's dev_version. > +dnl v_rel = if release, it's -release followed by fourth parameter, > +dnl otherwise it's empty. (mostly for libtool) > +dnl efl_version = if release, it's major.minor.micro, otherwise it's > +dnl major.minor.micro.dev_version > +dnl dev_version = development version (svn revision). > +dnl def_build_profile = dev or release based on 'dev' release parameter. > +AC_DEFUN([EFL_VERSION], > +[dnl > +m4_define([v_maj], [$1])dnl > +m4_define([v_min], [$2])dnl > +m4_define([v_mic], [$3])dnl > +m4_define([dev_version], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null > || echo 0) | tr -d '\n']))dnl > +m4_define([v_rev], m4_if($4, dev, [dev_version], [0]))dnl > +m4_define([v_rel], [])dnl > +m4_define([def_build_profile], m4_if($4, dev, [dev], [release]))dnl > +m4_define([efl_version], m4_if($4, dev, [v_maj.v_min.v_mic.v_rev], > [v_maj.v_min.v_mic]))dnl > +m4_define([efl_version], [v_maj.v_min.v_mic])dnl > +]) > + > +dnl EFL_COLOR > +dnl will check if terminal supports color and if color is wanted by user. > +dnl > +dnl Used Variables: > +dnl WANT_COLOR: if no, forces no color output. > +dnl TERM: used to check if color should be enabled. > +dnl > +dnl Defined Variables: > +dnl COLOR_YES: to be used in positive/yes conditions > +dnl COLOR_NO: to be used in negative/no conditions > +dnl COLOR_OTHER: to be used to highlight some other condition > +dnl COLOR_RESET: to reset color > +dnl want_color: yes or no > +AC_DEFUN([EFL_COLOR], > +[dnl > +case "$TERM" in > + > xterm|xterm-color|xterm-256color|Eterm|aterm|kterm|rxvt*|screen|gnome|interix) > + want_color="${WANT_COLOR:-yes}" > + ;; > + *) > + want_color="no" > + ;; > +esac > + > +if test "${want_color}" = "yes"; then > + if test `echo -e x` = x; then > + echoopt=-e > + else > + echoopt= > + fi > + > + COLOR_YES=`echo $echoopt "\033@<:@1;32m"` > + COLOR_NO=`echo $echoopt "\033@<:@1;31m"` > + COLOR_OTHER=`echo $echoopt "\033@<:@1;36m"` > + COLOR_RESET=`echo $echoopt "\033@<:@0m"` > + > +else > + COLOR_YES="" > + COLOR_NO="" > + COLOR_OTHER="" > + COLOR_RESET="" > +fi > +]) > + > +dnl EFL_INIT() > +dnl Will AC_DEFINE() the following: > +dnl VMAJ = v_maj > +dnl VMIN = v_min > +dnl VMIC = v_mic > +dnl VREV = v_rev > +dnl Will AC_SUBST() the following: > +dnl VMAJ = v_maj > +dnl VMIN = v_min > +dnl VMIC = v_mic > +dnl EFL_LTLIBRARY_FLAGS="-no-undefined -version-info ..." > +dnl EFL_LTMODULE_FLAGS="-no-undefined -avoid-version" > +dnl Will define the following m4: > +dnl lt_cur = libtool 'current' field of libtool's -version-info > +dnl lt_rev = libtool 'revision' field of libtool's -version-info > +dnl lt_age = libtool 'age' field of libtool's -version-info > +AC_DEFUN([EFL_INIT], > +[dnl > +AC_REQUIRE([EFL_COLOR])dnl > +AC_DEFINE_UNQUOTED([VMAJ], [v_maj], [Major version])dnl > +AC_DEFINE_UNQUOTED([VMIN], [v_min], [Minor version])dnl > +AC_DEFINE_UNQUOTED([VMIC], [v_mic], [Micro version])dnl > +AC_DEFINE_UNQUOTED([VREV], [v_rev], [Revison])dnl > +VMAJ=v_maj > +VMIN=v_min > +VMIC=v_mic > +AC_SUBST([VMAJ])dnl > +AC_SUBST([VMIN])dnl > +AC_SUBST([VMIC])dnl > +dnl > +dnl TODO: warning - lt_cur: > +dnl the previous code assumed v_maj + v_min, but this will be a problem when > +dnl we bump v_maj and reset v_min. 1 + 7 == 7 + 1, so if v_maj is bumped > +dnl we multiply it by 100. > +m4_define([lt_cur], m4_if(m4_cmp(v_maj, 1), 0, m4_eval(v_maj + v_min), > m4_eval(v_maj * 100 + v_min)))dnl > +m4_define([lt_rev], v_mic)dnl > +m4_define([lt_age], v_min)dnl > +dnl > +EFL_LTLIBRARY_FLAGS="-no-undefined -version-info lt_cur:lt_rev:lt_age v_rel" > +AC_SUBST(EFL_LTLIBRARY_FLAGS)dnl > +EFL_LTMODULE_FLAGS="-no-undefined -avoid-version" > +AC_SUBST([EFL_LTMODULE_FLAGS])dnl > +AC_MSG_NOTICE([Initialized AC_PACKAGE_NAME (AC_PACKAGE_VERSION) > development=dev_version v_rel]) > +]) > + > +dnl EFL_EVAL_PKGS(EFL) > +dnl does PKG_CHECK_MODULES() for given EFL > +AC_DEFUN([EFL_EVAL_PKGS], > +[dnl > +m4_pushdef([DOWNEFL], m4_translit([$1], [-A-Z], [_a-z]))dnl > +if test "x${requirements_pc_deps_[]m4_defn([DOWNEFL])}" != "x"; then > + PKG_CHECK_MODULES([$1], [${requirements_pc_deps_[]m4_defn([DOWNEFL])}]) > +fi > +m4_popdef([DOWNEFL])dnl > +]) > + > +dnl EFL_INTERNAL_DEPEND_PKG(EFL, OTHEREFL) > +dnl Adds a pkg-config dependency on another EFL. > +AC_DEFUN([EFL_INTERNAL_DEPEND_PKG], > +[dnl > +m4_pushdef([DOWNEFL], m4_translit([$1], [-A-Z], [_a-z]))dnl > +m4_pushdef([DOWNOTHER], m4_translit([$2], [-A-Z], [_a-z]))dnl > +dnl TODO: we need to fix the package config names for 2.0 > +dnl TODO: and make them uniform in scheme. > +depname="$2" > +libdirname="m4_defn([DOWNOTHER])" > +libname="m4_defn([DOWNOTHER])" > +case "m4_defn([DOWNOTHER])" in > + ethumb_client) > + depname="ethumb_client" > + ;; > +esac > +requirements_pc_[]m4_defn([DOWNEFL])="${depname} >= ${PACKAGE_VERSION} > ${requirements_pc_[][]m4_defn([DOWNEFL])}" > +requirements_cflags_[]m4_defn([DOWNEFL])="-I\$(top_srcdir)/src/lib/${libdirname} > -I\$(top_builddir)/src/lib/${libdirname} > ${requirements_cflags_[][]m4_defn([DOWNEFL])}" > +requirements_internal_libs_[]m4_defn([DOWNEFL])="lib/${libdirname}/lib${libname}.la > ${requirements_internal_libs_[][]m4_defn([DOWNEFL])}" > +requirements_internal_deps_libs_[]m4_defn([DOWNEFL])="${requirements_public_libs_[]m4_defn([DOWNOTHER])} > ${requirements_internal_deps_libs_[][]m4_defn([DOWNEFL])}" > +m4_popdef([DOWNOTHER])dnl > +m4_popdef([DOWNEFL])dnl > +]) > + > +dnl EFL_PLATFORM_DEPEND(EFL, PLATFORM) > +dnl PLATFORM is one of: all, evil, escape, exotic > +AC_DEFUN([EFL_PLATFORM_DEPEND], > +[dnl > +m4_pushdef([DOWNOTHER], m4_translit([$2], [-A-Z], [_a-z]))dnl > +case "m4_defn([DOWNOTHER])" in > + all) > + if test "x${efl_lib_optional_evil}" = "xyes"; then > + EFL_INTERNAL_DEPEND_PKG([$1], [evil]) > + elif test "x${efl_lib_optional_escape}" = "xyes"; then > + EFL_INTERNAL_DEPEND_PKG([$1], [escape]) > + elif test "x${efl_lib_optional_exotic}" = "xyes"; then > + EFL_INTERNAL_DEPEND_PKG([$1], [exotic]) > + fi > + ;; > + *) > + if test "x${efl_lib_optional_[]m4_defn([DOWNOTHER])}" = "xyes"; then > + EFL_INTERNAL_DEPEND_PKG([$1], [$2]) > + fi > + ;; > +esac > +m4_popdef([DOWNOTHER])dnl > +]) > + > +dnl EFL_CRYPTO_DEPEND(EFL) > +dnl the given EFL will use/depend on system crypto settings > +AC_DEFUN([EFL_CRYPTO_DEPEND], > +[dnl > +m4_pushdef([DOWNEFL], m4_translit([$1], [-A-Z], [_a-z]))dnl > +requirements_pc_[]m4_defn([DOWNEFL])="${requirements_pc_crypto} > ${requirements_pc_[][]m4_defn([DOWNEFL])}" > +requirements_pc_deps_[]m4_defn([DOWNEFL])="${requirements_pc_deps_crypto} > ${requirements_pc_deps_[][]m4_defn([DOWNEFL])}" > +requirements_libs_[]m4_defn([DOWNEFL])="${requirements_libs_crypto} > ${requirements_libs_[][]m4_defn([DOWNEFL])}" > +requirements_cflags_[]m4_defn([DOWNEFL])="${requirements_cflags_crypto} > ${requirements_cflags_[][]m4_defn([DOWNEFL])}" > +m4_popdef([DOWNEFL])dnl > +]) > + > +dnl EFL_DEPEND_PKG(EFL, NAME, PACKAGE, [ACTION-IF-FOUND], > [ACTION-IF-NOT-FOUND]) > +dnl Adds a pkg-config dependency to an efl, AC_DEFINE() HAVE_NAME, > +dnl and inserts dependencies in proper variables > +AC_DEFUN([EFL_DEPEND_PKG], > +[dnl > +m4_pushdef([UPEFL], m4_translit([$1], [-a-z], [_A-Z]))dnl > +m4_pushdef([DOWNEFL], m4_translit([$1], [-A-Z], [_a-z]))dnl > +m4_pushdef([UPNAME], m4_translit([$2], [-a-z], [_A-Z]))dnl > +m4_pushdef([DOWNNAME], m4_translit([$2], [-A-Z], [_a-z]))dnl > + > + have_[]m4_defn([DOWNNAME])="no" > + > + EFL_PKG_CHECK_STRICT([$3], [ > + AC_DEFINE([HAVE_]m4_defn([UPNAME]), [1], [Have `]m4_defn([DOWNNAME])[' > pkg-config installed.]) > + requirements_pc_[]m4_defn([DOWNEFL])="$3 > ${requirements_pc_[][]m4_defn([DOWNEFL])}" > + requirements_pc_deps_[]m4_defn([DOWNEFL])="$3 > ${requirements_pc_deps_[]m4_defn([DOWNEFL])}" > + have_[]m4_defn([DOWNNAME])="yes" > + > + $4 > + > + ], [$5]) > + > +m4_popdef([DOWNNAME]) > +m4_popdef([UPNAME]) > +m4_popdef([DOWNEFL]) > +m4_popdef([UPEFL]) > +]) > + > +dnl EFL_OPTIONAL_DEPEND_PKG(EFL, VARIABLE, NAME, PACKAGE, [ACTION-IF-FOUND], > [ACTION-IF-NOT-FOUND]) > +AC_DEFUN([EFL_OPTIONAL_DEPEND_PKG], > +[dnl > +m4_pushdef([DOWN], m4_translit([$3], [-A-Z], [_a-z]))dnl > + > + have_[]m4_defn([DOWN])="no" > + if test "x$2" = "xyes"; then > + EFL_DEPEND_PKG([$1], [$3], [$4], [$5], [$6]) > + fi > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_OPTIONAL_INTERNAL_DEPEND_PKG(EFL, VARIABLE, NAME) > +AC_DEFUN([EFL_OPTIONAL_INTERNAL_DEPEND_PKG], > +[dnl > + if test "x$2" = "xyes"; then > + EFL_INTERNAL_DEPEND_PKG([$1], [$3]) > + fi > +]) > + > +dnl EFL_ADD_LIBS(PKG, LIBS) > +dnl Add libraries that the EFL library will depend on > +dnl See EFL_DEPEND_PKG() for pkg-config version. > +AC_DEFUN([EFL_ADD_LIBS], > +[dnl > +m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl > +requirements_libs_[]m4_defn([DOWN])="${requirements_libs_[]m4_defn([DOWN])} > $2" > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_ADD_PUBLIC_LIBS(PKG, PUBLIC_LIBS) > +dnl Add libraries that the EFL library will depend on when used. > +dnl > +dnl Unlike EFL_ADD_LIBS(), that is only used when generating PKG, > +dnl this one is used when linking PKG to other libraries or applications. > +dnl > +dnl For instance if you use some other library in your header that user > +dnl inclues. > +AC_DEFUN([EFL_ADD_PUBLIC_LIBS], > +[dnl > +m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl > +requirements_public_libs_[]m4_defn([DOWN])="${requirements_public_libs_[]m4_defn([DOWN])} > $2" > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_ADD_CFLAGS(PKG, CFLAGS) > +dnl Add CFLAGS that the EFL library will use > +dnl See EFL_DEPEND_PKG() for pkg-config version. > +AC_DEFUN([EFL_ADD_CFLAGS], > +[dnl > +m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl > +requirements_cflags_[]m4_defn([DOWN])="${requirements_cflags_[]m4_defn([DOWN])} > $2" > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_LIB_START(PKG) > +dnl start the setup of an EFL library, defines variables and prints a notice > +dnl > +dnl Exports (AC_SUBST) > +dnl PKG_CFLAGS: what to use for CFLAGS > +dnl > +dnl PKG_LDFLAGS: what to use for LDFLAGS > +dnl > +dnl PKG_LIBS: what to use in automake's _LIBADD or _LDADD. Includes > +dnl everything else. > +dnl > +dnl PKG_INTERNAL_LIBS: all other EFL as lib/name/libname.la that this > +dnl package depend. Used in automake's _DEPENDENCIES. > +dnl > +dnl USE_PKG_LIBS: what to use in automake's _LIBADD or _LDADD when using > +dnl this PKG (PKG_LIBS + libpkg.la) > +dnl > +dnl USE_PKG_INTERNAL_LIBS: extends PKG_INTERNAL_LIBS with > lib/pkg/libpkg.la > +dnl > +dnl requirements_pc_pkg: all pkg-config (pc) files used by this pkg, > +dnl includes internal EFL (used in 'Requires.private' in pkg.pc) > +dnl > +dnl requirements_libs_pkg: external libraries this package needs when > +dnl linking (used in 'Libs.private' in pkg.pc) > +dnl > +dnl requirements_public_libs_pkg: external libraries other packages need > +dnl when using this (used in 'Libs' in pkg.pc) > +dnl > +dnl requirements_cflags_pkg: what to use for CFLAGS (same as PKG_CFLAGS). > +dnl > +dnl Variables: > +dnl requirements_pc_deps_pkg: external pkg-config (pc) files used by this > +dnl pkg (used in EFL_EVAL_PKGS()) > +dnl > +dnl requirements_internal_libs_pkg: all other EFL as lib/name/libname.la > +dnl that this package depend. > +dnl > +dnl requirements_internal_deps_libs_pkg: external libraries that are > public > +dnl dependencies (due internal libs). > +dnl > +AC_DEFUN([EFL_LIB_START], > +[dnl > +m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl > +m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl > + > +requirements_internal_libs_[]m4_defn([DOWN])="" > +requirements_internal_deps_libs_[]m4_defn([DOWN])="" > +requirements_libs_[]m4_defn([DOWN])="" > +requirements_public_libs_[]m4_defn([DOWN])="" > +requirements_cflags_[]m4_defn([DOWN])="" > +requirements_pc_[]m4_defn([DOWN])="" > +requirements_pc_deps_[]m4_defn([DOWN])="" > + > +m4_defn([UP])_LIBS="${m4_defn([UP])_LIBS}" > +m4_defn([UP])_INTERNAL_LIBS="${m4_defn([UP])_INTERNAL_LIBS}" > +USE_[]m4_defn([UP])_LIBS="${USE_[]m4_defn([UP])_LIBS}" > +USE_[]m4_defn([UP])_INTERNAL_LIBS="${USE_[]m4_defn([UP])_INTERNAL_LIBS}" > +m4_defn([UP])_LDFLAGS="${m4_defn([UP])_LDFLAGS}" > +m4_defn([UP])_CFLAGS="${m4_defn([UP])_CFLAGS}" > + > +AC_SUBST([requirements_libs_]m4_defn([DOWN]))dnl > +AC_SUBST([requirements_public_libs_]m4_defn([DOWN]))dnl > +AC_SUBST([requirements_cflags_]m4_defn([DOWN]))dnl > +AC_SUBST([requirements_pc_]m4_defn([DOWN]))dnl > +AC_SUBST(m4_defn([UP])[_LIBS])dnl > +AC_SUBST(m4_defn([UP])[_INTERNAL_LIBS])dnl > +AC_SUBST([USE_]m4_defn([UP])[_LIBS])dnl > +AC_SUBST([USE_]m4_defn([UP])[_INTERNAL_LIBS])dnl > +AC_SUBST(m4_defn([UP])[_LDFLAGS])dnl > +AC_SUBST(m4_defn([UP])[_CFLAGS])dnl > +AC_MSG_NOTICE([Start $1 checks])dnl > +m4_popdef([UP])dnl > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_LIB_END(PKG) > +dnl finishes the setup of an EFL library > +AC_DEFUN([EFL_LIB_END], > +[dnl > +m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl > +m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl > + > +libdirname="m4_defn([DOWN])" > +libname="m4_defn([DOWN])" > + > +m4_defn([UP])_LDFLAGS="${EFL_COV_LDFLAGS} ${EFL_LDFLAGS} > ${m4_defn([UP])_LDFLAGS}" > +m4_defn([UP])_LIBS=" ${m4_defn([UP])_LDFLAGS} ${EFL_COV_LIBS} ${EFL_LIBS} > ${m4_defn([UP])_LIBS} ${requirements_internal_libs_[]m4_defn([DOWN])} > ${requirements_internal_deps_libs_[]m4_defn([DOWN])} > ${requirements_public_libs_[]m4_defn([DOWN])} > ${requirements_libs_[]m4_defn([DOWN])} ${requirements_libs_efl} " > +m4_defn([UP])_INTERNAL_LIBS="${m4_defn([UP])_INTERNAL_LIBS} > ${requirements_internal_libs_[]m4_defn([DOWN])}" > +USE_[]m4_defn([UP])_LIBS="${m4_defn([UP])_LIBS} > lib/${libdirname}/lib${libname}.la" > +USE_[]m4_defn([UP])_INTERNAL_LIBS="${m4_defn([UP])_INTERNAL_LIBS} > lib/${libdirname}/lib${libname}.la" > +m4_defn([UP])_CFLAGS="${EFL_COV_CFLAGS} ${EFL_CFLAGS} > ${m4_defn([UP])_CFLAGS} -I\$(top_srcdir)/src/lib/${libdirname} > -I\$(top_builddir)/src/lib/${libdirname} > ${requirements_cflags_[]m4_defn([DOWN])} ${requirements_cflags_efl} > -DEFL_[]m4_defn([UP])_BUILD=1" > +requirements_pc_[]m4_defn([DOWN])="${requirements_pc_[]m4_defn([DOWN])} > ${requirements_pc_efl}" > +requirements_pc_deps_[]m4_defn([DOWN])="${requirements_pc_deps_[]m4_defn([DOWN])} > ${requirements_pc_deps_efl}" > + > +AC_MSG_NOTICE([Finished $1 checks])dnl > +m4_popdef([UP])dnl > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_LIB_START_OPTIONAL(PKG, TEST) > +dnl test if library should be build and then EFL_LIB_START() > +dnl must call EFL_LIB_END_OPTIONAL() to close it. > +AC_DEFUN([EFL_LIB_START_OPTIONAL], > +[dnl > +m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl > +m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl > + > +if $2; then > + efl_lib_optional_[]m4_defn([DOWN])="yes" > +else > + efl_lib_optional_[]m4_defn([DOWN])="no" > + AC_MSG_NOTICE([Skipping $1 checks (disabled)]) > +fi > + > +if test "$efl_lib_optional_[]m4_defn([DOWN])" = "yes"; then > + EFL_LIB_START([$1]) > + AC_DEFINE([HAVE_]m4_defn([UP]), [1], [optional EFL $1 is enabled]) > +dnl closed at EFL_LIB_END_OPTIONAL() > +m4_popdef([UP])dnl > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_LIB_END_OPTIONAL(PKG) > +dnl closes block started by EFL_LIB_START_OPTIONAL() and then > +dnl defines AM_CONDITIONAL([HAVE_PKG]) and AC_DEFINE([HAVE_PKG]) > +AC_DEFUN([EFL_LIB_END_OPTIONAL], > +[dnl > +m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl > +m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl > + > +dnl close if started at EFL_LIB_START_OPTIONAL() > + EFL_LIB_END([$1]) > +fi > + > +AM_CONDITIONAL([HAVE_]m4_defn([UP]), [test > "$efl_lib_optional_[]m4_defn([DOWN])" = "yes"])dnl > +m4_popdef([UP])dnl > +m4_popdef([DOWN])dnl > +]) > + > +dnl EFL_ADD_FEATURE(PKG, NAME, [VALUE]) > +dnl if VALUE is not specified, will use ${have_name} instead. > +dnl > +dnl Defined Variables: > +dnl features_pkg > +AC_DEFUN([EFL_ADD_FEATURE], > +[dnl > +m4_pushdef([DOWNPKG], m4_translit([$1], [-A-Z], [_a-z]))dnl > +m4_pushdef([DOWNNAME], m4_translit([$2], [-A-Z], [_a-z]))dnl > + > +value="m4_if($3, , > [${have_]m4_defn([DOWNNAME])[:-${want_]m4_defn([DOWNNAME])[}}], [$3])" > +case "${value}" in > + yes) > + tmp="${COLOR_YES}+$2${COLOR_RESET}" > + ;; > + no) > + tmp="${COLOR_NO}-$2${COLOR_RESET}" > + ;; > + *) > + tmp="${COLOR_OTHER}$2=${value}${COLOR_RESET}" > + ;; > +esac > +if test -z "${features_[]m4_defn([DOWNPKG])}"; then > + features_[]m4_defn([DOWNPKG])="${tmp}" > +else > + features_[]m4_defn([DOWNPKG])="${features_[]m4_defn([DOWNPKG])} ${tmp}" > +fi > +m4_popdef([DOWNNAME])dnl > +m4_popdef([DOWNPKG])dnl > +]) > diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am > index cee3dfb..0e38b7d 100644 > --- a/src/lib/Makefile.am > +++ b/src/lib/Makefile.am > @@ -509,9 +509,7 @@ libelementary_la_LIBADD = \ > @EVIL_LIBS@ \ > @LTLIBINTL@ > > -libelementary_la_LDFLAGS = \ > --no-undefined @lt_enable_auto_import@ \ > --version-info @version_info@ @release_info@ > +libelementary_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@ > > EXTRA_DIST = \ > elm_factory.h \ > diff --git a/src/modules/access_output/Makefile.am > b/src/modules/access_output/Makefile.am > index 634d65f..fd3b2c2 100644 > --- a/src/modules/access_output/Makefile.am > +++ b/src/modules/access_output/Makefile.am > @@ -32,5 +32,5 @@ pkg_LTLIBRARIES = module.la > module_la_SOURCES = mod.c > > module_la_LIBADD = @ELEMENTARY_LIBS@ $(top_builddir)/src/lib/libelementary.la > -module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module > -avoid-version > +module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ > module_la_LIBTOOLFLAGS = --tag=disable-static > diff --git a/src/modules/test_entry/Makefile.am > b/src/modules/test_entry/Makefile.am > index 99416f3..2662d95 100644 > --- a/src/modules/test_entry/Makefile.am > +++ b/src/modules/test_entry/Makefile.am > @@ -32,5 +32,5 @@ pkg_LTLIBRARIES = module.la > module_la_SOURCES = mod.c > > module_la_LIBADD = $(top_builddir)/src/lib/libelementary.la @EVIL_LIBS@ > -module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module > -avoid-version > +module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ > module_la_LIBTOOLFLAGS = --tag=disable-static > diff --git a/src/modules/test_map/Makefile.am > b/src/modules/test_map/Makefile.am > index b54154e..1201786 100644 > --- a/src/modules/test_map/Makefile.am > +++ b/src/modules/test_map/Makefile.am > @@ -32,5 +32,5 @@ pkg_LTLIBRARIES = module.la > module_la_SOURCES = mod.c > > module_la_LIBADD = $(top_builddir)/src/lib/libelementary.la > -module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module > -avoid-version > +module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ > module_la_LIBTOOLFLAGS = --tag=disable-static > > -- > > ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
