* fix requirements values (should be good, now)

* ecore-ipc is an option for ecore-config and not a required dependency
 * use Requires.private field in all the .pc if pkg-config 0.22 or later is
   installed. We list in it the required packages needed to compile the modules.
 * remove uneeded flags that are in Libs.private (those from the packages
   that are listed in Requires.private) 


SVN revision: 42873
This commit is contained in:
Vincent Torri 2009-10-03 18:08:43 +00:00
parent 425877b345
commit 72bced1e3b
20 changed files with 108 additions and 58 deletions

View File

@ -254,6 +254,14 @@ EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
# so we should include this here:
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"
else
pkgconfig_requires_private="Requires"
fi
AC_SUBST(pkgconfig_requires_private)
### Checks for libraries
@ -346,9 +354,9 @@ requirements_ecore_ipc="ecore eina-0 ${requirements_ecore_ipc}"
requirements_ecore_job="ecore eina-0 ${requirements_ecore_job}"
requirements_ecore_quartz="ecore eina-0 ${requirements_ecore_quartz}"
requirements_ecore_sdl="ecore eina-0 ${requirements_ecore_sdl}"
requirements_ecore_x="ecore eina-0 ${requirements_ecore_x}"
requirements_ecore_win32="ecore eina-0 ${requirements_ecore_win32}"
requirements_ecore_wince="ecore eina-0 ${requirements_ecore_wince}"
requirements_ecore_x="ecore eina-0 ${requirements_ecore_x}"
# glib support (main loop integration)
@ -365,6 +373,7 @@ if test "x$want_glib" = "xyes" -a "x$have_glib" = "xno"; then
AC_MSG_ERROR([GLib support requested, but no GLib found by pkg-config.])
elif test "x$have_glib" = "xyes"; then
AC_DEFINE(HAVE_GLIB, [1], [Have GLib])
requirements_ecore="glib-2.0 ${requirements_ecore}"
fi
@ -447,19 +456,18 @@ fi
# DirectFB library (ecore_directfb)
PKG_CHECK_MODULES([DIRECTFB], [directfb >= 0.9.16],
[
have_directfb="yes"
requirements_ecore_directfb="evas ${requirements_ecore_directfb}"
],
PKG_CHECK_MODULES([DIRECTFB],
[directfb >= 0.9.16],
[have_directfb="yes"],
[have_directfb="no"])
# Eet library (ecore_config)
PKG_CHECK_MODULES(EET, [eet >= 1.0.0],
[ have_eet="yes" ],
[ have_eet="no" ])
PKG_CHECK_MODULES([EET],
[eet >= 1.0.0],
[have_eet="yes"],
[have_eet="no"])
# Xlib and XCB (ecore_x)
@ -474,6 +482,8 @@ x_includes="";
x_cflags="";
x_libs="";
ecore_x_libs_private=""
AC_ARG_ENABLE(ecore-x-xcb,
[AC_HELP_STRING([--enable-ecore-x-xcb],
[enable the ecore_x module with XCB backend. [[default=disabled]]])],
@ -485,67 +495,80 @@ AC_MSG_RESULT($want_ecore_x_xcb)
if test "x$want_ecore_x_xcb" = "xyes" ; then
PKG_CHECK_MODULES(XCB, xcb xcb-icccm xcb-image xcb-keysyms pixman-1,
[ have_ecore_x_xcb="yes" ],
[ have_ecore_x_xcb="yes"
requirements_ecore_x="xcb xcb-icccm xcb-image xcb-keysyms pixman-1 ${requirements_ecore_x}" ],
[ have_ecore_x_xcb="no" ])
if test "x$have_ecore_x_xcb" = "xyes" ; then
PKG_CHECK_MODULES(XCB_COMPOSITE, xcb-composite,
[ have_ecore_x_xcb_composite="yes"
requirements_ecore_x="xcb-composite ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_COMPOSITE, 1, [Build support for XCB composite]) ],
[ have_ecore_x_xcb_composite="no" ])
PKG_CHECK_MODULES(XCB_DAMAGE, xcb-damage,
[ have_ecore_x_xcb_damage="yes"
requirements_ecore_x="xcb-damage ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_DAMAGE, 1, [Build support for XCB damage]) ],
[ have_ecore_x_xcb_damage="no" ])
PKG_CHECK_MODULES(XCB_DPMS, xcb-dpms,
[ have_ecore_x_xcb_dpms="yes"
requirements_ecore_x="xcb-dpms ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_DPMS, 1, [Build support for XCB dpms]) ],
[ have_ecore_x_xcb_dpms="no" ])
PKG_CHECK_MODULES(XCB_RANDR, xcb-randr,
[ have_ecore_x_xcb_randr="yes"
requirements_ecore_x="xcb-randr ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_RANDR, 1, [Build support for XCB randr]) ],
[ have_ecore_x_xcb_randr="no" ])
PKG_CHECK_MODULES(XCB_RENDER, xcb-render,
[ have_ecore_x_xcb_render="yes"
requirements_ecore_x="xcb-render ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ],
[ have_ecore_x_xcb_render="no" ])
PKG_CHECK_MODULES(XCB_SCREENSAVER, xcb-screensaver,
[ have_ecore_x_xcb_screensaver="yes"
requirements_ecore_x="xcb-screensaver ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_SCREENSAVER, 1, [Build support for XCB screensaver]) ],
[ have_ecore_x_xcb_screensaver="no" ])
PKG_CHECK_MODULES(XCB_SHAPE, xcb-shape,
[ have_ecore_x_xcb_shape="yes"
requirements_ecore_x="xcb-shape ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_SHAPE, 1, [Build support for XCB shape]) ],
[ have_ecore_x_xcb_shape="no" ])
PKG_CHECK_MODULES(XCB_SYNC, xcb-sync,
[ have_ecore_x_xcb_sync="yes"
requirements_ecore_x="xcb-sync ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_SYNC, 1, [Build support for XCB sync]) ],
[ have_ecore_x_xcb_sync="no" ])
PKG_CHECK_MODULES(XCB_XFIXES, xcb-xfixes,
[ have_ecore_x_xcb_xfixes="yes"
requirements_ecore_x="xcb-xfixes ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_FIXES, 1, [Build support for XCB xfixes]) ],
[ have_ecore_x_xcb_xfixes="no" ])
PKG_CHECK_MODULES(XCB_XINERAMA, xcb-xinerama,
[ have_ecore_x_xcb_xinerama="yes"
requirements_ecore_x="xcb-xinerama ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_XINERAMA, 1, [Build support for XCB xinerama]) ],
[ have_ecore_x_xcb_xinerama="no" ])
PKG_CHECK_MODULES(XCB_XPRINT, xcb-xprint,
[ have_ecore_x_xcb_xprint="yes"
requirements_ecore_x="xcb-xprint ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
[ have_ecore_x_xcb_xprint="no" ])
PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
[ have_ecore_x_xcb_xtest="yes"
requirements_ecore_x="xcb-xtest ${requirements_ecore_x}"
AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
[ have_ecore_x_xcb_xtest="no" ])
@ -625,6 +648,8 @@ if ! test "x$have_ecore_x_xcb" = "xyes" ; then
ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
ecore_x_libs_private="${Xcursor_libs} ${XKB_LIBS} ${XCOMPOSITE_LIBS} ${XDAMAGE_LIBS} ${XDPMS_LIBS} ${XFIXES_LIBS} ${XINERAMA_LIBS} ${XPRINT_LIBS} ${XRANDR_LIBS} ${XRENDER_LIBS} ${XTEST_LIBS} ${XSS_LIBS} "
AC_DEFINE(HAVE_ECORE_X_XLIB, 1, [Defined to 1 if Xlib is enabled.])
have_x="yes"
@ -635,18 +660,16 @@ fi
AC_SUBST(x_cflags)
AC_SUBST(x_includes)
AC_SUBST(x_libs)
AC_SUBST(ecore_x_libs_private)
AM_CONDITIONAL(BUILD_ECORE_X_XLIB, test $have_ecore_x_xlib = yes)
AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
# Evas library (ecore_evas and ecore_imf_evas)
# Evas library (ecore_config, ecore_input, ecore_imf_evas and ecore_evas)
PKG_CHECK_MODULES([EVAS], [evas >= 0.9.9],
[
have_evas="yes"
requirements_ecore_evas="evas ${requirements_ecore_evas}"
],
[have_evas="yes"],
[have_evas="no"])
@ -772,8 +795,7 @@ fi
ECORE_CHECK_MODULE([Job], [${want_ecore_job}])
# ecore_txt
ECORE_CHECK_MODULE([Txt], [${want_ecore_txt}], [$have_iconv],
[ecore_txt_libs="$ecore_txt_libs $iconv_libs"])
ECORE_CHECK_MODULE([Txt], [${want_ecore_txt}], [$have_iconv])
# ecore_con
ECORE_CHECK_MODULE([Con], [${want_ecore_con}])
@ -782,12 +804,11 @@ have_curl="no"
have_gnutls="no"
have_openssl="no"
if test "x${have_ecore_con}" = "xyes" ; then
requirements_ecore_con="ecore ${requirements_ecore_con}"
ECORE_CHECK_CURL([${want_curl}],
[
requirements_ecore_con="libcurl ${requirements_ecore_con}"
have_curl="yes"
requirements_ecore_con="libcurl ${requirements_ecore_con}"
],
[have_curl="no"])
@ -813,8 +834,8 @@ if test "x${have_ecore_con}" = "xyes" ; then
fi
# ecore_ipc
ECORE_CHECK_MODULE([Ipc], [${want_ecore_ipc}], [$have_ecore_con],
[requirements_ecore_ipc="ecore-con ${requirements_ecore_ipc}"])
ECORE_CHECK_MODULE([Ipc], [${want_ecore_ipc}], [${have_ecore_con}],
[requirements_ecore_ipc="ecore-con ${requirements_ecore_ipc}"])
# ecore_file
ECORE_CHECK_MODULE([File], [${want_ecore_file}])
@ -832,12 +853,17 @@ fi
# ecore_config
ecore_config_deps="no"
if test "x$have_eet" = "xyes" -a "x$have_ecore_ipc" = "xyes" -a "x$have_evas" ; then
ecore_config_deps="yes"
if test "x${have_eet}" = "xyes" -a "x${have_evas}" ; then
ecore_config_deps="yes"
fi
ECORE_CHECK_MODULE([Config], [${want_ecore_config}], [$ecore_config_deps],
[requirements_ecore_config="ecore-ipc eet ecore ${requirements_ecore_config}"])
ECORE_CHECK_MODULE([Config], [${want_ecore_config}], [${ecore_config_deps}],
[requirements_ecore_config="evas eet ${requirements_ecore_config}"])
if test "x${have_ecore_config}" = "xyes" -a "x${have_ecore_ipc}" = "xyes" ; then
requirements_ecore_config="ecore-ipc ${requirements_ecore_config}"
fi
# ecore_imf
@ -851,11 +877,11 @@ if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then
fi
ECORE_CHECK_MODULE([IMF_EVAS], [${want_ecore_imf}], [${ecore_imf_evas_deps}],
[requirements_ecore_imf_evas="ecore-imf evas ${requirements_ecore_imf_evas}"])
[requirements_ecore_imf_evas="ecore-imf evas ${requirements_ecore_imf_evas}"])
# ecore_input
ECORE_CHECK_MODULE([Input], [${want_ecore_input}], [${have_evas}],
[requirements_ecore_input="evas ${requirements_ecore_input}"])
[requirements_ecore_input="evas ${requirements_ecore_input}"])
## Graphic systems
@ -876,13 +902,22 @@ ECORE_CHECK_MODULE([X], [${want_ecore_x}], [${ecore_x_deps}],
# ecore_win32
ECORE_CHECK_MODULE([Win32], [${want_ecore_win32}], [yes],
[ecore_win32_libs="-lole32 -lgdi32"])
ECORE_CHECK_MODULE([Win32], [${want_ecore_win32}], [${have_ecore_input}],
[
ecore_win32_libs="-lole32 -lgdi32"
requirements_ecore_win32="ecore-input ${requirements_ecore_win32}"
])
AC_SUBST(ecore_win32_libs)
# ecore_quartz
ECORE_CHECK_MODULE([QUARTZ], [${want_ecore_quartz}], [$have_quartz])
ecore_quartz_deps="no"
if test "x${have_ecore_input}" = "xyes" -a "x${have_quartz}" = "xyes" ; then
ecore_quartz_deps="yes"
fi
ECORE_CHECK_MODULE([QUARTZ], [${want_ecore_quartz}], [${ecore_quartz_deps}],
[requirements_ecore_quartz="ecore-input ${requirements_ecore_quartz}"])
# ecore_sdl
@ -892,30 +927,41 @@ if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
fi
ECORE_CHECK_MODULE([SDL], [${want_ecore_sdl}], [${ecore_sdl_deps}],
[requirements_ecore_sdl="ecore-input ${requirements_ecore_sdl}"])
[requirements_ecore_sdl="ecore-input ${requirements_ecore_sdl}"])
# ecore_fb
ECORE_CHECK_MODULE([FB], [${want_ecore_fb}], [$have_fb])
if test "x${have_ecore_fb}" = "xyes" ; then
ECORE_CHECK_TSLIB([${want_tslib}], [have_tslib="yes"], [have_tslib="no"])
ECORE_CHECK_TSLIB([${want_tslib}],
[
have_tslib="yes"
requirements_ecore_fb="${_tslib_requirement} ${requirements_ecore_fb}"
],
[have_tslib="no"])
fi
# ecore_directfb
ECORE_CHECK_MODULE([DirectFB], [${want_ecore_directfb}], [${have_directfb}],
[requirements_ecore_directfb="directfb ${requirements_ecore_directfb}"])
[requirements_ecore_directfb="directfb ${requirements_ecore_directfb}"])
# ecore_wince
ECORE_CHECK_MODULE([WinCE], [${want_ecore_wince}])
ECORE_CHECK_MODULE([WinCE], [${want_ecore_wince}], [${have_ecore_input}],
[requirements_ecore_win32="ecore-input ${requirements_ecore_win32}"])
## Ecore Evas
# ecore_evas
ECORE_CHECK_MODULE([Evas], [${want_ecore_evas}], [$have_ecore_input],
[requirements_ecore_evas="ecore-input ${requirements_ecore_evas}"])
ecore_evas_deps="no"
if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
ecore_evas_deps="yes"
fi
ECORE_CHECK_MODULE([Evas], [${want_ecore_evas}], [${ecore_evas_deps}],
[requirements_ecore_evas="ecore-input evas ${requirements_ecore_evas}"])
# ecore_evas_buffer

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-con
Description: E core library, Con module
Requires: @requirements_ecore_con@
@pkgconfig_requires_private@: @requirements_ecore_con@
Version: @VERSION@
Libs: -L${libdir} -lecore_con
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-config
Description: E core library, Config module
Requires: @requirements_ecore_config@
@pkgconfig_requires_private@: @requirements_ecore_config@
Version: @VERSION@
Libs: -L${libdir} -lecore_config
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-directfb
Description: E core library, DirectFB module
Requires: @requirements_ecore_directfb@
@pkgconfig_requires_private@: @requirements_ecore_directfb@
Version: @VERSION@
Libs: -L${libdir} -lecore_directfb
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-evas
Description: E core library, Evas module
Requires: @requirements_ecore_evas@
@pkgconfig_requires_private@: @requirements_ecore_evas@
Version: @VERSION@
Libs: -L${libdir} -lecore_evas @ecore_evas_libs@
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-fb
Description: E core library, FB module
Requires: @requirements_ecore_fb@
@pkgconfig_requires_private@: @requirements_ecore_fb@
Version: @VERSION@
Libs: -L${libdir} -lecore_fb
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-file
Description: E core library, File module
Requires: @requirements_ecore_file@
@pkgconfig_requires_private@: @requirements_ecore_file@
Version: @VERSION@
Libs: -L${libdir} -lecore_file
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-imf-evas
Description: E core library, IMF Evas module
Requires: @requirements_ecore_imf_evas@
@pkgconfig_requires_private@: @requirements_ecore_imf_evas@
Version: @VERSION@
Libs: -L${libdir} -lecore_imf_evas
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-imf
Description: E core library, IMF module
Requires: @requirements_ecore_imf@
@pkgconfig_requires_private@: @requirements_ecore_imf@
Version: @VERSION@
Libs: -L${libdir} -lecore_imf
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-input
Description: E core library, Input module
Requires: @requirements_ecore_input@
@pkgconfig_requires_private@: @requirements_ecore_input@
Version: @VERSION@
Libs: -L${libdir} -lecore_input
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-ipc
Description: E core library, IPC module
Requires: @requirements_ecore_ipc@
@pkgconfig_requires_private@: @requirements_ecore_ipc@
Version: @VERSION@
Libs: -L${libdir} -lecore_ipc
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-job
Description: E core library, Job module
Requires: @requirements_ecore_job@
@pkgconfig_requires_private@: @requirements_ecore_job@
Version: @VERSION@
Libs: -L${libdir} -lecore_job
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-quartz
Description: E core library, Quartz module
Requires: @requirements_ecore_quartz@
@pkgconfig_requires_private@: @requirements_ecore_quartz@
Version: @VERSION@
Libs: -L${libdir} -lecore_quartz
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-sdl
Description: E core library, SDL module
Requires: @requirements_ecore_sdl@
@pkgconfig_requires_private@: @requirements_ecore_sdl@
Version: @VERSION@
Libs: -L${libdir} -lecore_sdl
Cflags: -I${includedir}

View File

@ -5,7 +5,8 @@ includedir=@includedir@
Name: ecore-txt
Description: E core library, Text module
Requires: ecore @requirements_ecore_txt@
@pkgconfig_requires_private@: @requirements_ecore_txt@
Version: @VERSION@
Libs: -L${libdir} @ecore_txt_libs@
Libs: -L${libdir} -lecore_txt
Libs.private: @iconv_libs@
Cflags: -I${includedir}

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-win32
Description: E core library, Win32 module
Requires: @requirements_ecore_win32@
@pkgconfig_requires_private@: @requirements_ecore_win32@
Version: @VERSION@
Libs: -L${libdir} -lecore_win32
Libs.private: @ddraw_libs@ @direct3d_libs@

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore-wince
Description: E core library, WinCE module
Requires: @requirements_ecore_wince@
@pkgconfig_requires_private@: @requirements_ecore_wince@
Version: @VERSION@
Libs: -L${libdir} -lecore_wince
Libs.private: @WIN32_LIBS@

View File

@ -5,8 +5,8 @@ includedir=@includedir@
Name: ecore-x
Description: E core library, X module
Requires: @requirements_ecore_x@
@pkgconfig_requires_private@: @requirements_ecore_x@
Version: @VERSION@
Libs: -L${libdir} -lecore_x
Libs.private: @x_libs@ @Xcursor_libs@ @XRENDER_LIBS@ @XPRINT_LIBS@ @XINERAMA_LIBS@ @XRANDR_LIBS@ @XFIXES_LIBS@ @XDAMAGE_LIBS@ @XSS_LIBS@ @ecore_txt_libs@
Libs.private: @x_libs@ @ecore_x_libs_private@
Cflags: -I${includedir} @have_ecore_x_xcb_define@

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: ecore
Description: Ecore event abstraction library
Requires: @requirements_ecore@
@pkgconfig_requires_private@: @requirements_ecore@
Version: @VERSION@
Libs: -L${libdir} -lecore
Libs.private: -lm

View File

@ -189,21 +189,24 @@ fi
dnl use: ECORE_CHECK_TSLIB(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
AC_DEFUN([ECORE_CHECK_TSLIB],
[
_tslib_requirement=""
_ecore_want_tslib=$1
_ecore_have_tslib="no"
TSLIB_LIBS=""
TSLIB_CFLAGS=""
if test "x${_ecore_want_tslib}" = "xyes" -o "x${_ecore_want_tslib}" = "xauto" ; then
PKG_CHECK_MODULES(TSLIB, tslib-1.0,
PKG_CHECK_MODULES([TSLIB], [tslib-1.0],
[
AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
_ecore_have_tslib="yes"
_tslib_requirement="tslib-1.0"
],[
PKG_CHECK_MODULES(TSLIB, tslib,
PKG_CHECK_MODULES([TSLIB], [tslib],
[
AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
_ecore_have_tslib="yes"
_tslib_requirement="tslib"
],[
AC_CHECK_HEADER([tslib.h],
[