瀏覽代碼

glib2: fix missing gobject library when linking glib-compile-resources (#826)

The automake template does not specify libgobject-2.0.la as _LDADD dependency
for glib-compile-resources, leading to the following linker error:

  .../ld: warning: libgmodule-2.0.so.0, needed by ./.libs/libgio-2.0.so, not found (try using -rpath or -rpath-link)
  ./.libs/libgio-2.0.so: undefined reference to `g_module_supported'
  ./.libs/libgio-2.0.so: undefined reference to `g_module_symbol'
  ./.libs/libgio-2.0.so: undefined reference to `g_module_close'
  ./.libs/libgio-2.0.so: undefined reference to `g_module_error'
  ./.libs/libgio-2.0.so: undefined reference to `g_module_open'
  collect2: error: ld returned 1 exit status

This commit introduces a patch to add the missing libtool archive to the list
of libraries to link.

Due to the update of the .am file, a full autoreconf is required to update
configure and Makefile, leading to the following error:

  error: HAVE_GTK_DOC does not appear in AM_CONDITIONAL

Therfore another patch is added to properly fix the conditional when using
automake-1.15.

Finally extend the copyright year in the Makefile and enable the generic
autoreconf fixup to properly build and link glib2.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich 10 年之前
父節點
當前提交
767e5bbd9c
共有 3 個檔案被更改,包括 24 行新增1 行删除
  1. 3
    1
      libs/glib2/Makefile
  2. 11
    0
      libs/glib2/patches/001-automake-compat.patch
  3. 10
    0
      libs/glib2/patches/100-fix-gio-linking.patch

+ 3
- 1
libs/glib2/Makefile 查看文件

@@ -1,5 +1,5 @@
1 1
 #
2
-# Copyright (C) 2007-2012 OpenWrt.org
2
+# Copyright (C) 2007-2015 OpenWrt.org
3 3
 #
4 4
 # This is free software, licensed under the GNU General Public License v2.
5 5
 # See /LICENSE for more information.
@@ -21,6 +21,8 @@ HOST_BUILD_DEPENDS:=libintl/host libiconv/host libffi/host
21 21
 PKG_INSTALL:=1
22 22
 PKG_USE_MIPS16:=0
23 23
 
24
+PKG_FIXUP:=autoreconf
25
+
24 26
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
25 27
 
26 28
 include $(INCLUDE_DIR)/host-build.mk

+ 11
- 0
libs/glib2/patches/001-automake-compat.patch 查看文件

@@ -0,0 +1,11 @@
1
+--- a/gtk-doc.make
2
++++ b/gtk-doc.make
3
+@@ -267,7 +267,7 @@ uninstall-local:
4
+ #
5
+ # Require gtk-doc when making dist
6
+ #
7
+-if HAVE_GTK_DOC
8
++if ENABLE_GTK_DOC
9
+ dist-check-gtkdoc: docs
10
+ else
11
+ dist-check-gtkdoc:

+ 10
- 0
libs/glib2/patches/100-fix-gio-linking.patch 查看文件

@@ -0,0 +1,10 @@
1
+--- a/gio/Makefile.am
2
++++ b/gio/Makefile.am
3
+@@ -695,6 +695,7 @@ bin_PROGRAMS = gio-querymodules glib-com
4
+ 
5
+ glib_compile_resources_LDADD = libgio-2.0.la 		\
6
+ 	$(top_builddir)/gobject/libgobject-2.0.la	\
7
++	$(top_builddir)/gmodule/libgmodule-2.0.la	\
8
+ 	$(top_builddir)/glib/libglib-2.0.la 		\
9
+ 	$(NULL)
10
+