From f03faaf3ab5bbd5f375c47c3cf12f1254d1237bd Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 17:09:05 +0100 Subject: automake: add build dependency on host-autoconf automake for the target fails to build if autoconf is not installed on the host: checking whether autoconf is installed... no configure: error: Autoconf 2.58 or better is required. Please make sure it is installed and in your PATH. make: *** [/home/test/brbuilttest/build/automake-1.10/.stamp_configured] Error 1 Signed-off-by: Thomas Petazzoni --- package/automake/automake.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/automake/automake.mk b/package/automake/automake.mk index eb3b3755e..db935a466 100644 --- a/package/automake/automake.mk +++ b/package/automake/automake.mk @@ -11,7 +11,7 @@ ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff AUTOMAKE_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install endif -AUTOMAKE_DEPENDENCIES = autoconf microperl +AUTOMAKE_DEPENDENCIES = host-autoconf autoconf microperl HOST_AUTOMAKE_DEPENDENCIES = host-autoconf -- cgit v1.2.3 From 53f670ac06837e0517cffad747435e5d1677d3fa Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 17:13:55 +0100 Subject: ccache: remove cleanup of documentation The cleanup of documentation is handled in a global way, in the main Makefile. Signed-off-by: Thomas Petazzoni --- toolchain/ccache/ccache.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/toolchain/ccache/ccache.mk b/toolchain/ccache/ccache.mk index c98937d37..8e414b27b 100644 --- a/toolchain/ccache/ccache.mk +++ b/toolchain/ccache/ccache.mk @@ -163,9 +163,6 @@ $(CCACHE_DIR2)/$(CCACHE_BINARY): $(CCACHE_DIR2)/.configured $(TARGET_DIR)/$(CCACHE_TARGET_BINARY): $(CCACHE_DIR2)/$(CCACHE_BINARY) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(CCACHE_DIR2) install -ifneq ($(BR2_HAVE_MANPAGES),y) - rm -rf $(TARGET_DIR)/usr/man -endif # put a bunch of symlinks into /bin, since that is earlier # in the default PATH than /usr/bin where gcc lives (cd $(TARGET_DIR)/bin; \ -- cgit v1.2.3 From e81149c54301f88ae64bd85caa6d0f29e879d064 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:11:37 +0100 Subject: libxml2: do not apply libtool patch when compiling for host The libtool patch is not applied when building for the target because it does not apply, so do not attempt to apply it when building for the host. This fixes libxml2 build for the host. Signed-off-by: Thomas Petazzoni --- package/libxml2/libxml2.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index e598d36cb..31fdabfa1 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -28,6 +28,8 @@ HOST_LIBXML2_CONF_OPT = \ --enable-shared --without-debugging --without-python \ --without-threads +HOST_LIBXML2_LIBTOOL_PATCH = NO + $(eval $(call AUTOTARGETS,package,libxml2)) $(eval $(call AUTOTARGETS,package,libxml2,host)) -- cgit v1.2.3 From 73c937229bff334c9e4b88b7cc094ff4e576cdf4 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:12:34 +0100 Subject: libxslt: enable compilation on host Compiling libxcb (from the X.org stack) requires xsltproc on the host, which is part of libxslt. Signed-off-by: Thomas Petazzoni --- package/libxslt/libxslt.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index 03c113103..4bf61b54c 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -25,7 +25,15 @@ LIBXSLT_CONF_OPT = --with-gnu-ld --enable-shared \ LIBXSLT_DEPENDENCIES = libxml2 $(LIBXSLT_DEPENDENCIES_EXTRA) +HOST_LIBXSLT_CONF_OPT = --enable-shared \ + --without-debugging \ + --without-python \ + --without-threads + +HOST_LIBXSLT_DEPENDENCIES = host-libxml2 + $(eval $(call AUTOTARGETS,package,libxslt)) +$(eval $(call AUTOTARGETS,package,libxslt,host)) $(LIBXSLT_HOOK_POST_INSTALL): $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/xslt-config -- cgit v1.2.3 From e5d1244a747a3863b9f53c80c3ad3f0d60fbe8cd Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:13:18 +0100 Subject: libxcb: fix build with Buildroot compiled xsltproc Make sure that libxcb depends on host-xsltproc, since xsltproc is required for the compilation of libxcb. Moreover, remove the XSLTPROC=/usr/bin/xsltproc variable definition, which was assuming that XSLTPROC was installed on the host. xsltproc should just be part of the PATH. Signed-off-by: Thomas Petazzoni --- package/x11r7/libxcb/libxcb.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk index b79addd20..19cfc6a12 100644 --- a/package/x11r7/libxcb/libxcb.mk +++ b/package/x11r7/libxcb/libxcb.mk @@ -10,9 +10,9 @@ LIBXCB_SITE = http://xcb.freedesktop.org/dist/ LIBXCB_INSTALL_STAGING = YES LIBXCB_AUTORECONF = NO -LIBXCB_DEPENDENCIES = pthread-stubs xcb-proto xlib_libXdmcp xlib_libXau +LIBXCB_DEPENDENCIES = host-libxslt pthread-stubs xcb-proto xlib_libXdmcp xlib_libXau LIBXCB_CONF_ENV = STAGING_DIR="$(STAGING_DIR)" -LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb XSLTPROC=/usr/bin/xsltproc +LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb $(eval $(call AUTOTARGETS,package/x11r7,libxcb)) -- cgit v1.2.3 From 1786b39f0b85f2efa383ca8714ca88fdecafba84 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:14:56 +0100 Subject: xapp_mkfontscale: enable compilation for the host and fix deps mkfontscale on the host is required to build xfonts-encoding for the target. We also fix the dependencies. xlib_libX11 is not needed to compile xapp_mkfontscale. However, xproto_xproto is needed. Signed-off-by: Thomas Petazzoni --- package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk b/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk index 05a3f8146..1cbe0b42a 100644 --- a/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk +++ b/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk @@ -8,6 +8,8 @@ XAPP_MKFONTSCALE_VERSION = 1.0.5 XAPP_MKFONTSCALE_SOURCE = mkfontscale-$(XAPP_MKFONTSCALE_VERSION).tar.bz2 XAPP_MKFONTSCALE_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_MKFONTSCALE_AUTORECONF = NO -XAPP_MKFONTSCALE_DEPENDENCIES = freetype xlib_libX11 xlib_libfontenc +XAPP_MKFONTSCALE_DEPENDENCIES = zlib freetype xlib_libfontenc xproto_xproto +HOST_XAPP_MKFONTSCALE_DEPENDENCIES = host-zlib host-freetype host-xlib_libfontenc host-xproto_xproto $(eval $(call AUTOTARGETS,package/x11r7,xapp_mkfontscale)) +$(eval $(call AUTOTARGETS,package/x11r7,xapp_mkfontscale,host)) -- cgit v1.2.3 From d61ed6f32207ced6d7afa0d45473b63a0acf248d Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:15:46 +0100 Subject: xfont_encoding: add mkfontscale on the host as dependency mkfontscale on the host is needed to build xfont_encoding, therefore we add host-xapp_mkfontscale as a dependency. Signed-off-by: Thomas Petazzoni --- package/x11r7/xfont_encodings/xfont_encodings.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/x11r7/xfont_encodings/xfont_encodings.mk b/package/x11r7/xfont_encodings/xfont_encodings.mk index 74256d1d1..9097735e8 100644 --- a/package/x11r7/xfont_encodings/xfont_encodings.mk +++ b/package/x11r7/xfont_encodings/xfont_encodings.mk @@ -9,5 +9,6 @@ XFONT_ENCODINGS_SOURCE = encodings-$(XFONT_ENCODINGS_VERSION).tar.bz2 XFONT_ENCODINGS_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_ENCODINGS_AUTORECONF = NO XFONT_ENCODINGS_MAKE_OPT = +XFONT_ENCODINGS_DEPENDENCIES = host-xapp_mkfontscale $(eval $(call AUTOTARGETS,package/x11r7,xfont_encodings)) -- cgit v1.2.3 From d65e627432af8fce1c41df67ca48ce926b5a7300 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:17:43 +0100 Subject: xlib_libfontenc: enable compilation on the host xlib_libfontenc is required to build xapp_mkfontscale on the host, which in turn is needed to build font encodings for the target. Signed-off-by: Thomas Petazzoni --- package/x11r7/xlib_libfontenc/xlib_libfontenc.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk b/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk index b03697a8f..7ab451166 100644 --- a/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk +++ b/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk @@ -12,4 +12,7 @@ XLIB_LIBFONTENC_INSTALL_STAGING = YES XLIB_LIBFONTENC_DEPENDENCIES = zlib xproto_xproto XLIB_LIBFONTENC_CONF_OPT = --enable-shared --disable-static +HOST_XLIB_LIBFONTENC_DEPENDENCIES = host-zlib host-xproto_xproto + $(eval $(call AUTOTARGETS,package/x11r7,xlib_libfontenc)) +$(eval $(call AUTOTARGETS,package/x11r7,xlib_libfontenc,host)) -- cgit v1.2.3 From a55cd51b855fc2749bc7db972ae353177eaa7d79 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:19:06 +0100 Subject: zlib: enable compilation on the host zlib is needed on the host, to build xlib_libfontenc on the host, to build xapp_mkfontscale on the host, in order to finally build xfonts encodings on the target. Signed-off-by: Thomas Petazzoni --- package/zlib/zlib.mk | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/package/zlib/zlib.mk b/package/zlib/zlib.mk index 743247309..3144ae9fa 100644 --- a/package/zlib/zlib.mk +++ b/package/zlib/zlib.mk @@ -30,10 +30,26 @@ define ZLIB_CONFIGURE_CMDS ) endef +define HOST_ZLIB_CONFIGURE_CMDS + (cd $(@D); rm -rf config.cache; \ + $(HOST_CONFIGURE_ARGS) \ + $(HOST_CONFIGURE_OPTS) \ + CFLAGS="$(ZLIB_PIC)" \ + ./configure \ + $(ZLIB_SHARED) \ + --prefix="$(HOST_DIR)/usr" \ + --sysconfdir="$(HOST_DIR)/etc" \ + ) +endef + define ZLIB_BUILD_CMDS $(MAKE) -C $(@D) all libz.a endef +define HOST_ZLIB_BUILD_CMDS + $(MAKE) -C $(@D) all libz.a +endef + define ZLIB_INSTALL_STAGING_CMDS $(INSTALL) -D $(@D)/libz.a $(STAGING_DIR)/usr/lib/libz.a $(INSTALL) -D $(@D)/zlib.h $(STAGING_DIR)/usr/include/zlib.h @@ -41,6 +57,13 @@ define ZLIB_INSTALL_STAGING_CMDS cp -dpf $(@D)/libz.so* $(STAGING_DIR)/usr/lib/ endef +define HOST_ZLIB_INSTALL_CMDS + $(INSTALL) -D $(@D)/libz.a $(HOST_DIR)/usr/lib/libz.a + $(INSTALL) -D $(@D)/zlib.h $(HOST_DIR)/usr/include/zlib.h + $(INSTALL) $(@D)/zconf.h $(HOST_DIR)/usr/include/ + cp -dpf $(@D)/libz.so* $(HOST_DIR)/usr/lib/ +endef + ifeq ($(BR2_HAVE_DEVFILES),y) define ZLIB_INSTALL_TARGET_HEADERS $(INSTALL) -D $(@D)/zlib.h $(TARGET_DIR)/usr/include/zlib.h @@ -57,3 +80,5 @@ define ZLIB_INSTALL_TARGET_CMDS endef $(eval $(call GENTARGETS,package,zlib)) +$(eval $(call GENTARGETS,package,zlib,host)) + -- cgit v1.2.3 From abc1479ea795a18a743ea513e33179058bdfe6b6 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:20:14 +0100 Subject: xfont_font-util: convert to the autotools infrastructure Signed-off-by: Thomas Petazzoni --- package/x11r7/xfont_font-util/xfont_font-util.mk | 74 ++---------------------- 1 file changed, 6 insertions(+), 68 deletions(-) diff --git a/package/x11r7/xfont_font-util/xfont_font-util.mk b/package/x11r7/xfont_font-util/xfont_font-util.mk index 38e7e80a7..88dce3843 100644 --- a/package/x11r7/xfont_font-util/xfont_font-util.mk +++ b/package/x11r7/xfont_font-util/xfont_font-util.mk @@ -5,76 +5,14 @@ ################################################################################ XFONT_FONT_UTIL_VERSION = 1.0.1 -XFONT_FONT_UTIL_NAME = font-util-$(XFONT_FONT_UTIL_VERSION) XFONT_FONT_UTIL_SOURCE = font-util-$(XFONT_FONT_UTIL_VERSION).tar.bz2 XFONT_FONT_UTIL_SITE = http://xorg.freedesktop.org/releases/individual/font -XFONT_FONT_UTIL_AUTORECONF = NO -XFONT_FONT_UTIL_DIR=$(BUILD_DIR)/$(XFONT_FONT_UTIL_NAME) -XFONT_FONT_UTIL_CAT:=$(BZCAT) +XFONT_FONT_UTIL_DEPENDENCIES = host-pkg-config -$(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE): - $(call DOWNLOAD,$(XFONT_FONT_UTIL_SITE),$(XFONT_FONT_UTIL_SOURCE)) +define XFONT_FONT_UTIL_POST_INSTALL_FIXES + $(@D)/post-install.sh $(STAGING_DIR) +endef -xfont_font-util-source: $(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE) - -$(XFONT_FONT_UTIL_DIR)/.unpacked: $(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE) - $(XFONT_FONT_UTIL_CAT) $(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - toolchain/patch-kernel.sh $(XFONT_FONT_UTIL_DIR) package/x11r7/xfont_font-util/ \*.patch - $(CONFIG_UPDATE) $(XFONT_FONT_UTIL_DIR) - touch $@ - -$(XFONT_FONT_UTIL_DIR)/.configured: $(XFONT_FONT_UTIL_DIR)/.unpacked - (cd $(XFONT_FONT_UTIL_DIR) && rm -rf config.cache) - (cd $(XFONT_FONT_UTIL_DIR) && \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libdir=/usr/lib \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --includedir=/usr/include \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - ) - touch $@ - -$(XFONT_FONT_UTIL_DIR)/.compiled: $(XFONT_FONT_UTIL_DIR)/.configured - $(MAKE) -C $(XFONT_FONT_UTIL_DIR) - touch $@ - -$(XFONT_FONT_UTIL_DIR)/.installed: $(XFONT_FONT_UTIL_DIR)/.compiled - $(MAKE) DESTDIR=$(STAGING_DIR) -C $(XFONT_FONT_UTIL_DIR) install - touch $@ - -$(XFONT_FONT_UTIL_DIR)/.hacked: $(XFONT_FONT_UTIL_DIR)/.installed - ( package/x11r7/xfont_font-util/post-install.sh $(STAGING_DIR) ) - touch $@ - -xfont_font-util: host-pkg-config $(XFONT_FONT_UTIL_DIR)/.hacked - -xfont_font-util-unpacked: $(XFONT_FONT_UTIL_DIR)/.unpacked - -xfont_font-util-clean: - -$(MAKE) -C $(XFONT_FONT_UTIL_DIR) clean - -xfont_font-util-dirclean: - rm -rf $(XFONT_FONT_UTIL_DIR) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_XFONT_FONT_UTIL),y) -TARGETS+=xfont_font-util -endif +XFONT_FONT_UTIL_POST_INSTALL_STAGING_HOOKS += XFONT_FONT_UTIL_POST_INSTALL_FIXES +$(eval $(call AUTOTARGETS,package/x11r7,xfont_font-util)) \ No newline at end of file -- cgit v1.2.3 From c1b6242fdcf2cff7ebf09fec4cc1be58963e8427 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:20:38 +0100 Subject: package infrastructure: add LD_LIBRARY_PATH During the compilation of target or host packages, host tools might be used, and in turn, they might use host libraries installed in $(HOST_DIR)/usr/lib. Therefore, we pass a LD_LIBRARY_PATH variable when building packages. Signed-off-by: Thomas Petazzoni --- package/Makefile.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/Makefile.in b/package/Makefile.in index bc0ac7ccd..043ef3e46 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -236,7 +236,8 @@ TARGET_CONFIGURE_ENV=\ LDFLAGS="$(TARGET_LDFLAGS)" \ FCFLAGS="$(TARGET_FCFLAGS)" \ -TARGET_MAKE_ENV=PATH=$(TARGET_PATH) +TARGET_MAKE_ENV=PATH=$(TARGET_PATH) \ + LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \ AR="$(HOSTAR)" \ @@ -277,6 +278,7 @@ HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \ PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" HOST_MAKE_ENV=PATH=$(HOST_PATH) \ + LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" -- cgit v1.2.3 From 988b4d8d1cce4187bb0600cebd31dcff7c726056 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:23:04 +0100 Subject: libpng: enable compilation on the host libpng is needed on the host to build ace_of_penguins. Signed-off-by: Thomas Petazzoni --- package/libpng/libpng.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index 1297c89ee..86e943caa 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -11,7 +11,12 @@ LIBPNG_INSTALL_STAGING = YES LIBPNG_CONF_OPT = --without-libpng-compat LIBPNG_DEPENDENCIES = host-pkg-config zlib +HOST_LIBPNG_LIBTOOL_PATCH = NO +HOST_LIBPNG_CONF_OPT = --without-libpng-compat +HOST_LIBPNG_DEPENDENCIES = host-pkg-config host-zlib + $(eval $(call AUTOTARGETS,package,libpng)) +$(eval $(call AUTOTARGETS,package,libpng,host)) $(LIBPNG_HOOK_POST_INSTALL): $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" \ -- cgit v1.2.3 From 3422dc5efe3557f32ea9f71ec2e27c512288015b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 18:23:35 +0100 Subject: ace_of_penguins: add dependency on host-libpng libpng is needed on the host to build the make-imglib utility, built during the compilation of ace_of_penguins for the target. Signed-off-by: Thomas Petazzoni --- package/games/ace_of_penguins/ace_of_penguins.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/games/ace_of_penguins/ace_of_penguins.mk b/package/games/ace_of_penguins/ace_of_penguins.mk index fe3e20481..a106d1416 100644 --- a/package/games/ace_of_penguins/ace_of_penguins.mk +++ b/package/games/ace_of_penguins/ace_of_penguins.mk @@ -10,6 +10,6 @@ ACE_OF_PENGUINS_AUTORECONF = YES ACE_OF_PENGUINS_STAGING = NO ACE_OF_PENGUINS_TARGET = YES -ACE_OF_PENGUINS_DEPENDENCIES = libpng xserver_xorg-server xlib_libXpm +ACE_OF_PENGUINS_DEPENDENCIES = libpng host-libpng xserver_xorg-server xlib_libXpm $(eval $(call AUTOTARGETS,package/games,ace_of_penguins)) -- cgit v1.2.3 From 7452b4edfa1c8385d602950bcaeb2cb3afdfdf3c Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 19:21:37 +0100 Subject: ace_of_penguins: mark as BROKEN This package is BROKEN in the way it compiles make-imglib and text2c for the host while being in cross-compiled mode. It does not use CC_FOR_BUILD and CFLAGS_FOR_BUILD as it should. No upstream release has been made since 2001 and since it is a relatively useless package, I don't think it's worth the trouble to sanitize its build system. Signed-off-by: Thomas Petazzoni --- package/games/ace_of_penguins/Config.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/games/ace_of_penguins/Config.in b/package/games/ace_of_penguins/Config.in index 1d5a36774..b3015c643 100644 --- a/package/games/ace_of_penguins/Config.in +++ b/package/games/ace_of_penguins/Config.in @@ -3,6 +3,9 @@ config BR2_PACKAGE_ACE_OF_PENGUINS select BR2_PACKAGE_LIBPNG depends on BR2_PACKAGE_XORG7 depends on BR2_PACKAGE_XLIB_LIBXPM + # Build system is broken for tools that need to be compiled + # on the host + depends on BROKEN help The Ace of Penguins is a set of Unix/X solitaire games based on the ones available for Windows but with a number of -- cgit v1.2.3 From a47ce9d3df148cbfbd38355c80624fb5abc78a77 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Feb 2010 19:31:39 +0100 Subject: dependencies: add gzip and bzip2 as base dependencies They are needed to uncompress the tarballs we download. bzip2, for instance, is not necessarly installed by default on basic Debian systems. Signed-off-by: Thomas Petazzoni --- toolchain/dependencies/dependencies.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/dependencies/dependencies.sh b/toolchain/dependencies/dependencies.sh index f5b26214d..d0190fd4d 100755 --- a/toolchain/dependencies/dependencies.sh +++ b/toolchain/dependencies/dependencies.sh @@ -122,7 +122,7 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then fi; # Check that a few mandatory programs are installed -for prog in awk bison flex msgfmt makeinfo patch ; do +for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 ; do if ! which $prog > /dev/null ; then /bin/echo -e "\nYou must install '$prog' on your build machine"; if test $prog = "makeinfo" ; then -- cgit v1.2.3 From ce1f459b8bb0654a717124a1284b7204616ca199 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:11:00 +0100 Subject: libgtk2: break the dependency of host-libgtk2 on host-cairo Making a full build of libgtk2 for the host is a pain, since it requires host-cairo, which it turns requires a full X.org stack to be compiled for the host. Moreover, building libgtk2 for the host completely is useless: we only need gdk-pixbuf-csource and gtk-update-icon-cache. In this patch, we add a new host-libgtk2-2.12.12-reduce-dependencies.patch, that is only applied to libgtk2 when being built for the host. This patch removes a lot of dependencies in configure.in, which allows to: * run make and make install in gdk-pixbuf/, which compiles and installs the gdk-pixbuf library and the gdk-pixbuf-csource utility * run make gtk-update-icon-cache in gtk/, which compiles the gtk-update-icon-cache utility, which is then installed manually The compilation and installation steps of libgtk2 for the host are therefore overriden, so as to not use the default behaviour, which would attempt to build the full gtk library. Signed-off-by: Thomas Petazzoni --- .../host-libgtk2-2.12.12-reduce-dependencies.patch | 200 +++++++++++++++++++++ package/libgtk2/libgtk2.mk | 29 ++- 2 files changed, 226 insertions(+), 3 deletions(-) create mode 100644 package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch diff --git a/package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch b/package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch new file mode 100644 index 000000000..f0ac6bfa1 --- /dev/null +++ b/package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch @@ -0,0 +1,200 @@ +Index: gtk+-2.12.12/configure.in +=================================================================== +--- gtk+-2.12.12.orig/configure.in 2008-09-13 02:01:07.000000000 +0200 ++++ gtk+-2.12.12/configure.in 2010-02-21 10:42:40.000000000 +0100 +@@ -32,9 +32,6 @@ + + # required versions of other packages + m4_define([glib_required_version], [2.13.5]) +-m4_define([pango_required_version], [1.17.3]) +-m4_define([atk_required_version], [1.9.0]) +-m4_define([cairo_required_version], [1.2.0]) + + + AC_INIT([gtk+], [gtk_version], +@@ -239,12 +236,12 @@ + gdktarget=x11 + fi + +-AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target], ++AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target], + gdktarget=$with_gdktarget) + + AC_SUBST(gdktarget) + case $gdktarget in +- x11|win32|quartz|directfb) ;; ++ x11|win32|quartz|directfb|none) ;; + *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);; + esac + +@@ -349,10 +346,7 @@ + ## the version requirements since those make the module lists + ## annoying to construct + PKG_CHECK_MODULES(BASE_DEPENDENCIES, +- [glib-2.0 >= glib_required_version dnl +- atk >= atk_required_version dnl +- pango >= pango_required_version dnl +- cairo >= cairo_required_version]) ++ [glib-2.0 >= glib_required_version]) + + if test "$os_win32" != yes; then + # libtool option to control which symbols are exported +@@ -1061,7 +1055,7 @@ + GDK_PIXBUF_XLIB_EXTRA_CFLAGS= + GDK_PIXBUF_XLIB_EXTRA_LIBS= + +-X_PACKAGES=fontconfig ++X_PACKAGES= + GDK_EXTRA_LIBS="$GDK_WLIBS" + GDK_EXTRA_CFLAGS= + +@@ -1070,14 +1064,6 @@ + GTK_DEP_LIBS_FOR_X= + + if test "x$gdktarget" = "xx11"; then +- # +- # We use fontconfig very peripherally when decoding the default +- # settings. +- # +- if $PKG_CONFIG --exists fontconfig; then : ; else +- AC_MSG_ERROR([ +-*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.]) +- fi + + # + # Check for basic X packages; we use pkg-config if available +@@ -1124,16 +1110,6 @@ + gtk_save_LIBS=$LIBS + LIBS="$x_libs_for_checks $LIBS" + +- # Sanity check for the X11 and Xext libraries. While everything we need from +- # Xext is optional, the chances a system has *none* of these things is so +- # small that we just unconditionally require it. +- AC_CHECK_FUNC(XOpenDisplay, :, +- AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.])) +- AC_CHECK_FUNC(XextFindDisplay, :, +- AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.])) +- AC_CHECK_FUNC(XRenderQueryExtension, :, +- AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.])) +- + # Check for xReply + + AC_MSG_CHECKING([if is needed for xReply]) +@@ -1418,48 +1394,6 @@ + AM_CONDITIONAL(USE_DIRECTFB, false) + fi + +- +-# Check for Pango flags +- +-if test "x$gdktarget" = "xwin32"; then +- PANGO_PACKAGES="pangowin32 pangocairo" +-else +- PANGO_PACKAGES="pango pangocairo" +-fi +- +-AC_MSG_CHECKING(Pango flags) +-if $PKG_CONFIG --exists $PANGO_PACKAGES ; then +- PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES` +- PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES` +- +- AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS) +-else +- AC_MSG_ERROR([ +-*** Pango not found. Pango built with Cairo support is required +-*** to build GTK+. See http://www.pango.org for Pango information. +-]) +-fi +- +-CFLAGS="$CFLAGS $PANGO_CFLAGS" +- +-if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then +- : +-else +- gtk_save_LIBS="$LIBS" +- LIBS="$PANGO_LIBS $LIBS" +- AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([ +-*** Can't link to Pango. Pango is required to build +-*** GTK+. For more information see http://www.pango.org])) +- LIBS="$gtk_save_LIBS" +-fi +- +-CFLAGS="$saved_cflags" +-LDFLAGS="$saved_ldflags" +- +-GDK_PACKAGES="$PANGO_PACKAGES" +-if test "x$gdktarget" = "xx11"; then +- GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES" +-fi + GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS" + GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS" + +@@ -1468,7 +1402,7 @@ + # into the pkg-config files + # + if test $enable_explicit_deps != yes ; then +- GDK_PACKAGES="$PANGO_PACKAGES" ++ GDK_PACKAGES= + GDK_EXTRA_LIBS= + fi + +@@ -1479,39 +1413,10 @@ + AC_SUBST(GDK_DEP_CFLAGS) + + +-######################################## +-# Check for Accessibility Toolkit flags +-######################################## +- +-ATK_PACKAGES=atk +-AC_MSG_CHECKING(ATK flags) +-if $PKG_CONFIG --exists $ATK_PACKAGES ; then +- ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES` +- ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES` +- +- AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS) +-else +- AC_MSG_ERROR([ +-*** Accessibility Toolkit not found. Accessibility Toolkit is required +-*** to build GTK+. +-]) +-fi +- +-if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then +- : +-else +- gtk_save_LIBS="$LIBS" +- LIBS="$ATK_LIBS $LIBS" +- AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([ +- *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required +- *** to build GTK+])) +- LIBS="$gtk_save_LIBS" +-fi +- +-GTK_PACKAGES="atk cairo" ++GTK_PACKAGES= + GTK_EXTRA_LIBS= + GTK_EXTRA_CFLAGS= +-GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS" ++GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS" + GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS" + + if test x"$os_win32" = xyes; then +@@ -1601,17 +1506,6 @@ + + gtk_save_cppflags="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS" +- +-AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([ +-*** Can't find cairo-pdf.h. You must build Cairo with the pdf +-*** backend enabled.])) +- +-if test "$os_win32" != "yes"; then +- AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([ +-*** Can't find cairo-ps.h. You must build Cairo with the +-*** postscript backend enabled.])) +-fi +- + CPPFLAGS="$gtk_save_cppflags" + + diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index 626b2da3f..cc62c73ca 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -119,17 +119,40 @@ else LIBGTK2_CONF_OPT += --disable-cups endif -HOST_LIBGTK2_DEPENDENCIES = host-cairo host-libglib2 host-pango host-atk +# We do not build a full version of libgtk2 for the host, because that +# requires compiling Cairo, Pango, ATK and X.org for the +# host. Therefore, we patch it to remove dependencies, and we hack the +# build to only build gdk-pixbuf-from-source and +# gtk-update-icon-cache, which are the host tools needed to build Gtk +# for the target. + +HOST_LIBGTK2_DEPENDENCIES = host-libglib2 +HOST_LIBGTK2_AUTORECONF = YES HOST_LIBGTK2_CONF_OPT = \ --disable-static \ --disable-glibtest \ --without-libtiff \ --without-libjpeg \ - --with-x \ - --with-gdktarget=x11 \ + --with-gdktarget=none \ --disable-cups \ --disable-debug +define HOST_LIBGTK2_PATCH_REDUCE_DEPENDENCIES_HOOK + toolchain/patch-kernel.sh $(@D) $($(PKG)_DIR_PREFIX)/$($(NOHOSTPKG)_NAME) host-*.patch +endef + +HOST_LIBGTK2_POST_PATCH_HOOKS += HOST_LIBGTK2_PATCH_REDUCE_DEPENDENCIES_HOOK + +define HOST_LIBGTK2_BUILD_CMDS + $(HOST_MAKE_ENV) make -C $(@D)/gdk-pixbuf + $(HOST_MAKE_ENV) make -C $(@D)/gtk gtk-update-icon-cache +endef + +define HOST_LIBGTK2_INSTALL_CMDS + $(HOST_MAKE_ENV) make -C $(@D)/gdk-pixbuf install + cp $(@D)/gtk/gtk-update-icon-cache $(HOST_DIR)/usr/bin +endef + $(eval $(call AUTOTARGETS,package,libgtk2)) $(eval $(call AUTOTARGETS,package,libgtk2,host)) -- cgit v1.2.3 From c13460f769bb4fe88e23a8070b00bab46005cbf2 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:15:22 +0100 Subject: libxml-parser-perl: new package This Perl module is needed to build intltool, which in turn is needed to build several of our packages. We assume that Perl is installed on the host. Only the host variant of this package has been tested and is used. The code for the target variant (what to do at the configure, build and install steps) isn't implemented, but the GENTARGETS call for the target is mandatory, due to limitations of the Makefile.package.in infrastructure (if one wants the host package to be implemented, then the target package *must* exist). This limitation will be removed after 2010.02. Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/libxml-parser-perl/Config.in | 8 ++++++ package/libxml-parser-perl/libxml-parser-perl.mk | 34 ++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 package/libxml-parser-perl/Config.in create mode 100644 package/libxml-parser-perl/libxml-parser-perl.mk diff --git a/package/Config.in b/package/Config.in index 5ddd63c97..00f3401ae 100644 --- a/package/Config.in +++ b/package/Config.in @@ -412,6 +412,7 @@ source "package/ezxml/Config.in" source "package/libxml2/Config.in" source "package/libxslt/Config.in" source "package/xerces/Config.in" +source "package/libxml-parser-perl/Config.in" endmenu # java support diff --git a/package/libxml-parser-perl/Config.in b/package/libxml-parser-perl/Config.in new file mode 100644 index 000000000..d20a401d8 --- /dev/null +++ b/package/libxml-parser-perl/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBXML_PARSER_PERL + bool "libxml-parser-perl" + select BR2_PACKAGE_EXPAT + help + The Perl XML::Parser module. + + http://www.cpan.org/modules/by-module/XML/ + diff --git a/package/libxml-parser-perl/libxml-parser-perl.mk b/package/libxml-parser-perl/libxml-parser-perl.mk new file mode 100644 index 000000000..52d89d581 --- /dev/null +++ b/package/libxml-parser-perl/libxml-parser-perl.mk @@ -0,0 +1,34 @@ +############################################################# +# +# libxml-parser-perl +# +############################################################# +LIBXML_PARSER_PERL_VERSION:=2.36 +LIBXML_PARSER_PERL_SOURCE:=XML-Parser-$(LIBXML_PARSER_PERL_VERSION).tar.gz +LIBXML_PARSER_PERL_SITE:=http://www.cpan.org/modules/by-module/XML/ + +LIBXML_PARSER_PERL_DEPENDENCIES = expat +HOST_LIBXML_PARSER_PERL_DEPENDENCIES = host-expat + +define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS + (cd $(@D) ; \ + perl Makefile.PL \ + PREFIX=$(HOST_DIR)/usr \ + EXPATLIBPATH=$(HOST_DIR)/usr/lib \ + EXPATINCPATH=$(HOST_DIR)/usr/include \ + INSTALLDIRS=site \ + INSTALLSITELIB=$(HOST_DIR)/usr/lib/perl \ + ) +endef + +define HOST_LIBXML_PARSER_PERL_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_LIBXML_PARSER_PERL_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install +endef + +$(eval $(call GENTARGETS,package,libxml-parser-perl)) +$(eval $(call GENTARGETS,package,libxml-parser-perl,host)) + -- cgit v1.2.3 From 405a7ecaa19d229e144062a338d5a3b8cd21c96c Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:16:28 +0100 Subject: package infrastructure: add PERLLIB Now that we build Perl modules in $(HOST_DIR), PERLLIB must be defined to $(HOST_DIR)/usr/lib/perl. Signed-off-by: Thomas Petazzoni --- package/Makefile.in | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/package/Makefile.in b/package/Makefile.in index 043ef3e46..1e412a653 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -228,6 +228,8 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \ PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \ + PERLLIB="$(HOST_DIR)/usr/lib/perl" \ + LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib" \ STAGING_DIR="$(STAGING_DIR)" TARGET_CONFIGURE_ENV=\ @@ -237,7 +239,8 @@ TARGET_CONFIGURE_ENV=\ FCFLAGS="$(TARGET_FCFLAGS)" \ TARGET_MAKE_ENV=PATH=$(TARGET_PATH) \ - LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" + LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \ + PERLLIB="$(HOST_DIR)/usr/lib/perl" HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \ AR="$(HOSTAR)" \ @@ -275,12 +278,14 @@ HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \ ORIGINAL_NM_FOR_TARGET="$(TARGET_NM)" \ ORIGINAL_OBJDUMP_FOR_TARGET="$(TARGET_OBJDUMP)" \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" + PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" \ + PERLLIB="$(HOST_DIR)/usr/lib/perl" HOST_MAKE_ENV=PATH=$(HOST_PATH) \ LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" + PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" \ + PERLLIB="$(HOST_DIR)/usr/lib/perl" ####################################################################### -- cgit v1.2.3 From 570e1b77c285be7b19d0be3dda27853b06b58ae8 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:18:06 +0100 Subject: intltool: new package This XML internationalization set of tools is required to build several of our packages, and may not be available on the host machine. Only the host variant has been tested. Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/intltool/Config.in | 6 ++++++ package/intltool/intltook.mk | 16 ++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 package/intltool/Config.in create mode 100644 package/intltool/intltook.mk diff --git a/package/Config.in b/package/Config.in index 00f3401ae..37cae2e83 100644 --- a/package/Config.in +++ b/package/Config.in @@ -46,6 +46,7 @@ source "package/pkg-config/Config.in" source "package/readline/Config.in" source "package/valgrind/Config.in" source "package/pcre/Config.in" +source "package/intltool/Config.in" comment "Other stuff" source "package/at/Config.in" diff --git a/package/intltool/Config.in b/package/intltool/Config.in new file mode 100644 index 000000000..94b34f7c4 --- /dev/null +++ b/package/intltool/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_INTLTOOL + bool "intltool" + help + Utility scripts for internationalizing XML + + http://www.freedesktop.org/wiki/Software/intltool \ No newline at end of file diff --git a/package/intltool/intltook.mk b/package/intltool/intltook.mk new file mode 100644 index 000000000..746ebb1d5 --- /dev/null +++ b/package/intltool/intltook.mk @@ -0,0 +1,16 @@ +############################################################# +# +# intltool +# +############################################################# +INTLTOOL_VERSION:=0.40.6 +INTLTOOL_SOURCE:=intltool-$(INTLTOOL_VERSION).tar.bz2 +INTLTOOL_SITE:=http://ftp.acc.umu.se/pub/GNOME/sources/intltool/0.40/ + +HOST_INTLTOOL_DEPENDENCIES = host-libxml-parser-perl +HOST_INTLTOOL_CONF_OPT = \ + PERLLIB=$(HOST_DIR)/usr/lib/perl + +$(eval $(call AUTOTARGETS,package,intltool)) +$(eval $(call AUTOTARGETS,package,intltool,host)) + -- cgit v1.2.3 From 496078a0a0530dad1206be6257f1bc91a70b645a Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 18:03:41 +0100 Subject: dependencies: add perl as a mandatory dependency Now that we might happen to build libxml-parser-perl and intltool, Perl becomes a mandatory dependency. This shouldn't be a problem since most distributions install Perl by default anyway. Signed-off-by: Thomas Petazzoni --- toolchain/dependencies/dependencies.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/dependencies/dependencies.sh b/toolchain/dependencies/dependencies.sh index d0190fd4d..146e08023 100755 --- a/toolchain/dependencies/dependencies.sh +++ b/toolchain/dependencies/dependencies.sh @@ -122,7 +122,7 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then fi; # Check that a few mandatory programs are installed -for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 ; do +for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl ; do if ! which $prog > /dev/null ; then /bin/echo -e "\nYou must install '$prog' on your build machine"; if test $prog = "makeinfo" ; then -- cgit v1.2.3 From 364555d9fff02e02f96f92f6f8b080663c424c89 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:20:03 +0100 Subject: gmpc: add dependency on host-intltool Signed-off-by: Thomas Petazzoni --- package/gmpc/gmpc.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk index 7110d15bf..0db89b902 100644 --- a/package/gmpc/gmpc.mk +++ b/package/gmpc/gmpc.mk @@ -11,7 +11,7 @@ GMPC_CONF_ENV = ac_cv_lib_curl_curl_global_init=yes \ ac_cv_path_GOB2=$(GOB2_HOST_BINARY) GMPC_CONF_OPT = --disable-mmkeys -GMPC_DEPENDENCIES = libglib2 libgtk2 libglade libcurl libmpd host-gob2 +GMPC_DEPENDENCIES = libglib2 libgtk2 libglade libcurl libmpd host-gob2 host-intltool ifeq ($(BR2_PACKAGE_XLIB_LIBSM),y) GMPC_DEPENENCIES += xlib_libSM -- cgit v1.2.3 From 3502bb056f0de1e4eecd7b0de6156daf18a2162c Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:20:39 +0100 Subject: flex: install in the staging directory Flex contains a libfl.a directory, which programs for the target might link against. Therefore, we need to install flex to the staging directory. An example of such a program is gob2, which needs the yywrap() function, which is implemented by libfl. Signed-off-by: Thomas Petazzoni --- package/flex/flex.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/flex/flex.mk b/package/flex/flex.mk index fed0d7750..43e7d5717 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -9,6 +9,7 @@ FLEX_SOURCE:=flex_$(FLEX_VERSION).orig.tar.gz FLEX_PATCH:=flex_$(FLEX_VERSION)-$(FLEX_PATCH_VERSION).diff.gz FLEX_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex FLEX_DIR:=$(BUILD_DIR)/flex-$(FLEX_VERSION) +FLEX_INSTALL_STAGING=YES # lex -> flex define FLEX_INSTALL_LEX -- cgit v1.2.3 From 1844bd894194d44472d7e1f41e3e0f52a6359117 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:21:39 +0100 Subject: gob2: update dependency on flex gob2 for the target needs both flex on the host (for running the flex program at compile time) and flex on the target (so that it can link against libfl.a). Signed-off-by: Thomas Petazzoni --- package/gob2/Config.in | 1 + package/gob2/gob2.mk | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package/gob2/Config.in b/package/gob2/Config.in index 314a1da7e..2545bafa6 100644 --- a/package/gob2/Config.in +++ b/package/gob2/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_GOB2 bool "gob2" select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_FLEX + select BR2_PACKAGE_FLEX_LIBFL select BR2_PACKAGE_BISON help GOB (GTK+ Object Builder) is a preprocessor which simplifies diff --git a/package/gob2/gob2.mk b/package/gob2/gob2.mk index cdf7961b1..5d50ed6cb 100644 --- a/package/gob2/gob2.mk +++ b/package/gob2/gob2.mk @@ -7,7 +7,7 @@ GOB2_VERSION = 2.0.15 GOB2_SOURCE = gob2-$(GOB2_VERSION).tar.gz GOB2_SITE = http://ftp.5z.com/pub/gob/ -GOB2_DEPENDENCIES = libglib2 flex bison host-pkg-config +GOB2_DEPENDENCIES = libglib2 flex bison host-pkg-config host-flex HOST_GOB2_DEPENDENCIES = host-libglib2 -- cgit v1.2.3 From 253f240cc5804bde4fab685cefa1f4479e5c6586 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:22:42 +0100 Subject: shared-mime-info: run update-mime-database with correct env variables When installing shared-mime-info on the target, we runn update-mime-database, which has been built previously by building and installing shared-mime-info for the host. However, for update-mime-database (host version) to run properly, we must pass the appropriate LD_LIBRARY_PATH variable. We re-use the existing $(HOST_MAKE_ENV) variable to pass all the appropriate variables. Signed-off-by: Thomas Petazzoni --- package/shared-mime-info/shared-mime-info.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/shared-mime-info/shared-mime-info.mk b/package/shared-mime-info/shared-mime-info.mk index cfd3521b0..80b0cccd1 100644 --- a/package/shared-mime-info/shared-mime-info.mk +++ b/package/shared-mime-info/shared-mime-info.mk @@ -29,6 +29,6 @@ SHARED_MIME_INFO_HOST_BINARY:=$(HOST_DIR)/usr/bin/update-mime-database # update the shared-mime-info database in the target $(SHARED_MIME_INFO_HOOK_POST_INSTALL): host-shared-mime-info - $(SHARED_MIME_INFO_HOST_BINARY) $(STAGING_DIR)/usr/share/mime + $(HOST_MAKE_ENV) $(SHARED_MIME_INFO_HOST_BINARY) $(STAGING_DIR)/usr/share/mime $(INSTALL) -D $(STAGING_DIR)/usr/share/mime/mime.cache $(TARGET_DIR)/usr/share/mime/mime.cache touch $@ -- cgit v1.2.3 From cf04b9e0c5f7b55817999a5dd01d7ce740fd3d8e Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:35:19 +0100 Subject: imagemagick: help configure to detect file_offset_bits imagemagick configure script wants to run programs to detect the file_offset_bits, but fails since it is running cross-compile mode. Therefore, we help the configure script by passing the appropriate ac_cv variable. Signed-off-by: Thomas Petazzoni --- package/imagemagick/imagemagick.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 2bcd076cd..e8584306e 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -31,6 +31,12 @@ $(IMAGEMAGICK_DIR)/.unpacked: $(DL_DIR)/$(IMAGEMAGICK_SOURCE) $(CONFIG_UPDATE) $(IMAGEMAGICK_DIR)/config touch $@ +ifeq ($(BR2_LARGEFILE),y) +IMAGEMAGICK_CONF_OPTS = ac_cv_sys_file_offset_bits=64 +else +IMAGEMAGICK_CONF_OPTS = ac_cv_sys_file_offset_bits=32 +endif + $(IMAGEMAGICK_DIR)/.configured: $(IMAGEMAGICK_DIR)/.unpacked (cd $(IMAGEMAGICK_DIR); rm -f config.cache; \ $(TARGET_CONFIGURE_OPTS) \ @@ -55,6 +61,7 @@ $(IMAGEMAGICK_DIR)/.configured: $(IMAGEMAGICK_DIR)/.unpacked --without-fpx \ --without-freetype \ --without-x \ + $(IMAGEMAGICK_CONF_OPTS) \ ) touch $@ -- cgit v1.2.3 From b7ea597dd2f3553f2bc44e441011e68f999c7768 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:39:35 +0100 Subject: imagemagick: use internal libtool For some reason, our imagemagick.mk file calls libtool, but assumes that libtool is available on the host, which may not be true. Therefore, we use ImageMagick's internal libtool, which has been used for compiling/linking all the rest of ImageMagic anyway. Signed-off-by: Thomas Petazzoni --- package/imagemagick/imagemagick.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index e8584306e..00895f593 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -83,8 +83,8 @@ $(IMAGEMAGICK_LIB): $(STAGING_DIR)/usr/lib/libMagickCore.a touch -c $@ $(IMAGEMAGICK_DIR)/.libinstall: $(IMAGEMAGICK_LIB) - libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/coders - libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/filters + $(IMAGEMAGICK_DIR)/libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/coders + $(IMAGEMAGICK_DIR)/libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/filters touch $@ $(TARGET_DIR)/usr/bin/animate: $(IMAGEMAGICK_LIB) -- cgit v1.2.3 From d5ffabd4c33c7d2a37ca8c7b98601a19286bfe12 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:43:33 +0100 Subject: iw: give path to pkg-config At install stage, iw needs pkg-config, through the PKG_CONFIG environment variable. Signed-off-by: Thomas Petazzoni --- package/iw/iw.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/iw/iw.mk b/package/iw/iw.mk index 2dd1cd453..89fd6047f 100644 --- a/package/iw/iw.mk +++ b/package/iw/iw.mk @@ -11,6 +11,7 @@ IW_DEPENDENCIES = libnl IW_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install IW_CONFIG = $(IW_DIR)/.config IW_MAKE_ENV = PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \ + PKG_CONFIG="$(HOST_DIR)/usr/bin/pkg-config" \ GIT_DIR=$(IW_DIR) $(eval $(call AUTOTARGETS,package,iw)) -- cgit v1.2.3 From fbcedeab9dc3122658af2034d39fbde820c8a8e9 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 13:57:08 +0100 Subject: kexec: bump version to fix build failure Signed-off-by: Thomas Petazzoni --- package/kexec/kexec.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index a0fb2fd1f..436788517 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -3,7 +3,7 @@ # kexec # ############################################################# -KEXEC_VERSION = 2.0.0 +KEXEC_VERSION = 2.0.1 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.bz2 KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/horms/kexec-tools/ # no install-strip/install-exec -- cgit v1.2.3 From b5e742a642fc40b802a4d0ec1d6a762a89bee635 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 14:26:02 +0100 Subject: matchbox: apply libtool patch to matchbox-desktop matchbox-desktop fails to build because it tries to read /usr/lib/libxcb.la, which doesn't exist on a very basic system with no development files instead. The buildroot-libtool.patch must therefore be applied. Unfortunately, matchbox doesn't yet use the autotools infrastructure, so we have to manually apply the patch. Signed-off-by: Thomas Petazzoni --- package/matchbox/matchbox.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/matchbox/matchbox.mk b/package/matchbox/matchbox.mk index 06e94cda1..8665d417b 100644 --- a/package/matchbox/matchbox.mk +++ b/package/matchbox/matchbox.mk @@ -141,6 +141,7 @@ $(MATCHBOX_PL_DIR)/.unpacked: $(DL_DIR)/$(MATCHBOX_PL_SOURCE) $(MATCHBOX_DP_DIR)/.unpacked: $(DL_DIR)/$(MATCHBOX_DP_SOURCE) $(MATCHBOX_CAT) $(DL_DIR)/$(MATCHBOX_DP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - $(SED) 's:mbfolder\.png:mbtasks\.png:g' $(MATCHBOX_DP_DIR)/modules/tasks.c + toolchain/patch-kernel.sh $(MATCHBOX_DP_DIR) package/ buildroot-libtool.patch touch $(MATCHBOX_DP_DIR)/.unpacked $(MATCHBOX_FK_DIR)/.unpacked: $(DL_DIR)/$(MATCHBOX_FK_SOURCE) -- cgit v1.2.3 From ec5ab1dbd7def2276b13800e05cdc248edae6caa Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 15:36:27 +0100 Subject: matchbox: fix dependency to not always rebuilt libmatchbox Real targets should not depend on phony targets, otherwise they get rebuilt every time. Signed-off-by: Thomas Petazzoni --- package/matchbox/matchbox.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/matchbox/matchbox.mk b/package/matchbox/matchbox.mk index 8665d417b..4abc9d625 100644 --- a/package/matchbox/matchbox.mk +++ b/package/matchbox/matchbox.mk @@ -219,7 +219,7 @@ else endif -$(MATCHBOX_LIB_DIR)/.configured: $(MATCHBOX_LIB_DIR)/.unpacked xlib_libXext-install-staging +$(MATCHBOX_LIB_DIR)/.configured: $(MATCHBOX_LIB_DIR)/.unpacked (cd $(MATCHBOX_LIB_DIR); rm -f config.cache; \ $(TARGET_CONFIGURE_OPTS) \ ./configure $(QUIET) \ @@ -610,7 +610,7 @@ $(TARGET_DIR)/usr/bin/$(MATCHBOX_KB_BIN): $(STAGING_DIR)/usr/bin/$(MATCHBOX_KB_B cp -af $(STAGING_DIR)/usr/share/matchbox/matchbox-keyboard $(TARGET_DIR)/usr/share/matchbox/ cp -dpf ./package/matchbox/mb-applet-kbd-wrapper.sh $(TARGET_DIR)/usr/bin/ -matchbox: host-pkg-config expat $(MATCHBOX_WM_DEPS) $(MATCHBOX_SNOTIFY_DEPS) $(MATCHBOX_LIB_DEPS) $(TARGET_DIR)/usr/lib/libmb.so $(TARGET_DIR)/usr/bin/$(MATCHBOX_WM_BIN) +matchbox: host-pkg-config expat xlib_libXext $(MATCHBOX_WM_DEPS) $(MATCHBOX_SNOTIFY_DEPS) $(MATCHBOX_LIB_DEPS) $(TARGET_DIR)/usr/lib/libmb.so $(TARGET_DIR)/usr/bin/$(MATCHBOX_WM_BIN) matchbox-panel: matchbox $(TARGET_DIR)/usr/bin/$(MATCHBOX_PL_BIN) $(TARGET_DIR)/usr/bin/matchbox-session $(MATCHBOX_PANEL_DEPS) -- cgit v1.2.3 From 520dd9fbe5896175285a494aeeabe221bce9db62 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 15:38:02 +0100 Subject: shared-mime-info: do not depend on phony target in hook Real targets should not depend on phony targets, otherwise they get rebuilt everytime. Signed-off-by: Thomas Petazzoni --- package/shared-mime-info/shared-mime-info.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/shared-mime-info/shared-mime-info.mk b/package/shared-mime-info/shared-mime-info.mk index 80b0cccd1..fe1414257 100644 --- a/package/shared-mime-info/shared-mime-info.mk +++ b/package/shared-mime-info/shared-mime-info.mk @@ -12,7 +12,7 @@ SHARED_MIME_INFO_INSTALL_TARGET = NO SHARED_MIME_INFO_AUTORECONF = NO SHARED_MIME_INFO_CONF_ENV = XMLLINT=$(HOST_DIR)/usr/bin/xmllint -SHARED_MIME_INFO_DEPENDENCIES = host-pkg-config host-libglib2 host-libxml2 libxml2 libglib2 +SHARED_MIME_INFO_DEPENDENCIES = host-pkg-config host-libglib2 host-libxml2 host-shared-mime-info libxml2 libglib2 SHARED_MIME_INFO_CONF_OPT = --disable-update-mimedb @@ -28,7 +28,7 @@ $(eval $(call AUTOTARGETS,package,shared-mime-info,host)) SHARED_MIME_INFO_HOST_BINARY:=$(HOST_DIR)/usr/bin/update-mime-database # update the shared-mime-info database in the target -$(SHARED_MIME_INFO_HOOK_POST_INSTALL): host-shared-mime-info +$(SHARED_MIME_INFO_HOOK_POST_INSTALL): $(HOST_MAKE_ENV) $(SHARED_MIME_INFO_HOST_BINARY) $(STAGING_DIR)/usr/share/mime $(INSTALL) -D $(STAGING_DIR)/usr/share/mime/mime.cache $(TARGET_DIR)/usr/share/mime/mime.cache touch $@ -- cgit v1.2.3 From e83529882b71cb8a2c6ba2c997308196a2857af0 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 15:50:18 +0100 Subject: dosfstools: make sure install targets aren't run everytime Adding real targets to $(TARGETS) doesn't work, since they are prefixed __real_tgt by the main Makefile. 'make' then always thinks that these targets aren't up-to-date, and re-generate them every time. Therefore, we switch dosfstools to the more common way of handling packages, with a phony target added to $(TARGETS), this phony target depending on real targets. Signed-off-by: Thomas Petazzoni --- package/dosfstools/dosfstools.mk | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk index e1e9fe34e..b826ab183 100644 --- a/package/dosfstools/dosfstools.mk +++ b/package/dosfstools/dosfstools.mk @@ -32,7 +32,8 @@ $(DOSFSTOOLS_DIR)/.built : $(DOSFSTOOLS_DIR)/.unpacked $(STRIPCMD) $(DOSFSTOOLS_DIR)/$(DOSFSLABEL_BINARY) touch $@ -$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY): $(DOSFSTOOLS_DIR)/.built +$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY): # $(DOSFSTOOLS_DIR)/.built + echo foo cp -a $(DOSFSTOOLS_DIR)/$(MKDOSFS_BINARY) $@ touch -c $@ @@ -44,7 +45,20 @@ $(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY): $(DOSFSTOOLS_DIR)/.built cp -a $(DOSFSTOOLS_DIR)/$(DOSFSLABEL_BINARY) $@ touch -c $@ -dosfstools: $(TARGET_DIR)/$(DOSFSTOOLS_TARGET_BINARY) $(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY) +DOSFSTOOLS= +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKDOSFS),y) +DOSFSTOOLS+=$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY) +endif + +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSCK),y) +DOSFSTOOLS+=$(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY) +endif + +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL),y) +DOSFSTOOLS+=$(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY) +endif + +dosfstools: $(DOSFSTOOLS) dosfstools-clean: rm -f $(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY) @@ -60,14 +74,6 @@ dosfstools-dirclean: # Toplevel Makefile options # ############################################################# -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKDOSFS),y) -TARGETS+=$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY) -endif - -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSCK),y) -TARGETS+=$(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY) -endif - -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL),y) -TARGETS+=$(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY) -endif +ifeq ($(BR2_PACKAGE_DOSFSTOOLS),y) +TARGETS+=dosfstools +endif \ No newline at end of file -- cgit v1.2.3 From 3b5d95be8dfc8a23f4e4619686215a9c99a1a9a6 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 15:55:43 +0100 Subject: lvm2: prevent dmsetup from being re-installed every time After being copied to target/, touch dmsetup so that its date is newer than the .built stamp file in lvm2 source directory. This prevents make from re-installing dmsetup every time. Signed-off-by: Thomas Petazzoni --- package/lvm2/lvm2.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index d190be2f0..bc6f45872 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -86,9 +86,11 @@ $(LVM2_DIR)/.built: $(LVM2_DIR)/.configured $(LVM2_TARGET_SBINS) $(LVM2_TARGET_DMSETUP_SBINS): $(LVM2_DIR)/.built cp -a $(STAGING_DIR)/sbin/$(notdir $@) $@ + touch $@ $(LVM2_TARGET_LIBS): $(LVM2_DIR)/.built cp -a $(STAGING_DIR)/lib/$(notdir $@) $@ + touch $@ ifeq ($(BR2_PACKAGE_LVM2_DMSETUP_ONLY),y) -- cgit v1.2.3 From 1cd56dc514cc4da46cd7abc1782fe258ae1b3dcb Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 16:07:03 +0100 Subject: libeXosip: do not re-run targets at every invocation of 'make' Make sure that we touch the target so that the target is newer than the .compiled stamp file. Signed-off-by: Thomas Petazzoni --- package/libeXosip2/libeXosip2.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package/libeXosip2/libeXosip2.mk b/package/libeXosip2/libeXosip2.mk index 09b6022e0..7f282b748 100644 --- a/package/libeXosip2/libeXosip2.mk +++ b/package/libeXosip2/libeXosip2.mk @@ -43,27 +43,33 @@ $(LIBEXOSIP2_DIR)/.compiled: $(LIBEXOSIP2_DIR)/.configured $(STAGING_DIR)/usr/lib/libeXosip2.so: $(LIBEXOSIP2_DIR)/.compiled cp -dpf $(LIBEXOSIP2_DIR)/src/.libs/libeXosip2.so* $(STAGING_DIR)/usr/lib + touch $@ $(STAGING_DIR)/usr/lib/libeXosip2.a: $(LIBEXOSIP2_DIR)/.compiled cp -dpf $(LIBEXOSIP2_DIR)/src/.libs/libeXosip2.a $(STAGING_DIR)/usr/lib cp -dpf $(LIBEXOSIP2_DIR)/include/*.h $(STAGING_DIR)/usr/include + touch $@ $(STAGING_DIR)/usr/lib/libeXosip2.la: $(LIBEXOSIP2_DIR)/.compiled cp -dpf $(LIBEXOSIP2_DIR)/src/libeXosip2.la $(STAGING_DIR)/usr/lib $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libeXosip2.la + touch $@ $(STAGING_DIR)/usr/bin/sip_reg: $(LIBEXOSIP2_DIR)/.compiled cp -dpf $(LIBEXOSIP2_DIR)/tools/.libs/sip_reg $(STAGING_DIR)/usr/bin + touch $@ $(TARGET_DIR)/usr/lib/libeXosip2.so: $(STAGING_DIR)/usr/lib/libeXosip2.so mkdir -p $(TARGET_DIR)/usr/lib cp -dpf $(STAGING_DIR)/usr/lib/libeXosip2.so* $(TARGET_DIR)/usr/lib/ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libeXosip2.so* + touch $@ $(TARGET_DIR)/usr/bin/sip_reg: $(STAGING_DIR)/usr/bin/sip_reg mkdir -p $(TARGET_DIR)/usr/bin cp -dpf $(STAGING_DIR)/usr/bin/sip_reg $(TARGET_DIR)/usr/bin + touch $@ -- cgit v1.2.3 From 09216ec22b2590b0e5fb5f50ed98bc0f6fd313d5 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 16:25:58 +0100 Subject: webkit: several build fixes This patch fixes different problems: * The autogen script of Webkit did not find autoconf, automake and aclocal since they are not installed in the host, but in $(HOST_DIR). Therefore we pass HOST_CONFIGURE_OPTS to autogen.sh so that the PATH is correct. * The autogen script was complaining that gtk-doc.make could not be find. As compiling gtk-doc completely is a pain (depends on Docbook), we just include gtk-doc.make into package/webkit/, and copy it to the source directory. * The autogen script was complaining about macros used in gtk-doc.make that did not exist. This is because aclocal was not run with $(STAGING_DIR)/usr/share/aclocal/ in the include path. Therefore, we fix ACLOCAL_FLAGS of Webkit's autogen script before running it. Signed-off-by: Thomas Petazzoni --- package/webkit/gtk-doc.make | 173 ++++++++++++++++++++++++++++++++++++++++++++ package/webkit/webkit.mk | 4 +- 2 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 package/webkit/gtk-doc.make diff --git a/package/webkit/gtk-doc.make b/package/webkit/gtk-doc.make new file mode 100644 index 000000000..354ffb7c6 --- /dev/null +++ b/package/webkit/gtk-doc.make @@ -0,0 +1,173 @@ +# -*- mode: makefile -*- + +#################################### +# Everything below here is generic # +#################################### + +if GTK_DOC_USE_LIBTOOL +GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +else +GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +endif + +# We set GPATH here; this gives us semantics for GNU make +# which are more like other make's VPATH, when it comes to +# whether a source that is a target of one rule is then +# searched for in VPATH/GPATH. +# +GPATH = $(srcdir) + +TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) + +EXTRA_DIST = \ + $(content_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ + $(DOC_MODULE)-sections.txt \ + $(DOC_MODULE)-overrides.txt + +DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ + $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp + +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ + $(DOC_MODULE).hierarchy \ + $(DOC_MODULE).interfaces \ + $(DOC_MODULE).prerequisites \ + $(DOC_MODULE).signals + +REPORT_FILES = \ + $(DOC_MODULE)-undocumented.txt \ + $(DOC_MODULE)-undeclared.txt \ + $(DOC_MODULE)-unused.txt + +CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) + +if ENABLE_GTK_DOC +all-local: html-build.stamp +else +all-local: +endif + +docs: html-build.stamp + +#### scan #### + +scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) + @echo 'gtk-doc: Scanning header files' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && \ + gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + else \ + cd $(srcdir) ; \ + for i in $(SCANOBJ_FILES) ; do \ + test -f $$i || touch $$i ; \ + done \ + fi + touch scan-build.stamp + +$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp + @true + +#### templates #### + +tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt + @echo 'gtk-doc: Rebuilding template files' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) + touch tmpl-build.stamp + +tmpl.stamp: tmpl-build.stamp + @true + +tmpl/*.sgml: + @true + + +#### xml #### + +sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) + @echo 'gtk-doc: Building XML' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && \ + gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS) + touch sgml-build.stamp + +sgml.stamp: sgml-build.stamp + @true + +#### html #### + +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) + @echo 'gtk-doc: Building HTML' + @-chmod -R u+w $(srcdir) + rm -rf $(srcdir)/html + mkdir $(srcdir)/html + cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) + @echo 'gtk-doc: Fixing cross-references' + cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp + +############## + +clean-local: + rm -f *~ *.bak + rm -rf .libs + +distclean-local: + cd $(srcdir) && \ + rm -rf xml $(REPORT_FILES) \ + $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt + +maintainer-clean-local: clean + cd $(srcdir) && rm -rf xml html + +install-data-local: + -installfiles=`echo $(srcdir)/html/*`; \ + if test "$$installfiles" = '$(srcdir)/html/*'; \ + then echo '-- Nothing to install' ; \ + else \ + $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \ + for i in $$installfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ + done; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ + which gtkdoc-rebase >/dev/null && \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \ + fi + + +uninstall-local: + rm -f $(DESTDIR)$(TARGET_DIR)/* + +# +# Require gtk-doc when making dist +# +if ENABLE_GTK_DOC +dist-check-gtkdoc: +else +dist-check-gtkdoc: + @echo "*** gtk-doc must be installed and enabled in order to make dist" + @false +endif + +dist-hook: dist-check-gtkdoc dist-hook-local + mkdir $(distdir)/tmpl + mkdir $(distdir)/xml + mkdir $(distdir)/html + -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl + -cp $(srcdir)/xml/*.xml $(distdir)/xml + cp $(srcdir)/html/* $(distdir)/html + -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ + -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ + cd $(distdir) && rm -f $(DISTCLEANFILES) + -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html + +.PHONY : dist-hook-local docs diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk index 389a5fc25..2121f4b06 100644 --- a/package/webkit/webkit.mk +++ b/package/webkit/webkit.mk @@ -25,10 +25,12 @@ endif WEBKIT_CONF_OPT += --disable-video define WEBKIT_AUTOGEN_PATCH +$(SED) 's%ACLOCAL_FLAGS=.*%ACLOCAL_FLAGS="-I autotools -I $(STAGING_DIR)/usr/share/aclocal"%' $(WEBKIT_DIR)/autogen.sh $(SED) 's/AUTOMAKE_FLAGS=.*/AUTOMAKE_FLAGS="--foreign --add-missing --copy"/' $(WEBKIT_DIR)/autogen.sh $(SED) 's/LIBTOOLIZE_FLAGS=.*/LIBTOOLIZE_FLAGS="--force --automake --copy"/' $(WEBKIT_DIR)/autogen.sh +cp package/webkit/gtk-doc.make $(WEBKIT_DIR)/ # Don't run the configure step yet -cd $(WEBKIT_DIR); AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh +cd $(WEBKIT_DIR); $(HOST_CONFIGURE_OPTS) AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh endef WEBKIT_POST_EXTRACT_HOOKS += WEBKIT_AUTOGEN_PATCH -- cgit v1.2.3 From a3efb3a3bf0f7d1faa1117f572c11ffb1c96a3f4 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 16:47:11 +0100 Subject: libsoup: remove --without-html-dir --without-html-dir doesn't work. It leads libsoup ./configure script to think that HTML_DIR is "no", which leads to the installation of the documentation in $(STAGING_DIR)no (yes, with the "no" suffix at the end). The issue is that --with-html-dir is not an enable/disable type of option, it's an option that only allows to pass a PATH for documentation installation. As we don't want the documentation to be installed in this odd $(STAGING_DIR)no directory, we simply get rid of this option. See 7e62e8ec723f91e07bb4ac9ae3e55b65e3123082 for another instance of the same problem. Signed-off-by: Thomas Petazzoni --- package/libsoup/libsoup.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk index 3e9edd3e6..3829a81a2 100644 --- a/package/libsoup/libsoup.mk +++ b/package/libsoup/libsoup.mk @@ -24,7 +24,7 @@ LIBSOUP_CONF_OPT = \ --disable-explicit-deps \ --disable-glibtest \ --without-gnome \ - --disable-gtk-doc --without-html-dir + --disable-gtk-doc LIBSOUP_DEPENDENCIES = gettext libintl host-pkg-config host-libglib2 libglib2 libxml2 -- cgit v1.2.3 From ca2293b3645452e58c9236ac0d8ab6e1be2fa2f0 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 16:55:21 +0100 Subject: mplayer: use UTF-8 charset to avoid iconv dependency The mplayer configure script was failing with: Checking for iconv program ... no No working iconv program found, use --charset=UTF-8 to continue anyway. If you also have problems with iconv library functions use --charset=noconv. Messages in the GTK-2 interface will be broken then. Therefore, we pass --charset=UTF-8 instead of --charset=US-ASCII. Signed-off-by: Thomas Petazzoni --- package/multimedia/mplayer/mplayer.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/multimedia/mplayer/mplayer.mk b/package/multimedia/mplayer/mplayer.mk index 3d56ee007..538bac9ef 100644 --- a/package/multimedia/mplayer/mplayer.mk +++ b/package/multimedia/mplayer/mplayer.mk @@ -54,7 +54,7 @@ $(MPLAYER_DIR)/.configured: $(MPLAYER_DIR)/.unpacked --as=$(TARGET_CROSS)as \ --with-extraincdir=$(STAGING_DIR)/usr/include \ --with-extralibdir=$(STAGING_DIR)/lib \ - --charset=US-ASCII \ + --charset=UTF-8 \ --enable-mad \ --enable-fbdev \ $(MPLAYER_ENDIAN) \ -- cgit v1.2.3 From 596bcb63fb26052b86c1271913747e701883dbfa Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 23 Feb 2010 20:21:15 +0100 Subject: webkit: mention build failure with old linuxthread toolchains I could have created a !dependency on !BR2_PTHREADS_OLD, but that wouldn't work with external toolchains. So, let's just add a notice in the help message of WebKit. Signed-off-by: Thomas Petazzoni --- package/webkit/Config.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/webkit/Config.in b/package/webkit/Config.in index 3c669a53f..10c8b38ac 100644 --- a/package/webkit/Config.in +++ b/package/webkit/Config.in @@ -14,6 +14,9 @@ config BR2_PACKAGE_WEBKIT help WebKit is an open source, standards compliant web browser engine. + Note that WebKit does not build with a toolchain using the + old linuxthreads library. + http://webkit.org/ comment "webkit requires a toolchain with C++ support and WCHAR enabled" -- cgit v1.2.3 From 58a45bf66ba1787d9ac25c0fa8df4672bc705358 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 21 Feb 2010 20:50:46 +0100 Subject: uclibc: do not allow the selection of NPTL if snapshot is not selected In uClibc, NPTL support does not exist in the 0.9.30 branch, that we are using in Buildroot. It is only available in the uClibc daily snapshot, extracted from uClibc master branch. Signed-off-by: Thomas Petazzoni --- toolchain/Config.in.2 | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/Config.in.2 b/toolchain/Config.in.2 index 6317ff4fb..234e31f3b 100644 --- a/toolchain/Config.in.2 +++ b/toolchain/Config.in.2 @@ -120,6 +120,7 @@ choice config BR2_PTHREADS_NATIVE bool "Native POSIX Threading (NPTL)" + depends on BR2_UCLIBC_VERSION_SNAPSHOT endchoice config BR2_PROGRAM_INVOCATION -- cgit v1.2.3 From f08e9eea1b70f057cc0a3efa18b2acb4faea4abe Mon Sep 17 00:00:00 2001 From: Richard van Paasen Date: Mon, 14 Dec 2009 22:49:23 +0100 Subject: e2fsprogs: fix lsattr chattr and e2label e2undo mixup In Config.in lsattr/chattr and e2label/e2undo are mixed up. --- package/e2fsprogs/Config.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in index e83ad4f15..2bb92d977 100644 --- a/package/e2fsprogs/Config.in +++ b/package/e2fsprogs/Config.in @@ -54,7 +54,7 @@ config BR2_PACKAGE_E2FSPROGS_E2LABEL select BR2_PACKAGE_E2FSPROGS_LIBBLKID config BR2_PACKAGE_E2FSPROGS_E2UNDO - bool "e2label" + bool "e2undo" default y depends on BR2_PACKAGE_E2FSPROGS @@ -81,7 +81,7 @@ config BR2_PACKAGE_E2FSPROGS_LOGSAVE depends on BR2_PACKAGE_E2FSPROGS config BR2_PACKAGE_E2FSPROGS_LSATTR - bool "chattr" + bool "lsattr" default y depends on BR2_PACKAGE_E2FSPROGS -- cgit v1.2.3