[oe-commits] Henning Heinold : ecore: fix building for uClibc

git version control git at git.openembedded.org
Thu Nov 19 01:28:12 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 9bd7891192de86235cfec534350b0c3574808cd4
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=9bd7891192de86235cfec534350b0c3574808cd4

Author: Henning Heinold <heinold at inf.fu-berlin.de>
Date:   Sat Nov 14 12:31:56 2009 +0100

ecore: fix building for uClibc

* dep on gettext-native, becaus it provides iconv.m4 with AM_ICONV
* we don't have any estoric libc, so relay on AM_ICONV macro
* bump PR
* this time tested for glibc builds too

---

 recipes/efl1/ecore.inc               |    3 +-
 recipes/efl1/ecore/exit_uclibc.patch |   26 +++++++++
 recipes/efl1/ecore/iconv.patch       |   96 ++++++++++++++++++++++++++++++++++
 recipes/efl1/ecore_svn.bb            |   23 +++++----
 4 files changed, 137 insertions(+), 11 deletions(-)

diff --git a/recipes/efl1/ecore.inc b/recipes/efl1/ecore.inc
index 4cbbc01..ef3ba55 100644
--- a/recipes/efl1/ecore.inc
+++ b/recipes/efl1/ecore.inc
@@ -1,6 +1,7 @@
 DESCRIPTION = "Ecore is the Enlightenment application framework library"
 LICENSE = "MIT BSD"
-DEPENDS = "curl eet evas tslib libxtst libxcomposite libxinerama libxscrnsaver libxdamage libxrandr libxcursor libxprintutil"
+DEPENDS = "gettext-native virtual/libiconv curl eet evas tslib glib-2.0 \
+           libxtst libxcomposite libxinerama libxscrnsaver libxdamage libxrandr libxcursor libxprintutil"
 # optional
 # DEPENDS += "directfb libsdl-x11 openssl virtual/libiconv"
 PV = "0.9.9.060+svnr${SRCPV}"
