* [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates @ 2012-04-04 14:46 Maxime Ripard 2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard 2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard 0 siblings, 2 replies; 19+ messages in thread From: Maxime Ripard @ 2012-04-04 14:46 UTC (permalink / raw) To: buildroot The following changes since commit 2e59d1d7ed669fc0a8e563a37b418ea424b6eefe: e2fsprogs: bump to version 1.42.2 (2012-04-03 23:27:02 +0200) are available in the git repository at: git://git.free-electrons.com/users/maxime-ripard/buildroot.git for-2012.05/packages-updates Maxime Ripard (2): Convert gettext to autotargets Bump systemd to version 44 package/gettext/Config.in | 12 -- package/gettext/gettext.mk | 168 +++------------------------ package/gettext/libdir-la.patch | 154 ------------------------ package/systemd/systemd-fix-page-size.patch | 43 +++++++ package/systemd/systemd.mk | 24 +++-- 5 files changed, 72 insertions(+), 329 deletions(-) delete mode 100644 package/gettext/libdir-la.patch create mode 100644 package/systemd/systemd-fix-page-size.patch Thanks, -- Maxime Ripard ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/2] Convert gettext to autotargets 2012-04-04 14:46 [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates Maxime Ripard @ 2012-04-04 14:46 ` Maxime Ripard 2012-04-04 14:56 ` Maxime Ripard 2012-04-15 19:09 ` [Buildroot] [PATCH 1/1] " Samuel Martin 2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard 1 sibling, 2 replies; 19+ messages in thread From: Maxime Ripard @ 2012-04-04 14:46 UTC (permalink / raw) To: buildroot Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- package/gettext/Config.in | 12 --- package/gettext/gettext.mk | 168 +++----------------------------------- package/gettext/libdir-la.patch | 154 ----------------------------------- 3 files changed, 14 insertions(+), 320 deletions(-) delete mode 100644 package/gettext/libdir-la.patch diff --git a/package/gettext/Config.in b/package/gettext/Config.in index fabfe1e..0ee4065 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT comment "gettext requires a toolchain with WCHAR support" depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR -config BR2_PACKAGE_GETTEXT_STATIC - bool "Use libgettext.a instead of libgettext.so.*" - depends on BR2_PACKAGE_GETTEXT - depends on BR2_arm - help - The GNU `gettext' utilities are a set of tools that provide a - framework to help other GNU packages produce multi-lingual - messages. - - http://www.gnu.org/software/gettext/ - - config BR2_PACKAGE_LIBINTL bool "libintl" depends on BR2_NEEDS_GETTEXT diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index f3605da..7c7b26c 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -3,162 +3,22 @@ # gettext # ############################################################# -GETTEXT_VERSION:=0.16.1 -GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz -GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext -GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION) -GETTEXT_CAT:=$(ZCAT) -GETTEXT_BINARY:=gettext-runtime/src/gettext -GETTEXT_TARGET_BINARY:=usr/bin/gettext +GETTEXT_VERSION = 0.16.1 +GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext +GETTEXT_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y) -LIBINTL_TARGET_BINARY:=usr/lib/libintl.a -else -LIBINTL_TARGET_BINARY:=usr/lib/libintl.so -endif - -$(DL_DIR)/$(GETTEXT_SOURCE): - $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE)) - -gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE) - -$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE) - $(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch - $(call CONFIG_UPDATE,$(@D)) - touch $@ - -ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y) -IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext -endif - -$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked - (cd $(GETTEXT_DIR); rm -rf config.cache; \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ac_cv_func_strtod=yes \ - ac_fsusage_space=yes \ - fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no \ - ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no \ - ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes \ - ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes \ - ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no \ - ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes \ - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no \ - ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no \ - ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes \ - gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes \ - ac_cv_have_decl_strerror_r=yes \ - ac_cv_func_strerror_r_char_p=no \ - jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes \ - ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes \ - utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - gl_cv_func_working_readdir=yes \ - jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no \ - ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no \ - gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes \ - ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no \ - gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes \ - jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no \ - gl_cv_c_restrict=no \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --disable-libasprintf \ - --enable-shared \ - $(IGNORE_EXTERNAL_GETTEXT) \ - --disable-openmp \ - ) - touch $@ +GETTEXT_CONF_OPT += \ + --disable-libasprintf \ + --disable-openmp \ -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured - $(MAKE) -C $(GETTEXT_DIR) - touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY) +define GETTEXT_REMOVE_BINARIES + rm -f $(TARGET_DIR)/usr/bin/gettext + rm -f $(TARGET_DIR)/usr/bin/gettext.sh + rm -f $(TARGET_DIR)/usr/bin/gettextize +endef -$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY) - $(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la - rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \ - autopoint envsubst gettext.sh gettextize msg* ?gettext) - touch -c $@ - -gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - -gettext-unpacked: $(GETTEXT_DIR)/.unpacked - -gettext-clean: - -$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall - -$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall - -$(MAKE) -C $(GETTEXT_DIR) clean - -gettext-dirclean: - rm -rf $(GETTEXT_DIR) - -############################################################# -# -# gettext on the target -# -############################################################# - -gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY) - $(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install - chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped - -$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \ - $(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/ - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so* - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so* - rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \ - libgettext*.so*.la libintl*.so*.la) - touch -c $@ - -$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/ - cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/ - touch -c $@ - -libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# ifeq ($(BR2_PACKAGE_LIBINTL),y) -TARGETS+=libintl -endif -ifeq ($(BR2_PACKAGE_GETTEXT),y) -TARGETS+=gettext + GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch deleted file mode 100644 index d5076c1..0000000 --- a/package/gettext/libdir-la.patch +++ /dev/null @@ -1,154 +0,0 @@ ---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig 2007-01-13 14:33:23.000000000 -0700 -+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh 2007-01-13 14:35:10.000000000 -0700 -@@ -234,8 +234,9 @@ - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit $EXIT_FAILURE -+ $echo "$modename: defaulting to \`CC'" -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" -+# exit $EXIT_FAILURE - # else - # $echo "$modename: using $tagname tagged configuration" - fi -@@ -2324,8 +2325,14 @@ - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$libdir" -- absdir="$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -@@ -2800,6 +2807,16 @@ - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" -+# This interferes with crosscompilation. -CL -+# else -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+# if test -z "$libdir"; then -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -+# exit 1 -+# fi -+# if test "$absdir" != "$libdir"; then -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 -+# fi - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then -@@ -5210,6 +5227,10 @@ - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do -+ # Replacing uninstalled with installed can easily break crosscompilation, -+ # since the installed path is generally the wrong architecture. -CL -+ newdependency_libs="$newdependency_libs $deplib" -+ continue - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -@@ -5528,10 +5549,13 @@ - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. -- if test "$inst_prefix_dir" = "$destdir"; then -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit $EXIT_FAILURE -- fi -+ # -+ # This breaks install into our staging area. -PB -+ # -+ # if test "$inst_prefix_dir" = "$destdir"; then -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ # exit $EXIT_FAILURE -+ # fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. ---- gettext-0.14.6/build-aux/ltmain.sh.orig 2005-05-20 15:03:38.000000000 -0600 -+++ gettext-0.14.6/build-aux/ltmain.sh 2007-01-13 14:34:27.000000000 -0700 -@@ -234,8 +234,9 @@ - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit $EXIT_FAILURE -+ $echo "$modename: defaulting to \`CC'" -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" -+# exit $EXIT_FAILURE - # else - # $echo "$modename: using $tagname tagged configuration" - fi -@@ -2324,8 +2325,14 @@ - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$libdir" -- absdir="$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -@@ -2800,6 +2807,16 @@ - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" -+# This interferes with crosscompilation. -CL -+# else -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+# if test -z "$libdir"; then -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -+# exit 1 -+# fi -+# if test "$absdir" != "$libdir"; then -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 -+# fi - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then -@@ -5210,6 +5227,10 @@ - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do -+ # Replacing uninstalled with installed can easily break crosscompilation, -+ # since the installed path is generally the wrong architecture. -CL -+ newdependency_libs="$newdependency_libs $deplib" -+ continue - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -@@ -5528,10 +5549,13 @@ - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. -- if test "$inst_prefix_dir" = "$destdir"; then -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit $EXIT_FAILURE -- fi -+ # -+ # This breaks install into our staging area. -PB -+ # -+ # if test "$inst_prefix_dir" = "$destdir"; then -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ # exit $EXIT_FAILURE -+ # fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. -- 1.7.5.4 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/2] Convert gettext to autotargets 2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard @ 2012-04-04 14:56 ` Maxime Ripard 2012-05-08 11:19 ` [Buildroot] [PATCH 1/3] " Samuel Martin 2012-04-15 19:09 ` [Buildroot] [PATCH 1/1] " Samuel Martin 1 sibling, 1 reply; 19+ messages in thread From: Maxime Ripard @ 2012-04-04 14:56 UTC (permalink / raw) To: buildroot Hi List, While this patch is definitely needed I think, the implementation is still to be discussed imho. There was two options here for the gettext package: BR2_PACKAGE_GETTEXT and BR2_PACKAGE_LIBINTL. It seems that these two were quite confusing. BR2_PACKAGE_GETTEXT was only installing stuff in the staging area, but what for ? So here, judging by the help message in the Config.in, my understanding is that: - BR2_PACKAGE_GETTEXT should be built both in staging and in the target area - BR2_PACKAGE_LIBINTL should be only to build gettext without the binary - So BR2_PACKAGE_LIBINTL should only remove generated binaries, and as such be a sub-option of BR2_PACKAGE_GETTEXT This what is implemented in this patch. Now, as we are slightly modifying the relations between these two options, package that depends on them should be adapted. Right now, we have three cases: * Packages that depend on BR2_PACKAGE_GETTEXT: libidn, php * Packages that depend on BR2_PACKAGE_LIBINTL: pulseaudio, dnsmasq, util-linux * Packages that depend on both: make, grep, vala, psmisc, binutils, pango, glib-networking, gmpc, axel, avahi, sysstat, libglib2, diffutils, kbd, flex, gdk-pixbuf, libsoup, sshfs So I guess that they need to all depend only on BR2_PACKAGE_GETTEXT if such change in the options is adopted. What do you think of it ? Maxime Le 04/04/2012 16:46, Maxime Ripard a ?crit : > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > package/gettext/Config.in | 12 --- > package/gettext/gettext.mk | 168 +++----------------------------------- > package/gettext/libdir-la.patch | 154 ----------------------------------- > 3 files changed, 14 insertions(+), 320 deletions(-) > delete mode 100644 package/gettext/libdir-la.patch > > diff --git a/package/gettext/Config.in b/package/gettext/Config.in > index fabfe1e..0ee4065 100644 > --- a/package/gettext/Config.in > +++ b/package/gettext/Config.in > @@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT > comment "gettext requires a toolchain with WCHAR support" > depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR > > -config BR2_PACKAGE_GETTEXT_STATIC > - bool "Use libgettext.a instead of libgettext.so.*" > - depends on BR2_PACKAGE_GETTEXT > - depends on BR2_arm > - help > - The GNU `gettext' utilities are a set of tools that provide a > - framework to help other GNU packages produce multi-lingual > - messages. > - > - http://www.gnu.org/software/gettext/ > - > - > config BR2_PACKAGE_LIBINTL > bool "libintl" > depends on BR2_NEEDS_GETTEXT > diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk > index f3605da..7c7b26c 100644 > --- a/package/gettext/gettext.mk > +++ b/package/gettext/gettext.mk > @@ -3,162 +3,22 @@ > # gettext > # > ############################################################# > -GETTEXT_VERSION:=0.16.1 > -GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz > -GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext > -GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION) > -GETTEXT_CAT:=$(ZCAT) > -GETTEXT_BINARY:=gettext-runtime/src/gettext > -GETTEXT_TARGET_BINARY:=usr/bin/gettext > +GETTEXT_VERSION = 0.16.1 > +GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext > +GETTEXT_INSTALL_STAGING = YES > > -ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y) > -LIBINTL_TARGET_BINARY:=usr/lib/libintl.a > -else > -LIBINTL_TARGET_BINARY:=usr/lib/libintl.so > -endif > - > -$(DL_DIR)/$(GETTEXT_SOURCE): > - $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE)) > - > -gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE) > - > -$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE) > - $(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - > - support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch > - $(call CONFIG_UPDATE,$(@D)) > - touch $@ > - > -ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y) > -IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext > -endif > - > -$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked > - (cd $(GETTEXT_DIR); rm -rf config.cache; \ > - $(TARGET_CONFIGURE_OPTS) \ > - $(TARGET_CONFIGURE_ARGS) \ > - ac_cv_func_strtod=yes \ > - ac_fsusage_space=yes \ > - fu_cv_sys_stat_statfs2_bsize=yes \ > - ac_cv_func_closedir_void=no \ > - ac_cv_func_getloadavg=no \ > - ac_cv_lib_util_getloadavg=no \ > - ac_cv_lib_getloadavg_getloadavg=no \ > - ac_cv_func_getgroups=yes \ > - ac_cv_func_getgroups_works=yes \ > - ac_cv_func_chown_works=yes \ > - ac_cv_have_decl_euidaccess=no \ > - ac_cv_func_euidaccess=no \ > - ac_cv_have_decl_strnlen=yes \ > - ac_cv_func_strnlen_working=yes \ > - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ > - ac_cv_func_lstat_empty_string_bug=no \ > - ac_cv_func_stat_empty_string_bug=no \ > - vb_cv_func_rename_trailing_slash_bug=no \ > - ac_cv_have_decl_nanosleep=yes \ > - jm_cv_func_nanosleep_works=yes \ > - gl_cv_func_working_utimes=yes \ > - ac_cv_func_utime_null=yes \ > - ac_cv_have_decl_strerror_r=yes \ > - ac_cv_func_strerror_r_char_p=no \ > - jm_cv_func_svid_putenv=yes \ > - ac_cv_func_getcwd_null=yes \ > - ac_cv_func_getdelim=yes \ > - ac_cv_func_mkstemp=yes \ > - utils_cv_func_mkstemp_limitations=no \ > - utils_cv_func_mkdir_trailing_slash_bug=no \ > - jm_cv_func_gettimeofday_clobber=no \ > - gl_cv_func_working_readdir=yes \ > - jm_ac_cv_func_link_follows_symlink=no \ > - utils_cv_localtime_cache=no \ > - ac_cv_struct_st_mtim_nsec=no \ > - gl_cv_func_tzset_clobber=no \ > - gl_cv_func_getcwd_null=yes \ > - gl_cv_func_getcwd_path_max=yes \ > - ac_cv_func_fnmatch_gnu=yes \ > - am_getline_needs_run_time_check=no \ > - am_cv_func_working_getline=yes \ > - gl_cv_func_mkdir_trailing_slash_bug=no \ > - gl_cv_func_mkstemp_limitations=no \ > - ac_cv_func_working_mktime=yes \ > - jm_cv_func_working_re_compile_pattern=yes \ > - ac_use_included_regex=no \ > - gl_cv_c_restrict=no \ > - ./configure $(QUIET) \ > - --target=$(GNU_TARGET_NAME) \ > - --host=$(GNU_TARGET_NAME) \ > - --build=$(GNU_HOST_NAME) \ > - --prefix=/usr \ > - --exec-prefix=/usr \ > - --disable-libasprintf \ > - --enable-shared \ > - $(IGNORE_EXTERNAL_GETTEXT) \ > - --disable-openmp \ > - ) > - touch $@ > +GETTEXT_CONF_OPT += \ > + --disable-libasprintf \ > + --disable-openmp \ > > -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured > - $(MAKE) -C $(GETTEXT_DIR) > - touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY) > +define GETTEXT_REMOVE_BINARIES > + rm -f $(TARGET_DIR)/usr/bin/gettext > + rm -f $(TARGET_DIR)/usr/bin/gettext.sh > + rm -f $(TARGET_DIR)/usr/bin/gettextize > +endef > > -$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY) > - $(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install > - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la > - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la > - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la > - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la > - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la > - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la > - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la > - rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \ > - autopoint envsubst gettext.sh gettextize msg* ?gettext) > - touch -c $@ > - > -gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) > - > -gettext-unpacked: $(GETTEXT_DIR)/.unpacked > - > -gettext-clean: > - -$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall > - -$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall > - -$(MAKE) -C $(GETTEXT_DIR) clean > - > -gettext-dirclean: > - rm -rf $(GETTEXT_DIR) > - > -############################################################# > -# > -# gettext on the target > -# > -############################################################# > - > -gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY) > - $(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install > - chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped > - > -$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) > - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \ > - $(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/ > - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so* > - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so* > - rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \ > - libgettext*.so*.la libintl*.so*.la) > - touch -c $@ > - > -$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) > - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/ > - cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/ > - touch -c $@ > - > -libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY) > - > -############################################################# > -# > -# Toplevel Makefile options > -# > -############################################################# > ifeq ($(BR2_PACKAGE_LIBINTL),y) > -TARGETS+=libintl > -endif > -ifeq ($(BR2_PACKAGE_GETTEXT),y) > -TARGETS+=gettext > + GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES > endif > + > +$(eval $(call AUTOTARGETS)) > diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch > deleted file mode 100644 > index d5076c1..0000000 > --- a/package/gettext/libdir-la.patch > +++ /dev/null > @@ -1,154 +0,0 @@ > ---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig 2007-01-13 14:33:23.000000000 -0700 > -+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh 2007-01-13 14:35:10.000000000 -0700 > -@@ -234,8 +234,9 @@ > - # line option must be used. > - if test -z "$tagname"; then > - $echo "$modename: unable to infer tagged configuration" > -- $echo "$modename: specify a tag with \`--tag'" 1>&2 > -- exit $EXIT_FAILURE > -+ $echo "$modename: defaulting to \`CC'" > -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" > -+# exit $EXIT_FAILURE > - # else > - # $echo "$modename: using $tagname tagged configuration" > - fi > -@@ -2324,8 +2325,14 @@ > - absdir="$abs_ladir" > - libdir="$abs_ladir" > - else > -- dir="$libdir" > -- absdir="$libdir" > -+ # Adding 'libdir' from the .la file to our library search paths > -+ # breaks crosscompilation horribly. We cheat here and don't add > -+ # it, instead adding the path where we found the .la. -CL > -+ dir="$abs_ladir" > -+ absdir="$abs_ladir" > -+ libdir="$abs_ladir" > -+ #dir="$libdir" > -+ #absdir="$libdir" > - fi > - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes > - else > -@@ -2800,6 +2807,16 @@ > - esac > - if grep "^installed=no" $deplib > /dev/null; then > - path="$absdir/$objdir" > -+# This interferes with crosscompilation. -CL > -+# else > -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` > -+# if test -z "$libdir"; then > -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 > -+# exit 1 > -+# fi > -+# if test "$absdir" != "$libdir"; then > -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 > -+# fi > - else > - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` > - if test -z "$libdir"; then > -@@ -5210,6 +5227,10 @@ > - # Replace all uninstalled libtool libraries with the installed ones > - newdependency_libs= > - for deplib in $dependency_libs; do > -+ # Replacing uninstalled with installed can easily break crosscompilation, > -+ # since the installed path is generally the wrong architecture. -CL > -+ newdependency_libs="$newdependency_libs $deplib" > -+ continue > - case $deplib in > - *.la) > - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` > -@@ -5528,10 +5549,13 @@ > - # At present, this check doesn't affect windows .dll's that > - # are installed into $libdir/../bin (currently, that works fine) > - # but it's something to keep an eye on. > -- if test "$inst_prefix_dir" = "$destdir"; then > -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 > -- exit $EXIT_FAILURE > -- fi > -+ # > -+ # This breaks install into our staging area. -PB > -+ # > -+ # if test "$inst_prefix_dir" = "$destdir"; then > -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 > -+ # exit $EXIT_FAILURE > -+ # fi > - > - if test -n "$inst_prefix_dir"; then > - # Stick the inst_prefix_dir data into the link command. > ---- gettext-0.14.6/build-aux/ltmain.sh.orig 2005-05-20 15:03:38.000000000 -0600 > -+++ gettext-0.14.6/build-aux/ltmain.sh 2007-01-13 14:34:27.000000000 -0700 > -@@ -234,8 +234,9 @@ > - # line option must be used. > - if test -z "$tagname"; then > - $echo "$modename: unable to infer tagged configuration" > -- $echo "$modename: specify a tag with \`--tag'" 1>&2 > -- exit $EXIT_FAILURE > -+ $echo "$modename: defaulting to \`CC'" > -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" > -+# exit $EXIT_FAILURE > - # else > - # $echo "$modename: using $tagname tagged configuration" > - fi > -@@ -2324,8 +2325,14 @@ > - absdir="$abs_ladir" > - libdir="$abs_ladir" > - else > -- dir="$libdir" > -- absdir="$libdir" > -+ # Adding 'libdir' from the .la file to our library search paths > -+ # breaks crosscompilation horribly. We cheat here and don't add > -+ # it, instead adding the path where we found the .la. -CL > -+ dir="$abs_ladir" > -+ absdir="$abs_ladir" > -+ libdir="$abs_ladir" > -+ #dir="$libdir" > -+ #absdir="$libdir" > - fi > - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes > - else > -@@ -2800,6 +2807,16 @@ > - esac > - if grep "^installed=no" $deplib > /dev/null; then > - path="$absdir/$objdir" > -+# This interferes with crosscompilation. -CL > -+# else > -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` > -+# if test -z "$libdir"; then > -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 > -+# exit 1 > -+# fi > -+# if test "$absdir" != "$libdir"; then > -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 > -+# fi > - else > - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` > - if test -z "$libdir"; then > -@@ -5210,6 +5227,10 @@ > - # Replace all uninstalled libtool libraries with the installed ones > - newdependency_libs= > - for deplib in $dependency_libs; do > -+ # Replacing uninstalled with installed can easily break crosscompilation, > -+ # since the installed path is generally the wrong architecture. -CL > -+ newdependency_libs="$newdependency_libs $deplib" > -+ continue > - case $deplib in > - *.la) > - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` > -@@ -5528,10 +5549,13 @@ > - # At present, this check doesn't affect windows .dll's that > - # are installed into $libdir/../bin (currently, that works fine) > - # but it's something to keep an eye on. > -- if test "$inst_prefix_dir" = "$destdir"; then > -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 > -- exit $EXIT_FAILURE > -- fi > -+ # > -+ # This breaks install into our staging area. -PB > -+ # > -+ # if test "$inst_prefix_dir" = "$destdir"; then > -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 > -+ # exit $EXIT_FAILURE > -+ # fi > - > - if test -n "$inst_prefix_dir"; then > - # Stick the inst_prefix_dir data into the link command. -- Maxime Ripard, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-04-04 14:56 ` Maxime Ripard @ 2012-05-08 11:19 ` Samuel Martin 2012-05-08 11:19 ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Samuel Martin @ 2012-05-08 11:19 UTC (permalink / raw) To: buildroot From: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> --- package/gettext/Config.in | 12 --- package/gettext/gettext.mk | 168 ++++----------------------------------- package/gettext/libdir-la.patch | 154 ----------------------------------- 3 files changed, 14 insertions(+), 320 deletions(-) delete mode 100644 package/gettext/libdir-la.patch diff --git a/package/gettext/Config.in b/package/gettext/Config.in index fabfe1e..0ee4065 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT comment "gettext requires a toolchain with WCHAR support" depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR -config BR2_PACKAGE_GETTEXT_STATIC - bool "Use libgettext.a instead of libgettext.so.*" - depends on BR2_PACKAGE_GETTEXT - depends on BR2_arm - help - The GNU `gettext' utilities are a set of tools that provide a - framework to help other GNU packages produce multi-lingual - messages. - - http://www.gnu.org/software/gettext/ - - config BR2_PACKAGE_LIBINTL bool "libintl" depends on BR2_NEEDS_GETTEXT diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index f3605da..7c7b26c 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -3,162 +3,22 @@ # gettext # ############################################################# -GETTEXT_VERSION:=0.16.1 -GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz -GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext -GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION) -GETTEXT_CAT:=$(ZCAT) -GETTEXT_BINARY:=gettext-runtime/src/gettext -GETTEXT_TARGET_BINARY:=usr/bin/gettext +GETTEXT_VERSION = 0.16.1 +GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext +GETTEXT_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y) -LIBINTL_TARGET_BINARY:=usr/lib/libintl.a -else -LIBINTL_TARGET_BINARY:=usr/lib/libintl.so -endif - -$(DL_DIR)/$(GETTEXT_SOURCE): - $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE)) - -gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE) - -$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE) - $(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch - $(call CONFIG_UPDATE,$(@D)) - touch $@ - -ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y) -IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext -endif - -$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked - (cd $(GETTEXT_DIR); rm -rf config.cache; \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ac_cv_func_strtod=yes \ - ac_fsusage_space=yes \ - fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no \ - ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no \ - ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes \ - ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes \ - ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no \ - ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes \ - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no \ - ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no \ - ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes \ - gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes \ - ac_cv_have_decl_strerror_r=yes \ - ac_cv_func_strerror_r_char_p=no \ - jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes \ - ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes \ - utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - gl_cv_func_working_readdir=yes \ - jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no \ - ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no \ - gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes \ - ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no \ - gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes \ - jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no \ - gl_cv_c_restrict=no \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --disable-libasprintf \ - --enable-shared \ - $(IGNORE_EXTERNAL_GETTEXT) \ - --disable-openmp \ - ) - touch $@ +GETTEXT_CONF_OPT += \ + --disable-libasprintf \ + --disable-openmp \ -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured - $(MAKE) -C $(GETTEXT_DIR) - touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY) +define GETTEXT_REMOVE_BINARIES + rm -f $(TARGET_DIR)/usr/bin/gettext + rm -f $(TARGET_DIR)/usr/bin/gettext.sh + rm -f $(TARGET_DIR)/usr/bin/gettextize +endef -$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY) - $(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la - rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \ - autopoint envsubst gettext.sh gettextize msg* ?gettext) - touch -c $@ - -gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - -gettext-unpacked: $(GETTEXT_DIR)/.unpacked - -gettext-clean: - -$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall - -$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall - -$(MAKE) -C $(GETTEXT_DIR) clean - -gettext-dirclean: - rm -rf $(GETTEXT_DIR) - -############################################################# -# -# gettext on the target -# -############################################################# - -gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY) - $(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install - chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped - -$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \ - $(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/ - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so* - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so* - rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \ - libgettext*.so*.la libintl*.so*.la) - touch -c $@ - -$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/ - cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/ - touch -c $@ - -libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# ifeq ($(BR2_PACKAGE_LIBINTL),y) -TARGETS+=libintl -endif -ifeq ($(BR2_PACKAGE_GETTEXT),y) -TARGETS+=gettext + GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch deleted file mode 100644 index d5076c1..0000000 --- a/package/gettext/libdir-la.patch +++ /dev/null @@ -1,154 +0,0 @@ ---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig 2007-01-13 14:33:23.000000000 -0700 -+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh 2007-01-13 14:35:10.000000000 -0700 -@@ -234,8 +234,9 @@ - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit $EXIT_FAILURE -+ $echo "$modename: defaulting to \`CC'" -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" -+# exit $EXIT_FAILURE - # else - # $echo "$modename: using $tagname tagged configuration" - fi -@@ -2324,8 +2325,14 @@ - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$libdir" -- absdir="$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -@@ -2800,6 +2807,16 @@ - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" -+# This interferes with crosscompilation. -CL -+# else -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+# if test -z "$libdir"; then -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -+# exit 1 -+# fi -+# if test "$absdir" != "$libdir"; then -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 -+# fi - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then -@@ -5210,6 +5227,10 @@ - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do -+ # Replacing uninstalled with installed can easily break crosscompilation, -+ # since the installed path is generally the wrong architecture. -CL -+ newdependency_libs="$newdependency_libs $deplib" -+ continue - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -@@ -5528,10 +5549,13 @@ - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. -- if test "$inst_prefix_dir" = "$destdir"; then -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit $EXIT_FAILURE -- fi -+ # -+ # This breaks install into our staging area. -PB -+ # -+ # if test "$inst_prefix_dir" = "$destdir"; then -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ # exit $EXIT_FAILURE -+ # fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. ---- gettext-0.14.6/build-aux/ltmain.sh.orig 2005-05-20 15:03:38.000000000 -0600 -+++ gettext-0.14.6/build-aux/ltmain.sh 2007-01-13 14:34:27.000000000 -0700 -@@ -234,8 +234,9 @@ - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit $EXIT_FAILURE -+ $echo "$modename: defaulting to \`CC'" -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" -+# exit $EXIT_FAILURE - # else - # $echo "$modename: using $tagname tagged configuration" - fi -@@ -2324,8 +2325,14 @@ - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$libdir" -- absdir="$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -@@ -2800,6 +2807,16 @@ - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" -+# This interferes with crosscompilation. -CL -+# else -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+# if test -z "$libdir"; then -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -+# exit 1 -+# fi -+# if test "$absdir" != "$libdir"; then -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 -+# fi - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then -@@ -5210,6 +5227,10 @@ - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do -+ # Replacing uninstalled with installed can easily break crosscompilation, -+ # since the installed path is generally the wrong architecture. -CL -+ newdependency_libs="$newdependency_libs $deplib" -+ continue - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -@@ -5528,10 +5549,13 @@ - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. -- if test "$inst_prefix_dir" = "$destdir"; then -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit $EXIT_FAILURE -- fi -+ # -+ # This breaks install into our staging area. -PB -+ # -+ # if test "$inst_prefix_dir" = "$destdir"; then -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ # exit $EXIT_FAILURE -+ # fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. -- 1.7.10.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES 2012-05-08 11:19 ` [Buildroot] [PATCH 1/3] " Samuel Martin @ 2012-05-08 11:19 ` Samuel Martin 2012-05-11 21:37 ` Arnout Vandecappelle 2012-05-08 11:19 ` [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies Samuel Martin 2012-05-19 21:46 ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard 2 siblings, 1 reply; 19+ messages in thread From: Samuel Martin @ 2012-05-08 11:19 UTC (permalink / raw) To: buildroot libintl target does nothing but removing some binaries installed by gettext. This patch renames the BR2_PACKAGE_LIBINTL symbol to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES and fixes the logic for packages that may need those gettext binaries. It also adds a warning about libintl support depending on locale enabling in the toolchain. Signed-off-by: Samuel Martin <s.martin49@gmail.com> --- package/gettext/Config.in | 16 ++++++++-------- package/gettext/gettext.mk | 2 +- package/libidn/Config.in | 1 + package/php/Config.ext | 1 + 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/package/gettext/Config.in b/package/gettext/Config.in index 0ee4065..461652f 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -12,12 +12,12 @@ config BR2_PACKAGE_GETTEXT comment "gettext requires a toolchain with WCHAR support" depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR -config BR2_PACKAGE_LIBINTL - bool "libintl" - depends on BR2_NEEDS_GETTEXT - depends on BR2_USE_WCHAR - help - Selecting this package installs all of gettext in the staging - directory and the shared library for it's use in the target. +comment "libintl requires a toolchain with locale/i18n support" + depends on BR2_PACKAGE_GETTEXT && !BR2_ENABLE_LOCALE - http://www.gnu.org/software/gettext/ +config BR2_PACKAGE_GETTEXT_NEEDS_BINARIES + bool + depends on BR2_PACKAGE_GETTEXT + help + Force to install gettext binaries (gettext, gettext.sh and gettextize) + in the target. diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index 7c7b26c..0902edd 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -17,7 +17,7 @@ define GETTEXT_REMOVE_BINARIES rm -f $(TARGET_DIR)/usr/bin/gettextize endef -ifeq ($(BR2_PACKAGE_LIBINTL),y) +ifneq ($(BR2_PACKAGE_GETTEXT_NEEDS_BINARIES),y) GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES endif diff --git a/package/libidn/Config.in b/package/libidn/Config.in index dcf9724..3e98245 100644 --- a/package/libidn/Config.in +++ b/package/libidn/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LIBIDN bool "libidn" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE + select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT_IF_LOCALE help Libidn's purpose is to encode and decode internationalized domain names. diff --git a/package/php/Config.ext b/package/php/Config.ext index bd630ee..2ea686c 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -68,6 +68,7 @@ config BR2_PACKAGE_PHP_EXT_FTP config BR2_PACKAGE_PHP_EXT_GETTEXT bool "gettext" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT + select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT depends on BR2_USE_WCHAR help gettext support -- 1.7.10.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES 2012-05-08 11:19 ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin @ 2012-05-11 21:37 ` Arnout Vandecappelle 2012-05-11 22:45 ` Samuel Martin 0 siblings, 1 reply; 19+ messages in thread From: Arnout Vandecappelle @ 2012-05-11 21:37 UTC (permalink / raw) To: buildroot On 05/08/12 13:19, Samuel Martin wrote: > libintl target does nothing but removing some binaries installed by > gettext. > > This patch renames the BR2_PACKAGE_LIBINTL symbol to > BR2_PACKAGE_GETTEXT_NEEDS_BINARIES and fixes the logic for packages > that may need those gettext binaries. I would call it BR2_PACKAGE_GETTEXT_BINARIES instead, or perhaps BR_PACKAGE_GETTEXT_INSTALL_BINARIES. Also, the logic is inverted: _LIBINTL would remove the binaries, but now you don't remove the binaries if _GETTEXT_BINARIES is defined. So this should be mentioned in the commit log. > It also adds a warning about libintl support depending on locale enabling > in the toolchain. > > Signed-off-by: Samuel Martin<s.martin49@gmail.com> > --- > package/gettext/Config.in | 16 ++++++++-------- > package/gettext/gettext.mk | 2 +- > package/libidn/Config.in | 1 + > package/php/Config.ext | 1 + > 4 files changed, 11 insertions(+), 9 deletions(-) > > diff --git a/package/gettext/Config.in b/package/gettext/Config.in > index 0ee4065..461652f 100644 > --- a/package/gettext/Config.in > +++ b/package/gettext/Config.in > @@ -12,12 +12,12 @@ config BR2_PACKAGE_GETTEXT > comment "gettext requires a toolchain with WCHAR support" > depends on BR2_NEEDS_GETTEXT&& !BR2_USE_WCHAR > > -config BR2_PACKAGE_LIBINTL > - bool "libintl" > - depends on BR2_NEEDS_GETTEXT > - depends on BR2_USE_WCHAR > - help > - Selecting this package installs all of gettext in the staging > - directory and the shared library for it's use in the target. > +comment "libintl requires a toolchain with locale/i18n support" > + depends on BR2_PACKAGE_GETTEXT&& !BR2_ENABLE_LOCALE You just removed libintl, so you shouldn't add a comment about it. I'm also not sure where this comes from. If gettext/libintl requires ENABLE_LOCALE, why did it work before? Or didn't it work before, and should there in fact be a 'depends on BR2_ENABLE_LOCALE' in the gettext package (and everything that selects it)? > > - http://www.gnu.org/software/gettext/ > +config BR2_PACKAGE_GETTEXT_NEEDS_BINARIES > + bool > + depends on BR2_PACKAGE_GETTEXT > + help > + Force to install gettext binaries (gettext, gettext.sh and gettextize) > + in the target. I think the "Force to install" is a bit strong here. Just say "Install gettext binaries..." > diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk > index 7c7b26c..0902edd 100644 > --- a/package/gettext/gettext.mk > +++ b/package/gettext/gettext.mk > @@ -17,7 +17,7 @@ define GETTEXT_REMOVE_BINARIES > rm -f $(TARGET_DIR)/usr/bin/gettextize > endef > > -ifeq ($(BR2_PACKAGE_LIBINTL),y) > +ifneq ($(BR2_PACKAGE_GETTEXT_NEEDS_BINARIES),y) > GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES > endif > > diff --git a/package/libidn/Config.in b/package/libidn/Config.in > index dcf9724..3e98245 100644 > --- a/package/libidn/Config.in > +++ b/package/libidn/Config.in > @@ -1,6 +1,7 @@ > config BR2_PACKAGE_LIBIDN > bool "libidn" > select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE > + select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT_IF_LOCALE Why does libidn need the gettext binaries? If this is just a mechanical update of a dependency that was in fact incorrect, why is it just for libidn and not for the 20-ish other packages that select BR2_PACKAGE_GETTEXT? In fact for this one I had a quick check in the source code, and I can't find a reference to the gettext binaries. So I doubt it is needed. > help > Libidn's purpose is to encode and decode internationalized > domain names. > diff --git a/package/php/Config.ext b/package/php/Config.ext > index bd630ee..2ea686c 100644 > --- a/package/php/Config.ext > +++ b/package/php/Config.ext > @@ -68,6 +68,7 @@ config BR2_PACKAGE_PHP_EXT_FTP > config BR2_PACKAGE_PHP_EXT_GETTEXT > bool "gettext" > select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT > + select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT Same here. I'm not altogether sure that the gettext PHP extension doesn't call the binary, but at first sight it looks like it's just using the library function. Regards, Arnout > depends on BR2_USE_WCHAR > help > gettext support -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES 2012-05-11 21:37 ` Arnout Vandecappelle @ 2012-05-11 22:45 ` Samuel Martin 2012-05-12 14:43 ` Arnout Vandecappelle 0 siblings, 1 reply; 19+ messages in thread From: Samuel Martin @ 2012-05-11 22:45 UTC (permalink / raw) To: buildroot Hi Arnout, Thx for the review. 2012/5/11 Arnout Vandecappelle <arnout@mind.be>: > On 05/08/12 13:19, Samuel Martin wrote: >> >> libintl target does nothing but removing some binaries installed by >> gettext. >> >> This patch renames the BR2_PACKAGE_LIBINTL symbol to >> BR2_PACKAGE_GETTEXT_NEEDS_BINARIES and fixes the logic for packages >> that may need those gettext binaries. > > > ?I would call it BR2_PACKAGE_GETTEXT_BINARIES instead, or perhaps > BR_PACKAGE_GETTEXT_INSTALL_BINARIES. ok, why not. > > ?Also, the logic is inverted: _LIBINTL would remove the binaries, but > now you don't remove the binaries if _GETTEXT_BINARIES is defined. ?So > this should be mentioned in the commit log. Next time, I will pay more attention to my commit messages. > >> It also adds a warning about libintl support depending on locale enabling >> in the toolchain. >> >> Signed-off-by: Samuel Martin<s.martin49@gmail.com> >> --- >> ?package/gettext/Config.in ?| ? 16 ++++++++-------- >> ?package/gettext/gettext.mk | ? ?2 +- >> ?package/libidn/Config.in ? | ? ?1 + >> ?package/php/Config.ext ? ? | ? ?1 + >> ?4 files changed, 11 insertions(+), 9 deletions(-) >> >> diff --git a/package/gettext/Config.in b/package/gettext/Config.in >> index 0ee4065..461652f 100644 >> --- a/package/gettext/Config.in >> +++ b/package/gettext/Config.in >> @@ -12,12 +12,12 @@ config BR2_PACKAGE_GETTEXT >> ?comment "gettext requires a toolchain with WCHAR support" >> ? ? ? ?depends on BR2_NEEDS_GETTEXT&& ?!BR2_USE_WCHAR >> >> >> -config BR2_PACKAGE_LIBINTL >> - ? ? ? bool "libintl" >> - ? ? ? depends on BR2_NEEDS_GETTEXT >> - ? ? ? depends on BR2_USE_WCHAR >> - ? ? ? help >> - ? ? ? ? Selecting this package installs all of gettext in the staging >> - ? ? ? ? directory and the shared library for it's use in the target. >> +comment "libintl requires a toolchain with locale/i18n support" >> + ? ? ? depends on BR2_PACKAGE_GETTEXT&& ?!BR2_ENABLE_LOCALE > > > ?You just removed libintl, so you shouldn't add a comment about it. Because now libintl comes with gettext, there is no explicit target for libintl anymore. I add the comment about libintl because the build of packages depending on libintl failed if I enabled gettext, but disable locale/i18n support. > I'm also not sure where this comes from. ?If gettext/libintl requires > ENABLE_LOCALE, why did it work before? ?Or didn't it work before, and > should there in fact be a 'depends on BR2_ENABLE_LOCALE' in the gettext > package (and everything that selects it)? When I tested these patches, with similar configs, the unique diff was BR2_ENABLE_LOCALE enabled or not, I got both libgettextlib and libintl installed in the staging dir. when I enabled BR2_ENABLE_LOCALE, whereas there was only libgettextlib installed if BR2_ENABLE_LOCALE was disabled. I cannot explain me either, hope there is some gettext guru around here... > > >> >> - ? ? ? ? http://www.gnu.org/software/gettext/ >> +config BR2_PACKAGE_GETTEXT_NEEDS_BINARIES >> + ? ? ? bool >> + ? ? ? depends on BR2_PACKAGE_GETTEXT >> + ? ? ? help >> + ? ? ? ? Force to install gettext binaries (gettext, gettext.sh and >> gettextize) >> + ? ? ? ? in the target. > > > ?I think the "Force to install" is a bit strong here. ?Just say > "Install gettext binaries..." maybe...ok. > > >> diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk >> index 7c7b26c..0902edd 100644 >> --- a/package/gettext/gettext.mk >> +++ b/package/gettext/gettext.mk >> @@ -17,7 +17,7 @@ define GETTEXT_REMOVE_BINARIES >> ? ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettextize >> ?endef >> >> -ifeq ($(BR2_PACKAGE_LIBINTL),y) >> +ifneq ($(BR2_PACKAGE_GETTEXT_NEEDS_BINARIES),y) >> ? ? ? ?GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES >> ?endif >> >> diff --git a/package/libidn/Config.in b/package/libidn/Config.in >> index dcf9724..3e98245 100644 >> --- a/package/libidn/Config.in >> +++ b/package/libidn/Config.in >> @@ -1,6 +1,7 @@ >> ?config BR2_PACKAGE_LIBIDN >> ? ? ? ?bool "libidn" >> ? ? ? ?select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE >> + ? ? ? select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if >> BR2_NEEDS_GETTEXT_IF_LOCALE > > > ?Why does libidn need the gettext binaries? ?If this is just a mechanical > update of a dependency that was in fact incorrect, why is it just for > libidn and not for the 20-ish other packages that select > BR2_PACKAGE_GETTEXT? > > ?In fact for this one I had a quick check in the source code, and I can't > find a reference to the gettext binaries. ?So I doubt it is needed. > Actually, I followed some basic logic: Before this patch series: "a package depending on: gettext && libintl, did not need gettext binaries"; this can also be rephrase: "a package depending on: gettext && !libintl, may need gettext binaries". After apply this patch, because I invert (and rename) the libintl logic, these sentences become: "a package depending on: gettext && !need_gettext_binaries, did not need gettext binaries"; or: "a package depending on: gettext && need_gettext_binaries, (may) need gettext binaries". I was just enforcing the eventuality that a package may need gettext binaries. Hope this makes things clearer. > > >> ? ? ? ?help >> ? ? ? ? ?Libidn's purpose is to encode and decode internationalized >> ? ? ? ? ?domain names. >> diff --git a/package/php/Config.ext b/package/php/Config.ext >> index bd630ee..2ea686c 100644 >> --- a/package/php/Config.ext >> +++ b/package/php/Config.ext >> @@ -68,6 +68,7 @@ config BR2_PACKAGE_PHP_EXT_FTP >> ?config BR2_PACKAGE_PHP_EXT_GETTEXT >> ? ? ? ?bool "gettext" >> ? ? ? ?select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT >> + ? ? ? select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT > > > ?Same here. ?I'm not altogether sure that the gettext PHP extension > doesn't call the binary, but at first sight it looks like it's just > using the library function. If these packages don't need gettext binaries, I'm fine with removing these select lines. > > ?Regards, > ?Arnout > > >> ? ? ? ?depends on BR2_USE_WCHAR >> ? ? ? ?help >> ? ? ? ? ?gettext support > > > -- > Arnout Vandecappelle ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? arnout at mind be > Senior Embedded Software Architect ? ? ? ? ? ? ? ? +32-16-286540 > Essensium/Mind ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? http://www.mind.be > G.Geenslaan 9, 3001 Leuven, Belgium ? ? ? ? ? ? ? ?BE 872 984 063 RPR Leuven > LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle > GPG fingerprint: ?7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F Cheers, Sam ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES 2012-05-11 22:45 ` Samuel Martin @ 2012-05-12 14:43 ` Arnout Vandecappelle 0 siblings, 0 replies; 19+ messages in thread From: Arnout Vandecappelle @ 2012-05-12 14:43 UTC (permalink / raw) To: buildroot On 05/12/12 00:45, Samuel Martin wrote: > Hi Arnout, > > Thx for the review. > > 2012/5/11 Arnout Vandecappelle<arnout@mind.be>: >> On 05/08/12 13:19, Samuel Martin wrote: [snip] >>> +comment "libintl requires a toolchain with locale/i18n support" >>> + depends on BR2_PACKAGE_GETTEXT&& !BR2_ENABLE_LOCALE >> >> >> You just removed libintl, so you shouldn't add a comment about it. > > Because now libintl comes with gettext, there is no explicit target > for libintl anymore. > I add the comment about libintl because the build of packages > depending on libintl failed > if I enabled gettext, but disable locale/i18n support. > >> I'm also not sure where this comes from. If gettext/libintl requires >> ENABLE_LOCALE, why did it work before? Or didn't it work before, and >> should there in fact be a 'depends on BR2_ENABLE_LOCALE' in the gettext >> package (and everything that selects it)? > > When I tested these patches, with similar configs, the unique diff was > BR2_ENABLE_LOCALE enabled or not, > I got both libgettextlib and libintl installed in the staging dir. > when I enabled BR2_ENABLE_LOCALE, > whereas there was only libgettextlib installed if BR2_ENABLE_LOCALE > was disabled. > I cannot explain me either, hope there is some gettext guru around here... I just tried with the following defconfig and without these patches, and I do get both libgettextlib and libintl on the target. BR2_powerpc=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y BR2_PACKAGE_GETTEXT=y BR2_PACKAGE_LIBINTL=y (BR2_ENABLE_LOCALE is not set) [snip] >> Why does libidn need the gettext binaries? If this is just a mechanical >> update of a dependency that was in fact incorrect, why is it just for >> libidn and not for the 20-ish other packages that select >> BR2_PACKAGE_GETTEXT? >> >> In fact for this one I had a quick check in the source code, and I can't >> find a reference to the gettext binaries. So I doubt it is needed. >> > Actually, I followed some basic logic: > Before this patch series: > "a package depending on: gettext&& libintl, did not need gettext binaries"; > this can also be rephrase: > "a package depending on: gettext&& !libintl, may need gettext binaries". > > After apply this patch, because I invert (and rename) the libintl > logic, these sentences become: > "a package depending on: gettext&& !need_gettext_binaries, did not > need gettext binaries"; > or: > "a package depending on: gettext&& need_gettext_binaries, (may) need > gettext binaries". > > I was just enforcing the eventuality that a package may need gettext binaries. > > Hope this makes things clearer. Indeed. Sorry I wasn't paying attention :-) Although most likely these two packages don't need the gettext binaries on the target, it's safer to keep the old behaviour. Regards, Arnout -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies. 2012-05-08 11:19 ` [Buildroot] [PATCH 1/3] " Samuel Martin 2012-05-08 11:19 ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin @ 2012-05-08 11:19 ` Samuel Martin 2012-05-19 21:46 ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard 2 siblings, 0 replies; 19+ messages in thread From: Samuel Martin @ 2012-05-08 11:19 UTC (permalink / raw) To: buildroot From the gettext package conversion to autotarget (thanks to Maxime Ripard), libintl provides the same things as gettext. So, convert all libintl dependencies to gettext ones. Also fix some BR2_NEEDS_GETTEXT/BR2_NEEDS_GETTEXT_IF_LOCALE dependencies. Signed-off-by: Samuel Martin <s.martin49@gmail.com> --- package/avahi/Config.in | 1 - package/avahi/avahi.mk | 6 +++--- package/axel/Config.in | 1 - package/axel/axel.mk | 2 +- package/binutils/Config.in | 1 - package/binutils/binutils.mk | 2 +- package/diffutils/diffutils.mk | 3 +-- package/flex/flex.mk | 3 +-- package/gdk-pixbuf/Config.in | 3 +-- package/gdk-pixbuf/gdk-pixbuf.mk | 2 +- package/glib-networking/Config.in | 3 +-- package/glib-networking/glib-networking.mk | 2 +- package/gmpc/Config.in | 1 - package/gmpc/gmpc.mk | 2 +- package/grep/Config.in | 1 - package/grep/grep.mk | 2 +- package/kbd/Config.in | 1 - package/kbd/kbd.mk | 2 +- package/libglib2/Config.in | 3 +-- package/libglib2/libglib2.mk | 7 ++++++- package/libidn/libidn.mk | 4 +++- package/libsoup/Config.in | 3 +-- package/libsoup/libsoup.mk | 7 ++++++- package/make/Config.in | 1 - package/make/make.mk | 2 +- package/multimedia/pulseaudio/Config.in | 2 +- package/multimedia/pulseaudio/pulseaudio.mk | 2 +- package/pango/Config.in | 1 - package/pango/pango.mk | 6 +++++- package/psmisc/Config.in | 1 - package/psmisc/psmisc.mk | 2 +- package/sshfs/Config.in | 1 - package/sshfs/sshfs.mk | 2 +- package/sysstat/Config.in | 1 - package/sysstat/sysstat.mk | 2 +- package/util-linux/util-linux.mk | 7 +++++-- package/vala/Config.in | 1 - package/vala/vala.mk | 2 +- 38 files changed, 48 insertions(+), 47 deletions(-) diff --git a/package/avahi/Config.in b/package/avahi/Config.in index eb3ccb6..8ba33d5 100644 --- a/package/avahi/Config.in +++ b/package/avahi/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_AVAHI bool "avahi" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help Avahi is a system which facilitates service discovery on a local network. diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk index 32e3df7..525791f 100644 --- a/package/avahi/avahi.mk +++ b/package/avahi/avahi.mk @@ -83,7 +83,7 @@ AVAHI_CONF_OPT = --localstatedir=/var \ --with-autoipd-user=default \ --with-autoipd-group=default -AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-intltool host-pkg-config +AVAHI_DEPENDENCIES = host-intltool host-pkg-config ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),) AVAHI_DEPENDENCIES += libdaemon @@ -131,8 +131,8 @@ else AVAHI_CONF_OPT += --disable-python endif -ifeq ($(BR2_PACKAGE_LIBINTL),y) -AVAHI_DEPENDENCIES += libintl +ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) +AVAHI_DEPENDENCIES += gettext AVAHI_MAKE_OPT = LIBS=-lintl endif diff --git a/package/axel/Config.in b/package/axel/Config.in index cb9af32..b9c914b 100644 --- a/package/axel/Config.in +++ b/package/axel/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_AXEL bool "axel" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help HTTP/FTP download accelerator. diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 91f6d1e..26d8b92 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -10,7 +10,7 @@ AXEL_SITE = https://alioth.debian.org/frs/download.php/3015 AXEL_LDFLAGS = -lpthread ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -AXEL_DEPENDENCIES += gettext libintl +AXEL_DEPENDENCIES += gettext AXEL_LDFLAGS += -lintl endif diff --git a/package/binutils/Config.in b/package/binutils/Config.in index e068b20..6480370 100644 --- a/package/binutils/Config.in +++ b/package/binutils/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_BINUTILS bool "binutils" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help Install binutils on the target diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 0a5a948..f94c43e 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -18,7 +18,7 @@ BINUTILS_SITE = ftp://www.at91.com/pub/buildroot endif BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS)) BINUTILS_INSTALL_STAGING = YES -BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) # We need to specify host & target to avoid breaking ARM EABI BINUTILS_CONF_OPT = --disable-multilib --disable-werror \ diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk index 6d1896a..a877f2f 100644 --- a/package/diffutils/diffutils.mk +++ b/package/diffutils/diffutils.mk @@ -7,8 +7,7 @@ DIFFUTILS_VERSION = 3.2 DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils DIFFUTILS_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) \ - $(if $(BR2_PACKAGE_LIBINTL),libintl) + $(if $(BR2_PACKAGE_GETTEXT),gettext) ifeq ($(BR2_PACKAGE_BUSYBOX),y) DIFFUTILS_DEPENDENCIES += busybox diff --git a/package/flex/flex.mk b/package/flex/flex.mk index 041aba8..3617411 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -12,8 +12,7 @@ FLEX_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex FLEX_DIR = $(BUILD_DIR)/flex-$(FLEX_VERSION) FLEX_INSTALL_STAGING = YES FLEX_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) \ - $(if $(BR2_PACKAGE_LIBINTL),libintl) + $(if $(BR2_PACKAGE_GETTEXT),gettext) # we don't have a host-gettext/libintl HOST_FLEX_DEPENDENCIES = diff --git a/package/gdk-pixbuf/Config.in b/package/gdk-pixbuf/Config.in index 28a0f12..2ceafe5 100644 --- a/package/gdk-pixbuf/Config.in +++ b/package/gdk-pixbuf/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_GDK_PIXBUF bool "gdk-pixbuf" depends on BR2_USE_WCHAR # glib2 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Gdk-Pixbuf is an image loader and scaler. It uses GObject diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index 8dc1c47..4bf71e4 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -35,7 +35,7 @@ GDK_PIXBUF_DEPENDENCIES += tiff endif GDK_PIXBUF_DEPENDENCIES += \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ $(if $(BR2_ENABLE_LOCALE),,libiconv) \ host-pkg-config libglib2 diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in index 16f0d4a..f1aa7ee 100644 --- a/package/glib-networking/Config.in +++ b/package/glib-networking/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_GLIB_NETWORKING bool "glib-networking" depends on BR2_USE_WCHAR # glib2 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Network-related GIO modules for glib. diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index 9165835..272994c 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -13,7 +13,7 @@ GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz GLIB_NETWORKING_INSTALL_STAGING = YES GLIB_NETWORKING_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ host-pkg-config \ host-intltool \ libglib2 diff --git a/package/gmpc/Config.in b/package/gmpc/Config.in index f86945c..9b38d1a 100644 --- a/package/gmpc/Config.in +++ b/package/gmpc/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_GMPC depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBMPD select BR2_PACKAGE_LIBSOUP diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk index 1db5346..f3c555a 100644 --- a/package/gmpc/gmpc.mk +++ b/package/gmpc/gmpc.mk @@ -11,6 +11,6 @@ GMPC_CONF_OPT = --disable-mmkeys --disable-unique GMPC_DEPENDENCIES = host-gob2 host-intltool host-pkg-config host-vala \ libglib2 libgtk2 libmpd libsoup sqlite \ xlib_libICE xlib_libSM xlib_libX11 \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) $(eval $(call AUTOTARGETS)) diff --git a/package/grep/Config.in b/package/grep/Config.in index 1b39922..5906e69 100644 --- a/package/grep/Config.in +++ b/package/grep/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_GREP bool "grep" depends on BR2_USE_WCHAR select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help The GNU regular expression matcher. diff --git a/package/grep/grep.mk b/package/grep/grep.mk index aa22910..e874128 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -8,7 +8,7 @@ GREP_VERSION = 2.11 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_CONF_OPT = --disable-perl-regexp --without-included-regex -GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) # link with iconv if enabled ifeq ($(BR2_PACKAGE_LIBICONV),y) diff --git a/package/kbd/Config.in b/package/kbd/Config.in index a23b70a..44c3163 100644 --- a/package/kbd/Config.in +++ b/package/kbd/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KBD bool "kbd" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE # Uses fork() depends on BR2_USE_MMU help diff --git a/package/kbd/kbd.mk b/package/kbd/kbd.mk index af30e8e..08a706b 100644 --- a/package/kbd/kbd.mk +++ b/package/kbd/kbd.mk @@ -2,6 +2,6 @@ KBD_VERSION = 1.15.2 KBD_SOURCE = kbd-$(KBD_VERSION).tar.gz KBD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd -KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) $(eval $(call AUTOTARGETS)) diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in index d1d7231..bdb63cb 100644 --- a/package/libglib2/Config.in +++ b/package/libglib2/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LIBGLIB2 bool "libglib2" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBFFI select BR2_PACKAGE_ZLIB diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index d2445a1..be9aa22 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -55,7 +55,12 @@ HOST_LIBGLIB2_CONF_OPT = \ --disable-gtk-doc \ --enable-debug=no \ -LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl) +LIBGLIB2_DEPENDENCIES = \ + host-pkg-config \ + host-libglib2 \ + libffi \ + zlib \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-libffi host-zlib diff --git a/package/libidn/libidn.mk b/package/libidn/libidn.mk index 935240b..044ed59 100644 --- a/package/libidn/libidn.mk +++ b/package/libidn/libidn.mk @@ -9,7 +9,9 @@ LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN_INSTALL_STAGING = YES LIBIDN_CONF_ENV = EMACS="no" LIBIDN_CONF_OPT = --disable-java --enable-csharp=no -LIBIDN_DEPENDENCIES = host-pkg-config $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBIDN_DEPENDENCIES = host-pkg-config \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) define LIBIDN_REMOVE_BINARY rm -f $(TARGET_DIR)/usr/bin/idn diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in index eee6ade..4703191 100644 --- a/package/libsoup/Config.in +++ b/package/libsoup/Config.in @@ -3,8 +3,7 @@ config BR2_PACKAGE_LIBSOUP depends on BR2_USE_WCHAR # glib2 select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help libsoup is an HTTP client/server library. It uses GObject and the GLib main loop, to integrate well with GNOME diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk index 6572585..2e52b98 100644 --- a/package/libsoup/libsoup.mk +++ b/package/libsoup/libsoup.mk @@ -19,7 +19,12 @@ endif LIBSOUP_CONF_OPT = --disable-glibtest --without-gnome -LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config host-libglib2 libglib2 libxml2 +LIBSOUP_DEPENDENCIES = \ + host-pkg-config \ + host-libglib2 \ + libglib2 \ + libxml2 \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y) LIBSOUP_DEPENDENCIES += glib-networking diff --git a/package/make/Config.in b/package/make/Config.in index 364bb1e..ea2ae1b 100644 --- a/package/make/Config.in +++ b/package/make/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_MAKE bool "make" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help A tool which controls the generation of executables and other non-source files of a program from the program's source files. diff --git a/package/make/make.mk b/package/make/make.mk index 2886032..8cc8799 100644 --- a/package/make/make.mk +++ b/package/make/make.mk @@ -7,7 +7,7 @@ MAKE_VERSION:=3.81 MAKE_SOURCE:=make-$(MAKE_VERSION).tar.bz2 MAKE_SITE:=$(BR2_GNU_MIRROR)/make -MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) MAKE_CONF_ENV = make_cv_sys_gnu_glob=no \ GLOBINC='-I$(@D)/glob' \ diff --git a/package/multimedia/pulseaudio/Config.in b/package/multimedia/pulseaudio/Config.in index 6e6d64c..4845ffa 100644 --- a/package/multimedia/pulseaudio/Config.in +++ b/package/multimedia/pulseaudio/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_PULSEAUDIO select BR2_PACKAGE_JSON_C select BR2_PACKAGE_LIBSNDFILE select BR2_PACKAGE_SPEEX - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for your sound applications. It allows you to do diff --git a/package/multimedia/pulseaudio/pulseaudio.mk b/package/multimedia/pulseaudio/pulseaudio.mk index eefc497..8363989 100644 --- a/package/multimedia/pulseaudio/pulseaudio.mk +++ b/package/multimedia/pulseaudio/pulseaudio.mk @@ -15,7 +15,7 @@ PULSEAUDIO_CONF_OPT = \ PULSEAUDIO_DEPENDENCIES = \ host-pkg-config libtool json-c libsndfile speex host-intltool \ - $(if $(BR2_PACKAGE_LIBINTL),libintl) \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ $(if $(BR2_PACKAGE_LIBATOMIC_OPS),libatomic_ops) \ $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \ $(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \ diff --git a/package/pango/Config.in b/package/pango/Config.in index 923c3d4..60e9931 100644 --- a/package/pango/Config.in +++ b/package/pango/Config.in @@ -6,7 +6,6 @@ config BR2_PACKAGE_PANGO select BR2_PACKAGE_EXPAT select BR2_PACKAGE_CAIRO select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help Pango is a library for laying out and rendering of text, with an emphasis on internationalization. Pango can be used anywhere that diff --git a/package/pango/pango.mk b/package/pango/pango.mk index f46bdc6..613b4bf 100644 --- a/package/pango/pango.mk +++ b/package/pango/pango.mk @@ -41,7 +41,11 @@ PANGO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \ PANGO_CONF_OPT = --enable-explicit-deps=no --disable-debug -PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config libglib2 cairo +PANGO_DEPENDENCIES = \ + host-pkg-config \ + libglib2 \ + cairo \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) ifeq ($(BR2_PACKAGE_XORG7),y) PANGO_CONF_OPT += --with-x \ diff --git a/package/psmisc/Config.in b/package/psmisc/Config.in index a138204..cc8420b 100644 --- a/package/psmisc/Config.in +++ b/package/psmisc/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_PSMISC bool "psmisc" select BR2_PACKAGE_NCURSES select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help Helpful /proc related utilities such as pstree, fuser, and killall diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk index 0b0e046..406be3a 100644 --- a/package/psmisc/psmisc.mk +++ b/package/psmisc/psmisc.mk @@ -6,7 +6,7 @@ PSMISC_VERSION = 22.16 PSMISC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/psmisc/psmisc -PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) ifneq ($(BR2_TOOLCHAIN_BUILDROOT_USE_SSP),y) # Don't force -fstack-protector diff --git a/package/sshfs/Config.in b/package/sshfs/Config.in index 73d552f..37188ba 100644 --- a/package/sshfs/Config.in +++ b/package/sshfs/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_SSHFS select BR2_PACKAGE_LIBFUSE select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_OPENSSH depends on BR2_LARGEFILE diff --git a/package/sshfs/sshfs.mk b/package/sshfs/sshfs.mk index e60cdeb..b7b531f 100644 --- a/package/sshfs/sshfs.mk +++ b/package/sshfs/sshfs.mk @@ -9,7 +9,7 @@ SSHFS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/fuse/ss SSHFS_SOURCE = sshfs-fuse-$(SSHFS_VERSION).tar.gz SSHFS_DEPENDENCIES = \ libglib2 libfuse openssh \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ $(if $(BR2_ENABLE_LOCALE),,libiconv) $(eval $(call AUTOTARGETS)) diff --git a/package/sysstat/Config.in b/package/sysstat/Config.in index 6e62ff1..ceba503 100644 --- a/package/sysstat/Config.in +++ b/package/sysstat/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_SYSSTAT bool "sysstat" select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE # Uses fork() depends on BR2_USE_MMU help diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk index 55991c4..7bd5278 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -14,7 +14,7 @@ SYSSTAT_CONF_OPT += --disable-documentation endif ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -SYSSTAT_DEPENDENCIES += gettext libintl +SYSSTAT_DEPENDENCIES += gettext SYSSTAT_MAKE_OPT += CFLAGS+=-lintl endif diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index d8a3ac9..3da4d90 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -29,8 +29,11 @@ else UTIL_LINUX_CONF_OPT += --without-ncurses endif -ifeq ($(BR2_PACKAGE_LIBINTL),y) -UTIL_LINUX_DEPENDENCIES += libintl +ifeq ($(BR2_NEEDS_GETTEXT),y) +UTIL_LINUX_DEPENDENCIES += gettext +endif + +ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) UTIL_LINUX_MAKE_OPT += LIBS=-lintl endif diff --git a/package/vala/Config.in b/package/vala/Config.in index 89b4459..e0d665c 100644 --- a/package/vala/Config.in +++ b/package/vala/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_VALA depends on BR2_USE_WCHAR # glib2 select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Compiler for the GObject type system. diff --git a/package/vala/vala.mk b/package/vala/vala.mk index a3ad037..b579316 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -10,7 +10,7 @@ VALA_VERSION = $(VALA_VERSION_MAJOR).$(VALA_VERSION_MINOR) VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_DEPENDENCIES = host-flex libglib2 \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) HOST_VALA_DEPENDENCIES = host-flex host-libglib2 $(eval $(call AUTOTARGETS)) -- 1.7.10.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-05-08 11:19 ` [Buildroot] [PATCH 1/3] " Samuel Martin 2012-05-08 11:19 ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin 2012-05-08 11:19 ` [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies Samuel Martin @ 2012-05-19 21:46 ` Peter Korsgaard 2012-05-21 7:52 ` Samuel Martin 2012-05-21 8:06 ` Maxime Ripard 2 siblings, 2 replies; 19+ messages in thread From: Peter Korsgaard @ 2012-05-19 21:46 UTC (permalink / raw) To: buildroot >>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes: Hi, Samuel> From: Maxime Ripard <maxime.ripard@free-electrons.com> Samuel> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Samuel> Acked-by: Samuel Martin <s.martin49@gmail.com> Samuel> --- Samuel> -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured Samuel> - $(MAKE) -C $(GETTEXT_DIR) Samuel> - touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY) Samuel> +define GETTEXT_REMOVE_BINARIES Samuel> + rm -f $(TARGET_DIR)/usr/bin/gettext Samuel> + rm -f $(TARGET_DIR)/usr/bin/gettext.sh Samuel> + rm -f $(TARGET_DIR)/usr/bin/gettextize Samuel> +endef Samuel> ifeq ($(BR2_PACKAGE_LIBINTL),y) Samuel> + GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES Samuel> endif Samuel> + This seems backwards. Wouldn't you want to keep the binaries if libintl is enabled? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-05-19 21:46 ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard @ 2012-05-21 7:52 ` Samuel Martin 2012-05-21 8:02 ` Peter Korsgaard 2012-05-21 8:06 ` Maxime Ripard 1 sibling, 1 reply; 19+ messages in thread From: Samuel Martin @ 2012-05-21 7:52 UTC (permalink / raw) To: buildroot Hi, 2012/5/19 Peter Korsgaard <jacmet@uclibc.org>: >>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes: > > Hi, > > ?Samuel> From: Maxime Ripard <maxime.ripard@free-electrons.com> > ?Samuel> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > ?Samuel> Acked-by: Samuel Martin <s.martin49@gmail.com> > ?Samuel> --- > > ?Samuel> -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured > ?Samuel> - ? ? ?$(MAKE) -C $(GETTEXT_DIR) > ?Samuel> - ? ? ?touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY) > ?Samuel> +define GETTEXT_REMOVE_BINARIES > ?Samuel> + ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettext > ?Samuel> + ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettext.sh > ?Samuel> + ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettextize > ?Samuel> +endef > > ?Samuel> ?ifeq ($(BR2_PACKAGE_LIBINTL),y) > ?Samuel> + ? ? ?GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES > ?Samuel> ?endif > ?Samuel> + > > This seems backwards. Wouldn't you want to keep the binaries if libintl > is enabled? Actually, do we really need to remove these binaries? On an arm build, these 3 binaries take less than 80KB. Cheers, Sam ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-05-21 7:52 ` Samuel Martin @ 2012-05-21 8:02 ` Peter Korsgaard 2012-05-21 8:08 ` Will Newton 0 siblings, 1 reply; 19+ messages in thread From: Peter Korsgaard @ 2012-05-21 8:02 UTC (permalink / raw) To: buildroot >>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes: Hi, >> This seems backwards. Wouldn't you want to keep the binaries if libintl >> is enabled? Samuel> Actually, do we really need to remove these binaries? Samuel> On an arm build, these 3 binaries take less than 80KB. I don't feel strongly about it. The stuff needing gettext is typically quite a lot bigger than 80KB, so perhaps simplifying stuff is indeed the way to go. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-05-21 8:02 ` Peter Korsgaard @ 2012-05-21 8:08 ` Will Newton 2012-05-21 8:12 ` Maxime Ripard 2012-05-21 8:12 ` Peter Korsgaard 0 siblings, 2 replies; 19+ messages in thread From: Will Newton @ 2012-05-21 8:08 UTC (permalink / raw) To: buildroot On Mon, May 21, 2012 at 9:02 AM, Peter Korsgaard <jacmet@uclibc.org> wrote: >>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes: > > Hi, > > ?>> This seems backwards. Wouldn't you want to keep the binaries if libintl > ?>> is enabled? > > ?Samuel> Actually, do we really need to remove these binaries? > ?Samuel> On an arm build, these 3 binaries take less than 80KB. > > I don't feel strongly about it. The stuff needing gettext is typically > quite a lot bigger than 80KB, so perhaps simplifying stuff is indeed the > way to go. I would suggest that if we used to remove it then we should keep removing it. Otherwise you end up in the situation where you update buildroot and your filesystem image gets ever so slightly bigger and won't fit in flash any more. ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-05-21 8:08 ` Will Newton @ 2012-05-21 8:12 ` Maxime Ripard 2012-05-21 8:12 ` Peter Korsgaard 1 sibling, 0 replies; 19+ messages in thread From: Maxime Ripard @ 2012-05-21 8:12 UTC (permalink / raw) To: buildroot Le 21/05/2012 10:08, Will Newton a ?crit : > On Mon, May 21, 2012 at 9:02 AM, Peter Korsgaard <jacmet@uclibc.org> wrote: >>>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes: >> >> Hi, >> >> >> This seems backwards. Wouldn't you want to keep the binaries if libintl >> >> is enabled? >> >> Samuel> Actually, do we really need to remove these binaries? >> Samuel> On an arm build, these 3 binaries take less than 80KB. >> >> I don't feel strongly about it. The stuff needing gettext is typically >> quite a lot bigger than 80KB, so perhaps simplifying stuff is indeed the >> way to go. > > I would suggest that if we used to remove it then we should keep > removing it. Otherwise you end up in the situation where you update > buildroot and your filesystem image gets ever so slightly bigger and > won't fit in flash any more. I think that it is something you should expect when upgrading buildroot. I mean, you already have a lot of packages version bump that can lead to the same filesystem size increase, with the result you described. Maxime -- Maxime Ripard, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-05-21 8:08 ` Will Newton 2012-05-21 8:12 ` Maxime Ripard @ 2012-05-21 8:12 ` Peter Korsgaard 1 sibling, 0 replies; 19+ messages in thread From: Peter Korsgaard @ 2012-05-21 8:12 UTC (permalink / raw) To: buildroot >>>>> "Will" == Will Newton <will.newton@gmail.com> writes: Hi, Will> I would suggest that if we used to remove it then we should keep Will> removing it. Otherwise you end up in the situation where you Will> update buildroot and your filesystem image gets ever so slightly Will> bigger and won't fit in flash any more. That can still happen with our version bumps as new versions are typically somewhat more bloated than older versions, but OK - Keeping it is not a big problem. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/3] Convert gettext to autotargets 2012-05-19 21:46 ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard 2012-05-21 7:52 ` Samuel Martin @ 2012-05-21 8:06 ` Maxime Ripard 1 sibling, 0 replies; 19+ messages in thread From: Maxime Ripard @ 2012-05-21 8:06 UTC (permalink / raw) To: buildroot Hi, Le 19/05/2012 23:46, Peter Korsgaard a ?crit : >>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes: > Samuel> From: Maxime Ripard <maxime.ripard@free-electrons.com> > Samuel> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > Samuel> Acked-by: Samuel Martin <s.martin49@gmail.com> > Samuel> --- > > Samuel> -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured > Samuel> - $(MAKE) -C $(GETTEXT_DIR) > Samuel> - touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY) > Samuel> +define GETTEXT_REMOVE_BINARIES > Samuel> + rm -f $(TARGET_DIR)/usr/bin/gettext > Samuel> + rm -f $(TARGET_DIR)/usr/bin/gettext.sh > Samuel> + rm -f $(TARGET_DIR)/usr/bin/gettextize > Samuel> +endef > > Samuel> ifeq ($(BR2_PACKAGE_LIBINTL),y) > Samuel> + GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES > Samuel> endif > Samuel> + > > This seems backwards. Wouldn't you want to keep the binaries if libintl > is enabled? What looks backward to me is that libintl is there even if BR2_PACKAGE_LIBINTL is not enabled... -- Maxime Ripard, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/1] Convert gettext to autotargets 2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard 2012-04-04 14:56 ` Maxime Ripard @ 2012-04-15 19:09 ` Samuel Martin 1 sibling, 0 replies; 19+ messages in thread From: Samuel Martin @ 2012-04-15 19:09 UTC (permalink / raw) To: buildroot Also cleanup any libintl dependency since the target does not exist anymore (it is now part of the gettext target). Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Samuel Martin <s.martin49@gmail.com> --- package/avahi/avahi.mk | 4 +- package/axel/axel.mk | 2 +- package/binutils/binutils.mk | 2 +- package/diffutils/diffutils.mk | 3 +- package/dnsmasq/dnsmasq.mk | 2 +- package/flex/flex.mk | 5 +- package/gdk-pixbuf/gdk-pixbuf.mk | 2 +- package/gettext/Config.in | 12 -- package/gettext/gettext.mk | 168 +++------------------------ package/gettext/libdir-la.patch | 154 ------------------------ package/glib-networking/glib-networking.mk | 2 +- package/gmpc/gmpc.mk | 2 +- package/grep/grep.mk | 2 +- package/kbd/kbd.mk | 2 +- package/libglib2/libglib2.mk | 2 +- package/libsoup/libsoup.mk | 2 +- package/make/make.mk | 2 +- package/multimedia/pulseaudio/pulseaudio.mk | 2 +- package/pango/pango.mk | 2 +- package/psmisc/psmisc.mk | 2 +- package/sshfs/sshfs.mk | 2 +- package/sysstat/sysstat.mk | 2 +- package/util-linux/util-linux.mk | 2 +- package/vala/vala.mk | 2 +- 24 files changed, 37 insertions(+), 345 deletions(-) delete mode 100644 package/gettext/libdir-la.patch diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk index 32e3df7..2547e04 100644 --- a/package/avahi/avahi.mk +++ b/package/avahi/avahi.mk @@ -83,7 +83,7 @@ AVAHI_CONF_OPT = --localstatedir=/var \ --with-autoipd-user=default \ --with-autoipd-group=default -AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-intltool host-pkg-config +AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-intltool host-pkg-config ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),) AVAHI_DEPENDENCIES += libdaemon @@ -132,7 +132,7 @@ AVAHI_CONF_OPT += --disable-python endif ifeq ($(BR2_PACKAGE_LIBINTL),y) -AVAHI_DEPENDENCIES += libintl +AVAHI_DEPENDENCIES += gettext AVAHI_MAKE_OPT = LIBS=-lintl endif diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 91f6d1e..26d8b92 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -10,7 +10,7 @@ AXEL_SITE = https://alioth.debian.org/frs/download.php/3015 AXEL_LDFLAGS = -lpthread ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -AXEL_DEPENDENCIES += gettext libintl +AXEL_DEPENDENCIES += gettext AXEL_LDFLAGS += -lintl endif diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 8632d67..29185e2 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -18,7 +18,7 @@ BINUTILS_SITE = ftp://www.at91.com/pub/buildroot endif BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS)) BINUTILS_INSTALL_STAGING = YES -BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) # We need to specify host & target to avoid breaking ARM EABI BINUTILS_CONF_OPT = --disable-multilib --disable-werror \ diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk index 6d1896a..a877f2f 100644 --- a/package/diffutils/diffutils.mk +++ b/package/diffutils/diffutils.mk @@ -7,8 +7,7 @@ DIFFUTILS_VERSION = 3.2 DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils DIFFUTILS_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) \ - $(if $(BR2_PACKAGE_LIBINTL),libintl) + $(if $(BR2_PACKAGE_GETTEXT),gettext) ifeq ($(BR2_PACKAGE_BUSYBOX),y) DIFFUTILS_DEPENDENCIES += busybox diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index c1995a0..5457060 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -24,7 +24,7 @@ endif ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y) DNSMASQ_MAKE_OPT += all-i18n - DNSMASQ_DEPENDENCIES += libidn libintl + DNSMASQ_DEPENDENCIES += libidn gettext DNSMASQ_MAKE_OPT += LDFLAGS+="-lintl -lidn" endif diff --git a/package/flex/flex.mk b/package/flex/flex.mk index 041aba8..b684653 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -12,9 +12,8 @@ FLEX_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex FLEX_DIR = $(BUILD_DIR)/flex-$(FLEX_VERSION) FLEX_INSTALL_STAGING = YES FLEX_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) \ - $(if $(BR2_PACKAGE_LIBINTL),libintl) -# we don't have a host-gettext/libintl + $(if $(BR2_PACKAGE_GETTEXT),gettext) +# we don't have a host-gettext HOST_FLEX_DEPENDENCIES = # lex -> flex diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index 8dc1c47..4bf71e4 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -35,7 +35,7 @@ GDK_PIXBUF_DEPENDENCIES += tiff endif GDK_PIXBUF_DEPENDENCIES += \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ $(if $(BR2_ENABLE_LOCALE),,libiconv) \ host-pkg-config libglib2 diff --git a/package/gettext/Config.in b/package/gettext/Config.in index fabfe1e..0ee4065 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT comment "gettext requires a toolchain with WCHAR support" depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR -config BR2_PACKAGE_GETTEXT_STATIC - bool "Use libgettext.a instead of libgettext.so.*" - depends on BR2_PACKAGE_GETTEXT - depends on BR2_arm - help - The GNU `gettext' utilities are a set of tools that provide a - framework to help other GNU packages produce multi-lingual - messages. - - http://www.gnu.org/software/gettext/ - - config BR2_PACKAGE_LIBINTL bool "libintl" depends on BR2_NEEDS_GETTEXT diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index f3605da..7c7b26c 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -3,162 +3,22 @@ # gettext # ############################################################# -GETTEXT_VERSION:=0.16.1 -GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz -GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext -GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION) -GETTEXT_CAT:=$(ZCAT) -GETTEXT_BINARY:=gettext-runtime/src/gettext -GETTEXT_TARGET_BINARY:=usr/bin/gettext +GETTEXT_VERSION = 0.16.1 +GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext +GETTEXT_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y) -LIBINTL_TARGET_BINARY:=usr/lib/libintl.a -else -LIBINTL_TARGET_BINARY:=usr/lib/libintl.so -endif - -$(DL_DIR)/$(GETTEXT_SOURCE): - $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE)) - -gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE) - -$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE) - $(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch - $(call CONFIG_UPDATE,$(@D)) - touch $@ - -ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y) -IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext -endif - -$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked - (cd $(GETTEXT_DIR); rm -rf config.cache; \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ac_cv_func_strtod=yes \ - ac_fsusage_space=yes \ - fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no \ - ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no \ - ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes \ - ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes \ - ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no \ - ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes \ - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no \ - ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no \ - ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes \ - gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes \ - ac_cv_have_decl_strerror_r=yes \ - ac_cv_func_strerror_r_char_p=no \ - jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes \ - ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes \ - utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - gl_cv_func_working_readdir=yes \ - jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no \ - ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no \ - gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes \ - ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no \ - gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes \ - jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no \ - gl_cv_c_restrict=no \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --disable-libasprintf \ - --enable-shared \ - $(IGNORE_EXTERNAL_GETTEXT) \ - --disable-openmp \ - ) - touch $@ +GETTEXT_CONF_OPT += \ + --disable-libasprintf \ + --disable-openmp \ -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured - $(MAKE) -C $(GETTEXT_DIR) - touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY) +define GETTEXT_REMOVE_BINARIES + rm -f $(TARGET_DIR)/usr/bin/gettext + rm -f $(TARGET_DIR)/usr/bin/gettext.sh + rm -f $(TARGET_DIR)/usr/bin/gettextize +endef -$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY) - $(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la - $(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la - $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la - rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \ - autopoint envsubst gettext.sh gettextize msg* ?gettext) - touch -c $@ - -gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - -gettext-unpacked: $(GETTEXT_DIR)/.unpacked - -gettext-clean: - -$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall - -$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall - -$(MAKE) -C $(GETTEXT_DIR) clean - -gettext-dirclean: - rm -rf $(GETTEXT_DIR) - -############################################################# -# -# gettext on the target -# -############################################################# - -gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY) - $(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install - chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped - -$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \ - $(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/ - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so* - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so* - rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \ - libgettext*.so*.la libintl*.so*.la) - touch -c $@ - -$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY) - cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/ - cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/ - touch -c $@ - -libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# ifeq ($(BR2_PACKAGE_LIBINTL),y) -TARGETS+=libintl -endif -ifeq ($(BR2_PACKAGE_GETTEXT),y) -TARGETS+=gettext + GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch deleted file mode 100644 index d5076c1..0000000 --- a/package/gettext/libdir-la.patch +++ /dev/null @@ -1,154 +0,0 @@ ---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig 2007-01-13 14:33:23.000000000 -0700 -+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh 2007-01-13 14:35:10.000000000 -0700 -@@ -234,8 +234,9 @@ - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit $EXIT_FAILURE -+ $echo "$modename: defaulting to \`CC'" -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" -+# exit $EXIT_FAILURE - # else - # $echo "$modename: using $tagname tagged configuration" - fi -@@ -2324,8 +2325,14 @@ - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$libdir" -- absdir="$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -@@ -2800,6 +2807,16 @@ - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" -+# This interferes with crosscompilation. -CL -+# else -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+# if test -z "$libdir"; then -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -+# exit 1 -+# fi -+# if test "$absdir" != "$libdir"; then -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 -+# fi - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then -@@ -5210,6 +5227,10 @@ - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do -+ # Replacing uninstalled with installed can easily break crosscompilation, -+ # since the installed path is generally the wrong architecture. -CL -+ newdependency_libs="$newdependency_libs $deplib" -+ continue - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -@@ -5528,10 +5549,13 @@ - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. -- if test "$inst_prefix_dir" = "$destdir"; then -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit $EXIT_FAILURE -- fi -+ # -+ # This breaks install into our staging area. -PB -+ # -+ # if test "$inst_prefix_dir" = "$destdir"; then -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ # exit $EXIT_FAILURE -+ # fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. ---- gettext-0.14.6/build-aux/ltmain.sh.orig 2005-05-20 15:03:38.000000000 -0600 -+++ gettext-0.14.6/build-aux/ltmain.sh 2007-01-13 14:34:27.000000000 -0700 -@@ -234,8 +234,9 @@ - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit $EXIT_FAILURE -+ $echo "$modename: defaulting to \`CC'" -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" -+# exit $EXIT_FAILURE - # else - # $echo "$modename: using $tagname tagged configuration" - fi -@@ -2324,8 +2325,14 @@ - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$libdir" -- absdir="$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -@@ -2800,6 +2807,16 @@ - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" -+# This interferes with crosscompilation. -CL -+# else -+# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+# if test -z "$libdir"; then -+# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -+# exit 1 -+# fi -+# if test "$absdir" != "$libdir"; then -+# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 -+# fi - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then -@@ -5210,6 +5227,10 @@ - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do -+ # Replacing uninstalled with installed can easily break crosscompilation, -+ # since the installed path is generally the wrong architecture. -CL -+ newdependency_libs="$newdependency_libs $deplib" -+ continue - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -@@ -5528,10 +5549,13 @@ - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. -- if test "$inst_prefix_dir" = "$destdir"; then -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit $EXIT_FAILURE -- fi -+ # -+ # This breaks install into our staging area. -PB -+ # -+ # if test "$inst_prefix_dir" = "$destdir"; then -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ # exit $EXIT_FAILURE -+ # fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index 9165835..272994c 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -13,7 +13,7 @@ GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz GLIB_NETWORKING_INSTALL_STAGING = YES GLIB_NETWORKING_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ host-pkg-config \ host-intltool \ libglib2 diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk index 1db5346..f3c555a 100644 --- a/package/gmpc/gmpc.mk +++ b/package/gmpc/gmpc.mk @@ -11,6 +11,6 @@ GMPC_CONF_OPT = --disable-mmkeys --disable-unique GMPC_DEPENDENCIES = host-gob2 host-intltool host-pkg-config host-vala \ libglib2 libgtk2 libmpd libsoup sqlite \ xlib_libICE xlib_libSM xlib_libX11 \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) $(eval $(call AUTOTARGETS)) diff --git a/package/grep/grep.mk b/package/grep/grep.mk index aa22910..e874128 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -8,7 +8,7 @@ GREP_VERSION = 2.11 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_CONF_OPT = --disable-perl-regexp --without-included-regex -GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) # link with iconv if enabled ifeq ($(BR2_PACKAGE_LIBICONV),y) diff --git a/package/kbd/kbd.mk b/package/kbd/kbd.mk index af30e8e..08a706b 100644 --- a/package/kbd/kbd.mk +++ b/package/kbd/kbd.mk @@ -2,6 +2,6 @@ KBD_VERSION = 1.15.2 KBD_SOURCE = kbd-$(KBD_VERSION).tar.gz KBD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd -KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) $(eval $(call AUTOTARGETS)) diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index d2445a1..553378a 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -55,7 +55,7 @@ HOST_LIBGLIB2_CONF_OPT = \ --disable-gtk-doc \ --enable-debug=no \ -LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl) +LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext) HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-libffi host-zlib diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk index 6572585..3ba47b9 100644 --- a/package/libsoup/libsoup.mk +++ b/package/libsoup/libsoup.mk @@ -19,7 +19,7 @@ endif LIBSOUP_CONF_OPT = --disable-glibtest --without-gnome -LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config host-libglib2 libglib2 libxml2 +LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-pkg-config host-libglib2 libglib2 libxml2 ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y) LIBSOUP_DEPENDENCIES += glib-networking diff --git a/package/make/make.mk b/package/make/make.mk index 2886032..8cc8799 100644 --- a/package/make/make.mk +++ b/package/make/make.mk @@ -7,7 +7,7 @@ MAKE_VERSION:=3.81 MAKE_SOURCE:=make-$(MAKE_VERSION).tar.bz2 MAKE_SITE:=$(BR2_GNU_MIRROR)/make -MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) MAKE_CONF_ENV = make_cv_sys_gnu_glob=no \ GLOBINC='-I$(@D)/glob' \ diff --git a/package/multimedia/pulseaudio/pulseaudio.mk b/package/multimedia/pulseaudio/pulseaudio.mk index eefc497..2920dbc 100644 --- a/package/multimedia/pulseaudio/pulseaudio.mk +++ b/package/multimedia/pulseaudio/pulseaudio.mk @@ -15,7 +15,7 @@ PULSEAUDIO_CONF_OPT = \ PULSEAUDIO_DEPENDENCIES = \ host-pkg-config libtool json-c libsndfile speex host-intltool \ - $(if $(BR2_PACKAGE_LIBINTL),libintl) \ + $(if $(BR2_PACKAGE_LIBINTL),gettext) \ $(if $(BR2_PACKAGE_LIBATOMIC_OPS),libatomic_ops) \ $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \ $(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \ diff --git a/package/pango/pango.mk b/package/pango/pango.mk index f46bdc6..78620fe 100644 --- a/package/pango/pango.mk +++ b/package/pango/pango.mk @@ -41,7 +41,7 @@ PANGO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \ PANGO_CONF_OPT = --enable-explicit-deps=no --disable-debug -PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config libglib2 cairo +PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-pkg-config libglib2 cairo ifeq ($(BR2_PACKAGE_XORG7),y) PANGO_CONF_OPT += --with-x \ diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk index 0b0e046..406be3a 100644 --- a/package/psmisc/psmisc.mk +++ b/package/psmisc/psmisc.mk @@ -6,7 +6,7 @@ PSMISC_VERSION = 22.16 PSMISC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/psmisc/psmisc -PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) +PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) ifneq ($(BR2_TOOLCHAIN_BUILDROOT_USE_SSP),y) # Don't force -fstack-protector diff --git a/package/sshfs/sshfs.mk b/package/sshfs/sshfs.mk index 738b4d0..7f6ce15 100644 --- a/package/sshfs/sshfs.mk +++ b/package/sshfs/sshfs.mk @@ -9,7 +9,7 @@ SSHFS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/fus SSHFS_SOURCE = sshfs-fuse-$(SSHFS_VERSION).tar.gz SSHFS_DEPENDENCIES = \ libglib2 libfuse openssh \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ $(if $(BR2_ENABLE_LOCALE),,libiconv) $(eval $(call AUTOTARGETS)) diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk index 55991c4..7bd5278 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -14,7 +14,7 @@ SYSSTAT_CONF_OPT += --disable-documentation endif ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -SYSSTAT_DEPENDENCIES += gettext libintl +SYSSTAT_DEPENDENCIES += gettext SYSSTAT_MAKE_OPT += CFLAGS+=-lintl endif diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index d8a3ac9..f6e9fcb 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -30,7 +30,7 @@ UTIL_LINUX_CONF_OPT += --without-ncurses endif ifeq ($(BR2_PACKAGE_LIBINTL),y) -UTIL_LINUX_DEPENDENCIES += libintl +UTIL_LINUX_DEPENDENCIES += gettext UTIL_LINUX_MAKE_OPT += LIBS=-lintl endif diff --git a/package/vala/vala.mk b/package/vala/vala.mk index a3ad037..b579316 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -10,7 +10,7 @@ VALA_VERSION = $(VALA_VERSION_MAJOR).$(VALA_VERSION_MINOR) VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_DEPENDENCIES = host-flex libglib2 \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) HOST_VALA_DEPENDENCIES = host-flex host-libglib2 $(eval $(call AUTOTARGETS)) -- 1.7.10 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 2/2] Bump systemd to version 44 2012-04-04 14:46 [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates Maxime Ripard 2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard @ 2012-04-04 14:46 ` Maxime Ripard 2012-04-05 11:16 ` Peter Korsgaard 1 sibling, 1 reply; 19+ messages in thread From: Maxime Ripard @ 2012-04-04 14:46 UTC (permalink / raw) To: buildroot Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- package/systemd/systemd-fix-page-size.patch | 43 +++++++++++++++++++++++++++ package/systemd/systemd.mk | 24 +++++++++----- 2 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 package/systemd/systemd-fix-page-size.patch diff --git a/package/systemd/systemd-fix-page-size.patch b/package/systemd/systemd-fix-page-size.patch new file mode 100644 index 0000000..241ceb8 --- /dev/null +++ b/package/systemd/systemd-fix-page-size.patch @@ -0,0 +1,43 @@ +commit 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 +Author: Lennart Poettering <lennart@poettering.net> +Date: Wed Mar 21 23:47:44 2012 +0100 + + journal: PAGE_SIZE is not known on ppc and other archs + + Let's use NAME_MAX, as suggested by Dan Walsh + +diff --git a/src/journal/journald.c b/src/journal/journald.c +index d27cb60..87390bd 100644 +--- a/src/journal/journald.c ++++ b/src/journal/journald.c +@@ -29,7 +29,6 @@ + #include <sys/ioctl.h> + #include <linux/sockios.h> + #include <sys/statvfs.h> +-#include <sys/user.h> + + #include <systemd/sd-journal.h> + #include <systemd/sd-login.h> +@@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) { + size_t label_len = 0; + union { + struct cmsghdr cmsghdr; ++ ++ /* We use NAME_MAX space for the ++ * SELinux label here. The kernel ++ * currently enforces no limit, but ++ * according to suggestions from the ++ * SELinux people this will change and ++ * it will probably be identical to ++ * NAME_MAX. For now we use that, but ++ * this should be updated one day when ++ * the final limit is known.*/ + uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + + CMSG_SPACE(sizeof(struct timeval)) + +- CMSG_SPACE(sizeof(int)) + +- CMSG_SPACE(PAGE_SIZE)]; /* selinux label */ ++ CMSG_SPACE(sizeof(int)) + /* fd */ ++ CMSG_SPACE(NAME_MAX)]; /* selinux label */ + } control; + ssize_t n; + int v; diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index eded472..717bdcc 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -3,9 +3,9 @@ # systemd # ############################################################# -SYSTEMD_VERSION = 37 +SYSTEMD_VERSION = 44 SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/ -SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.bz2 +SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz SYSTEMD_DEPENDENCIES = \ host-intltool \ libcap \ @@ -32,7 +32,8 @@ SYSTEMD_CONF_OPT += \ --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \ --with-udevrulesdir=/etc/udev/rules.d \ --with-sysvinit-path=/etc/init.d/ \ - --without-sysvrcd-path + --without-sysvrcd-path \ + --enable-split-usr ifeq ($(BR2_PACKAGE_ACL),y) SYSTEMD_CONF_OPT += --enable-acl @@ -41,21 +42,26 @@ else SYSTEMD_CONF_OPT += --disable-acl endif +ifneq ($(BR2_LARGEFILE),y) + SYSTEMD_CONF_OPT += --disable-largefile +endif + # mq_getattr needs -lrt SYSTEMD_MAKE_OPT += LIBS=-lrt +SYSTEMD_MAKE_OPT += LDFLAGS+=-ldl define SYSTEMD_INSTALL_INIT_HOOK - ln -fs ../bin/systemd $(TARGET_DIR)/sbin/init - ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt - ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff - ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot + ln -fs ../usr/lib/systemd/systemd $(TARGET_DIR)/sbin/init + ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt + ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff + ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot - ln -fs ../../../../lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target + ln -fs ../../../usr/lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target endef define SYSTEMD_INSTALL_TTY_HOOK rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty at tty1.service - ln -fs ../../../../lib/systemd/system/serial-getty at .service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service + ln -fs ../../../../usr/lib/systemd/system/serial-getty at .service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service endef SYSTEMD_POST_INSTALL_TARGET_HOOKS += \ -- 1.7.5.4 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 2/2] Bump systemd to version 44 2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard @ 2012-04-05 11:16 ` Peter Korsgaard 0 siblings, 0 replies; 19+ messages in thread From: Peter Korsgaard @ 2012-04-05 11:16 UTC (permalink / raw) To: buildroot >>>>> "Maxime" == Maxime Ripard <maxime.ripard@free-electrons.com> writes: Maxime> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Committed, thanks. I had to fix up a few things for uClibc though. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2012-05-21 8:12 UTC | newest] Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-04-04 14:46 [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates Maxime Ripard 2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard 2012-04-04 14:56 ` Maxime Ripard 2012-05-08 11:19 ` [Buildroot] [PATCH 1/3] " Samuel Martin 2012-05-08 11:19 ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin 2012-05-11 21:37 ` Arnout Vandecappelle 2012-05-11 22:45 ` Samuel Martin 2012-05-12 14:43 ` Arnout Vandecappelle 2012-05-08 11:19 ` [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies Samuel Martin 2012-05-19 21:46 ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard 2012-05-21 7:52 ` Samuel Martin 2012-05-21 8:02 ` Peter Korsgaard 2012-05-21 8:08 ` Will Newton 2012-05-21 8:12 ` Maxime Ripard 2012-05-21 8:12 ` Peter Korsgaard 2012-05-21 8:06 ` Maxime Ripard 2012-04-15 19:09 ` [Buildroot] [PATCH 1/1] " Samuel Martin 2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard 2012-04-05 11:16 ` Peter Korsgaard
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.