elfutils: produce correct libelf.pc file when building with full nls
authorJo-Philipp Wich <jo@mein.io>
Thu, 20 Dec 2018 07:04:46 +0000 (08:04 +0100)
committerJo-Philipp Wich <jo@mein.io>
Thu, 20 Dec 2018 07:13:24 +0000 (08:13 +0100)
When building with full lagnuage support, libelf.so will depend on and
link with libintl.so so we need to change the pkg-config template to
reflect this library dependency.

Also change the Makefile to only pass --disable-nls to configure when
the full nls support is actually disabled in the buildroot config.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
package/libs/elfutils/Makefile
package/libs/elfutils/patches/003-libint-stub.patch [deleted file]
package/libs/elfutils/patches/003-libintl-compatibility.patch [new file with mode: 0644]

index 9fff14d..8ac3a01 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=elfutils
 PKG_VERSION:=0.174
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
@@ -54,12 +54,13 @@ define Package/libelf1
 endef
 
 ifeq ($(CONFIG_BUILD_NLS),y)
-TARGET_LDFLAGS += "-lintl"
+TARGET_LDFLAGS += -lintl
+else
+CONFIGURE_ARGS += --disable-nls
 endif
 
 CONFIGURE_ARGS += \
        --program-prefix=eu- \
-       --disable-nls \
        --without-lzma
 
 TARGET_CFLAGS += -D_GNU_SOURCE -Wno-unused-result -Wno-format-nonliteral
diff --git a/package/libs/elfutils/patches/003-libint-stub.patch b/package/libs/elfutils/patches/003-libint-stub.patch
deleted file mode 100644 (file)
index 24cad74..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/libelf/libelfP.h
-+++ b/libelf/libelfP.h
-@@ -39,6 +39,9 @@
- #include <stdio.h>
- #include <string.h>
-+#ifdef _ /* fix libintl-stub */
-+#undef _
-+#endif
- /* gettext helper macros.  */
- #define _(Str) dgettext ("elfutils", Str)
---- a/libdw/libdwP.h
-+++ b/libdw/libdwP.h
-@@ -35,7 +35,9 @@
- #include <libdw.h>
- #include <dwarf.h>
--
-+#ifdef _ /* fix libintl-stub */
-+#undef _
-+#endif
- /* gettext helper macros.  */
- #define _(Str) dgettext ("elfutils", Str)
---- a/libdwfl/libdwflP.h
-+++ b/libdwfl/libdwflP.h
-@@ -43,6 +43,9 @@
- typedef struct Dwfl_Process Dwfl_Process;
-+#ifdef _ /* fix libintl-stub */
-+#undef _
-+#endif
- /* gettext helper macros.  */
- #define _(Str) dgettext ("elfutils", Str)
---- a/libasm/libasmP.h
-+++ b/libasm/libasmP.h
-@@ -35,6 +35,9 @@
- #include "libdwelf.h"
-+#ifdef _ /* fix libintl-stub */
-+#undef _
-+#endif
- /* gettext helper macros.  */
- #define _(Str) dgettext ("elfutils", Str)
diff --git a/package/libs/elfutils/patches/003-libintl-compatibility.patch b/package/libs/elfutils/patches/003-libintl-compatibility.patch
new file mode 100644 (file)
index 0000000..35a2711
--- /dev/null
@@ -0,0 +1,72 @@
+--- a/libelf/libelfP.h
++++ b/libelf/libelfP.h
+@@ -39,6 +39,9 @@
+ #include <stdio.h>
+ #include <string.h>
++#ifdef _ /* fix libintl-stub */
++#undef _
++#endif
+ /* gettext helper macros.  */
+ #define _(Str) dgettext ("elfutils", Str)
+--- a/libdw/libdwP.h
++++ b/libdw/libdwP.h
+@@ -35,7 +35,9 @@
+ #include <libdw.h>
+ #include <dwarf.h>
+-
++#ifdef _ /* fix libintl-stub */
++#undef _
++#endif
+ /* gettext helper macros.  */
+ #define _(Str) dgettext ("elfutils", Str)
+--- a/libdwfl/libdwflP.h
++++ b/libdwfl/libdwflP.h
+@@ -43,6 +43,9 @@
+ typedef struct Dwfl_Process Dwfl_Process;
++#ifdef _ /* fix libintl-stub */
++#undef _
++#endif
+ /* gettext helper macros.  */
+ #define _(Str) dgettext ("elfutils", Str)
+--- a/libasm/libasmP.h
++++ b/libasm/libasmP.h
+@@ -35,6 +35,9 @@
+ #include "libdwelf.h"
++#ifdef _ /* fix libintl-stub */
++#undef _
++#endif
+ /* gettext helper macros.  */
+ #define _(Str) dgettext ("elfutils", Str)
+--- a/config/libelf.pc.in
++++ b/config/libelf.pc.in
+@@ -8,7 +8,7 @@ Description: elfutils libelf library to
+ Version: @VERSION@
+ URL: http://elfutils.org/
+-Libs: -L${libdir} -lelf
++Libs: -L${libdir} -lelf @intl_LDFLAGS@
+ Cflags: -I${includedir}
+ Requires.private: zlib
+--- a/configure.ac
++++ b/configure.ac
+@@ -538,6 +538,9 @@ AC_CONFIG_FILES([config/libelf.pc config
+ AC_SUBST(USE_NLS, yes)
+ AM_PO_SUBDIRS
++case "$USE_NLS" in yes) intl_LDFLAGS="-lintl" ;; esac
++AC_SUBST([intl_LDFLAGS])
++
+ dnl Appended to the config.h file.
+ dnl We hide all kinds of configuration magic in lib/eu-config.h.
+ AH_BOTTOM([#include <eu-config.h>])