diff --git a/recipes/efl1/ecore/exit_uclibc.patch b/recipes/efl1/ecore/exit_uclibc.patch
new file mode 100644
index 0000000..dea010c
--- /dev/null
+++ b/recipes/efl1/ecore/exit_uclibc.patch
@@ -0,0 +1,26 @@
+Index: ecore/src/lib/ecore_con/ecore_con_dns.c
+===================================================================
+--- ecore.orig/src/lib/ecore_con/ecore_con_dns.c	2009-11-14 00:12:04.279051754 +0100
++++ ecore/src/lib/ecore_con/ecore_con_dns.c	2009-11-14 00:14:41.685708230 +0100
+@@ -135,7 +135,7 @@
+ 	     write(fd[1], "", 1);
+ 	  }
+ 	close(fd[1]);
+-# ifdef __USE_ISOC99
++# if defined(__USE_ISOC99) && !defined(__UCLIBC__)
+ 	_Exit(0);
+ # else
+ 	_exit(0);
+Index: ecore/src/lib/ecore_con/ecore_con_info.c
+===================================================================
+--- ecore.orig/src/lib/ecore_con/ecore_con_info.c	2009-11-14 00:14:56.056955719 +0100
++++ ecore/src/lib/ecore_con/ecore_con_info.c	2009-11-14 00:16:40.035696191 +0100
+@@ -243,7 +243,7 @@
+ 	  freeaddrinfo(result);
+ 	err = write(fd[1], "", 1);
+ 	close(fd[1]);
+-# ifdef __USE_ISOC99
++# if defined(__USE_ISOC99) && !defined(__UCLIBC__)
+ 	_Exit(0);
+ # else
+ 	_exit(0);
diff --git a/recipes/efl1/ecore/iconv.patch b/recipes/efl1/ecore/iconv.patch
new file mode 100644
index 0000000..1652491
--- /dev/null
+++ b/recipes/efl1/ecore/iconv.patch
@@ -0,0 +1,96 @@
+Index: ecore/configure.ac
+===================================================================
+--- ecore.orig/configure.ac	2009-11-13 13:16:18.000000000 +0100
++++ ecore/configure.ac	2009-11-19 01:09:28.469345164 +0100
+@@ -29,6 +29,9 @@
+ AM_GNU_GETTEXT_VERSION([0.12.1])
+ AM_GNU_GETTEXT([external])
+ 
++# explicit call AM_ICONV, because gettext is used in a different way
++AM_ICONV
++
+ release="ver-pre-svn-04"
+ case "$host_os" in
+    mingw32ce* | cegcc*)
+@@ -378,48 +381,6 @@
+    requirements_ecore="glib-2.0 ${requirements_ecore}"
+ fi
+ 
+-
+-# iconv library (ecore_txt)
+-
+-iconv_cflags=""
+-iconv_libs=""
+-have_iconv="no"
+-AC_ARG_WITH([iconv-link],
+-   AC_HELP_STRING([--with-iconv-link=ICONV_LINK], [explicitly specify an iconv link option]),
+-   [
+-    iconv_libs=$withval
+-    have_iconv="yes"
+-   ]
+-)
+-
+-if test "x${have_iconv}" = "xno" ; then
+-   AC_CHECK_LIB(c, iconv,
+-      [have_iconv="yes"]   )
+-
+-   if ! test "x${have_iconv}" = "xyes" ; then
+-      AC_CHECK_LIB(iconv, iconv,
+-         [
+-          iconv_libs="-liconv"
+-          have_iconv="yes"
+-         ])
+-   fi
+-
+-   if test "x$have_iconv" != "xyes"; then
+-      AC_CHECK_LIB(iconv_plug, iconv,
+-         [
+-          iconv_libs="-liconv -liconv_plug"
+-          have_iconv="yes"
+-         ])
+-   fi
+-
+-fi
+-AC_MSG_CHECKING(for explicit iconv link options)
+-AC_MSG_RESULT($iconv_libs)
+-
+-AC_SUBST(iconv_cflags)
+-AC_SUBST(iconv_libs)
+-
+-
+ # SDL library (ecore_sdl)
+ 
+ have_sdl="no"
+@@ -790,7 +751,7 @@
+ ECORE_CHECK_MODULE([Job], [${want_ecore_job}])
+ 
+ # ecore_txt
+-ECORE_CHECK_MODULE([Txt], [${want_ecore_txt}], [$have_iconv])
++ECORE_CHECK_MODULE([Txt], [${want_ecore_txt}])
+ 
+ # ecore_con
+ ECORE_CHECK_MODULE([Con], [${want_ecore_con}])
+Index: ecore/src/lib/ecore_txt/Makefile.am
+===================================================================
+--- ecore.orig/src/lib/ecore_txt/Makefile.am	2009-11-13 13:16:12.000000000 +0100
++++ ecore/src/lib/ecore_txt/Makefile.am	2009-11-19 01:08:47.619349166 +0100
+@@ -3,8 +3,7 @@
+ AM_CPPFLAGS = \
+ -I$(top_srcdir)/src/lib/ecore \
+ -I$(top_builddir)/src/lib/ecore \
+- at EFL_ECORE_TXT_BUILD@ \
+- at iconv_cflags@
++ at EFL_ECORE_TXT_BUILD@
+ 
+ if BUILD_ECORE_TXT
+ 
+@@ -16,8 +15,7 @@
+ libecore_txt_la_SOURCES = \
+ ecore_txt.c
+ 
+-libecore_txt_la_LIBADD = @iconv_libs@ \
+- at EINA_LIBS@
++libecore_txt_la_LIBADD = $(LTLIBICONV) @EINA_LIBS@
+ 
+ libecore_txt_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_txt_release_info@
+ 
diff --git a/recipes/efl1/ecore_svn.bb b/recipes/efl1/ecore_svn.bb
index b9f01ba..5be2dc8 100644
--- a/recipes/efl1/ecore_svn.bb
+++ b/recipes/efl1/ecore_svn.bb
@@ -1,32 +1,35 @@
 require ecore.inc
-PR = "r5"
+PR = "r6"
+
+SRC_URI += "file://iconv.patch;patch=1 \
+            file://exit_uclibc.patch;patch=1 \
+           "
 
 EXTRA_OECONF = "\
   --x-includes=${STAGING_INCDIR}/X11 \
   --x-libraries=${STAGING_LIBDIR} \
   --enable-simple-x11 \
-\
   --enable-ecore-txt \
   --enable-ecore-config \
-  --disable-ecore-x-xcb \
   --enable-ecore-x \
   --enable-ecore-job \
-  --disable-ecore-directfb \
-  --disable-ecore-sdl \
   --enable-ecore-fb \
   --enable-ecore-evas \
   --enable-ecore-evas-software-16-x11 \
-  --disable-ecore-evas-x11-gl \
   --enable-ecore-evas-xrender \
-  --disable-ecore-evas-dfb \
-  --disable-ecore-evas-sdl \
-  --disable-openssl \
   --enable-abstract-sockets \
   --enable-ecore-con \
   --enable-ecore-ipc \
   --enable-ecore-file \
   --enable-inotify \
-  --disable-poll \
   --enable-curl \
   --disable-ecore-desktop \
+  --disable-ecore-x-xcb \
+  --disable-ecore-directfb \
+  --disable-ecore-sdl \
+  --disable-ecore-evas-x11-gl \
+  --disable-ecore-evas-dfb \
+  --disable-ecore-evas-sdl \
+  --disable-openssl \
+  --disable-poll \
 "





More information about the Openembedded-commits mailing list