From patchwork Tue Feb 12 21:55:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 1040871 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="OS6pUEM1"; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43zbny6pP7z9s5c for ; Wed, 13 Feb 2019 08:46:30 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 356008608F; Tue, 12 Feb 2019 21:46:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WUEMnpayXqIa; Tue, 12 Feb 2019 21:46:22 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id E889F85F5D; Tue, 12 Feb 2019 21:46:21 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 3825B1BF39A for ; Tue, 12 Feb 2019 21:46:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 3579884BE7 for ; Tue, 12 Feb 2019 21:46:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KGqvtS06CqHv for ; Tue, 12 Feb 2019 21:46:19 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by whitealder.osuosl.org (Postfix) with ESMTPS id 630D7813A2 for ; Tue, 12 Feb 2019 21:46:19 +0000 (UTC) Received: by mail-lf1-f66.google.com with SMTP id u21so185329lfu.1 for ; Tue, 12 Feb 2019 13:46:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=qc/JQZw3gmkWL2JekFJelpqQFnMaClPxNp7MuKyEjuo=; b=OS6pUEM1IjSldhJqaA29zhYHGyvIYaRU2a9KKjtyPdtho4ewrY7TLM/KTwdZ8C9D/k YwLqjSblWc1KGwaT/rgLQ6JjMSPdCbMKiNccKxjpkiStewT7u9nbRUBdYQJiZXWoZpBD f7IB+YX9P8zLLqS8BTW68tTpcPF0BxulG1TiwN4T61QmxrbACDEcWHwJIzXad4GtaLKe hjr06kaPVXiShueNuQkUsRK7V99uaoui1JHJU+ta6gGt7Tu2wdDM28gTCOqnLm7e8qRI 52b7cBvCvUPJqBO/bo5RoSJXuYQZ+E0Jlj/ROz8SkY+EFDG3pBK1LgCEqKJUI67/+KEt 86cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=qc/JQZw3gmkWL2JekFJelpqQFnMaClPxNp7MuKyEjuo=; b=Ay0Q6J1kyhbMeeVoCgUQ1DD5v55WWChYUn8V+eq/8V76fduBVHzUqpw8VWb4jUQHhv rqNZuYqLAQpR4MJR2B7lfeK433j3uj3SZxI+UM2GVbjlplLtxOYx5edyV8sVM3ML6voG Ko/wLTa2JhUkaVe/1DGzE6lyy7RxDjJbIdNZknttKizpxoFZs1cgisQzf4ej1Tqwyqrl B3GiMlYbi5dD0+4wlymMLgxAiI56fIohe/qGe0TS/WPPZ64cFzwLmWNEzTafucFnm8nm g3TTQq3HX86fD3PgRLQG534kSARKh7fnga7kVkEUxEUbSdmLQfPf3+E9SrYpkRtDeCnQ Zggw== X-Gm-Message-State: AHQUAuY6Z4ZAWQ+pv5HU//5JNaKXhMNZMOQlqy0vpX6im7R9qEPSnhxz Cf4wVfXGp/R+XK4NlBq7YiSDK8d2OKc= X-Google-Smtp-Source: AHgI3IZMszbiIWk+Y2Hp0SU5L6lrtQGRH2iz4YnGA7KC5gsRqIrXY8YH7TrwrbhwjVKCIv+V9IKSig== X-Received: by 2002:a19:a211:: with SMTP id l17mr911846lfe.144.1550007976920; Tue, 12 Feb 2019 13:46:16 -0800 (PST) Received: from vkochan-ThinkPad-T470p.lan ([93.75.250.209]) by smtp.gmail.com with ESMTPSA id x16sm2205474lff.72.2019.02.12.13.46.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Feb 2019 13:46:16 -0800 (PST) From: Vadim Kochan To: buildroot@buildroot.org Date: Tue, 12 Feb 2019 23:55:19 +0200 Message-Id: <20190212215520.7422-2-vadim4j@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20190212215520.7422-1-vadim4j@gmail.com> References: <20190212215520.7422-1-vadim4j@gmail.com> Subject: [Buildroot] [PATCH v3 1/2] package/gettext: Turn into virtual package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vadim Kochan , "Yann E . MORIN" , Thomas Petazzoni MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Re-work gettext to be a virtual package which may allow to use different gettext's providers, and rename the original one into gettext-gnu package. Signed-off-by: Vadim Kochan --- .../0001-error_print_progname.patch | 0 .../0002-Update-after-gnulib-changed.patch | 0 .../gettext.hash => gettext-gnu/gettext-gnu.hash} | 0 package/gettext-gnu/gettext-gnu.mk | 103 +++++++++++++++++++++ package/gettext/Config.in | 26 +++++- package/gettext/gettext.mk | 96 +------------------ 6 files changed, 126 insertions(+), 99 deletions(-) rename package/{gettext => gettext-gnu}/0001-error_print_progname.patch (100%) rename package/{gettext => gettext-gnu}/0002-Update-after-gnulib-changed.patch (100%) rename package/{gettext/gettext.hash => gettext-gnu/gettext-gnu.hash} (100%) create mode 100644 package/gettext-gnu/gettext-gnu.mk diff --git a/package/gettext/0001-error_print_progname.patch b/package/gettext-gnu/0001-error_print_progname.patch similarity index 100% rename from package/gettext/0001-error_print_progname.patch rename to package/gettext-gnu/0001-error_print_progname.patch diff --git a/package/gettext/0002-Update-after-gnulib-changed.patch b/package/gettext-gnu/0002-Update-after-gnulib-changed.patch similarity index 100% rename from package/gettext/0002-Update-after-gnulib-changed.patch rename to package/gettext-gnu/0002-Update-after-gnulib-changed.patch diff --git a/package/gettext/gettext.hash b/package/gettext-gnu/gettext-gnu.hash similarity index 100% rename from package/gettext/gettext.hash rename to package/gettext-gnu/gettext-gnu.hash diff --git a/package/gettext-gnu/gettext-gnu.mk b/package/gettext-gnu/gettext-gnu.mk new file mode 100644 index 0000000000..61adf72738 --- /dev/null +++ b/package/gettext-gnu/gettext-gnu.mk @@ -0,0 +1,103 @@ +################################################################################ +# +# gettext-gnu +# +################################################################################ + +GETTEXT_GNU_VERSION = 0.19.8.1 +GETTEXT_GNU_SITE = $(BR2_GNU_MIRROR)/gettext +GETTEXT_GNU_SOURCE = gettext-$(GETTEXT_GNU_VERSION).tar.xz +GETTEXT_GNU_INSTALL_STAGING = YES +GETTEXT_GNU_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest) +GETTEXT_GNU_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB +# 0002-Update-after-gnulib-changed.patch +GETTEXT_GNU_AUTORECONF = YES +GETTEXT_GNU_PROVIDES = gettext +GETTEXT_GNU_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) + +# Avoid using the bundled subset of libxml2 +HOST_GETTEXT_GNU_DEPENDENCIES = host-libxml2 + +GETTEXT_GNU_CONF_OPTS += \ + --disable-libasprintf \ + --disable-acl \ + --disable-openmp \ + --disable-rpath \ + --disable-java \ + --disable-native-java \ + --disable-csharp \ + --disable-relocatable \ + --without-emacs + +HOST_GETTEXT_GNU_CONF_OPTS = \ + --disable-libasprintf \ + --disable-acl \ + --disable-openmp \ + --disable-rpath \ + --disable-java \ + --disable-native-java \ + --disable-csharp \ + --disable-relocatable \ + --without-emacs + +# Force the build of libintl, even if the C library provides a stub +# gettext implementation +ifeq ($(BR2_PACKAGE_GETTEXT_GNU_PROVIDES_LIBINTL),y) +GETTEXT_GNU_CONF_OPTS += --with-included-gettext +else +GETTEXT_GNU_CONF_OPTS += --without-included-gettext +endif + +# For the target version, we only need the runtime, and for the host +# version, we only need the tools. +GETTEXT_GNU_SUBDIR = gettext-runtime +HOST_GETTEXT_GNU_SUBDIR = gettext-tools + +# Disable the build of documentation and examples of gettext-tools, +# and the build of documentation and tests of gettext-runtime. +define HOST_GETTEXT_GNU_DISABLE_UNNEEDED + $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/examples$$//' $(@D)/gettext-tools/Makefile.in + $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/tests$$//' $(@D)/gettext-runtime/Makefile.in +endef + +GETTEXT_GNU_POST_PATCH_HOOKS += HOST_GETTEXT_GNU_DISABLE_UNNEEDED +HOST_GETTEXT_GNU_POST_PATCH_HOOKS += HOST_GETTEXT_GNU_DISABLE_UNNEEDED + +define GETTEXT_GNU_REMOVE_UNNEEDED + $(RM) -rf $(TARGET_DIR)/usr/share/gettext/ABOUT-NLS + rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/gettext +endef + +GETTEXT_GNU_POST_INSTALL_TARGET_HOOKS += GETTEXT_GNU_REMOVE_UNNEEDED + +# Force build with NLS support, otherwise libintl is not built +# This is needed because some packages (eg. libglib2) requires +# locales, but do not properly depend on BR2_ENABLE_LOCALE, and +# instead select BR2_PACKAGE_GETTEXT_GNU. Those packages need to be +# fixed before we can remove the following 3 lines... :-( +ifeq ($(BR2_ENABLE_LOCALE),) +GETTEXT_GNU_CONF_OPTS += --enable-nls +endif + +# Disable interactive confirmation in host gettextize for package fixups +define HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION + $(SED) '/read dummy/d' $(HOST_DIR)/bin/gettextize +endef +HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION + +# autoreconf expects gettextize to install ABOUT-NLS, but it only gets +# installed by gettext-runtime which we don't build/install for the +# host, so do it manually +define HOST_GETTEXT_GNU_ADD_ABOUT_NLS + $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_GNU_SUBDIR)/ABOUT-NLS \ + $(HOST_DIR)/share/gettext/ABOUT-NLS +endef + +HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_ADD_ABOUT_NLS + +ifeq ($(BR2_PACKAGE_GETTEXT_GNU),y) +GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/bin/autom4te $(HOST_DIR)/bin/gettextize -f +endif + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/gettext/Config.in b/package/gettext/Config.in index e55663b1d7..9546468571 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -1,5 +1,12 @@ -config BR2_PACKAGE_GETTEXT +menuconfig BR2_PACKAGE_GETTEXT bool "gettext" + select BR2_PACKAGE_HAS_GETTEXT + +if BR2_PACKAGE_GETTEXT + +config BR2_PACKAGE_GETTEXT_GNU + bool "gettext-gnu" + default y depends on BR2_USE_WCHAR help The GNU `gettext' utilities are a set of tools that provide a @@ -12,14 +19,23 @@ config BR2_PACKAGE_GETTEXT http://www.gnu.org/software/gettext/ -if BR2_PACKAGE_GETTEXT +comment "gettext-gnu needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR config BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL bool default y if BR2_SYSTEM_ENABLE_NLS depends on !BR2_TOOLCHAIN_HAS_FULL_GETTEXT -endif +config BR2_PACKAGE_PROVIDES_GETTEXT + string + default "gettext-gnu" if BR2_PACKAGE_GETTEXT_GNU -comment "gettext needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR +config BR2_PACKAGE_HAS_GETTEXT + bool + +config BR2_PACKAGE_PROVIDES_HOST_GETTEXT + string + default "host-gettext-gnu" + +endif diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index ec9588f8ad..a86e26f69e 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -4,97 +4,5 @@ # ################################################################################ -GETTEXT_VERSION = 0.19.8.1 -GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext -GETTEXT_SOURCE = gettext-$(GETTEXT_VERSION).tar.xz -GETTEXT_INSTALL_STAGING = YES -GETTEXT_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest) -GETTEXT_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB -# 0002-Update-after-gnulib-changed.patch -GETTEXT_AUTORECONF = YES -GETTEXT_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) - -# Avoid using the bundled subset of libxml2 -HOST_GETTEXT_DEPENDENCIES = host-libxml2 - -GETTEXT_CONF_OPTS += \ - --disable-libasprintf \ - --disable-acl \ - --disable-openmp \ - --disable-rpath \ - --disable-java \ - --disable-native-java \ - --disable-csharp \ - --disable-relocatable \ - --without-emacs - -HOST_GETTEXT_CONF_OPTS = \ - --disable-libasprintf \ - --disable-acl \ - --disable-openmp \ - --disable-rpath \ - --disable-java \ - --disable-native-java \ - --disable-csharp \ - --disable-relocatable \ - --without-emacs - -# Force the build of libintl, even if the C library provides a stub -# gettext implementation -ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) -GETTEXT_CONF_OPTS += --with-included-gettext -else -GETTEXT_CONF_OPTS += --without-included-gettext -endif - -# For the target version, we only need the runtime, and for the host -# version, we only need the tools. -GETTEXT_SUBDIR = gettext-runtime -HOST_GETTEXT_SUBDIR = gettext-tools - -# Disable the build of documentation and examples of gettext-tools, -# and the build of documentation and tests of gettext-runtime. -define HOST_GETTEXT_DISABLE_UNNEEDED - $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/examples$$//' $(@D)/gettext-tools/Makefile.in - $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/tests$$//' $(@D)/gettext-runtime/Makefile.in -endef - -GETTEXT_POST_PATCH_HOOKS += HOST_GETTEXT_DISABLE_UNNEEDED -HOST_GETTEXT_POST_PATCH_HOOKS += HOST_GETTEXT_DISABLE_UNNEEDED - -define GETTEXT_REMOVE_UNNEEDED - $(RM) -rf $(TARGET_DIR)/usr/share/gettext/ABOUT-NLS - rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/gettext -endef - -GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_UNNEEDED - -# Force build with NLS support, otherwise libintl is not built -# This is needed because some packages (eg. libglib2) requires -# locales, but do not properly depend on BR2_ENABLE_LOCALE, and -# instead select BR2_PACKAGE_GETTEXT. Those packages need to be -# fixed before we can remove the following 3 lines... :-( -ifeq ($(BR2_ENABLE_LOCALE),) -GETTEXT_CONF_OPTS += --enable-nls -endif - -# Disable interactive confirmation in host gettextize for package fixups -define HOST_GETTEXT_GETTEXTIZE_CONFIRMATION - $(SED) '/read dummy/d' $(HOST_DIR)/bin/gettextize -endef -HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_GETTEXTIZE_CONFIRMATION - -# autoreconf expects gettextize to install ABOUT-NLS, but it only gets -# installed by gettext-runtime which we don't build/install for the -# host, so do it manually -define HOST_GETTEXT_ADD_ABOUT_NLS - $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_SUBDIR)/ABOUT-NLS \ - $(HOST_DIR)/share/gettext/ABOUT-NLS -endef - -HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_ADD_ABOUT_NLS - -GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/bin/autom4te $(HOST_DIR)/bin/gettextize -f - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +$(eval $(virtual-package)) +$(eval $(host-virtual-package)) From patchwork Tue Feb 12 21:55:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 1040872 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="sHEl4zH0"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43zbp85dnwz9s5c for ; Wed, 13 Feb 2019 08:46:40 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id DC7BD2262B; Tue, 12 Feb 2019 21:46:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NfZhvzaBSQKj; Tue, 12 Feb 2019 21:46:26 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 6A73B20242; Tue, 12 Feb 2019 21:46:26 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 751551BF39A for ; Tue, 12 Feb 2019 21:46:25 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 65C6185F5D for ; Tue, 12 Feb 2019 21:46:25 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lQ9WxlggQXco for ; Tue, 12 Feb 2019 21:46:22 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by hemlock.osuosl.org (Postfix) with ESMTPS id BC34D854A1 for ; Tue, 12 Feb 2019 21:46:21 +0000 (UTC) Received: by mail-lf1-f46.google.com with SMTP id n23so171241lfl.4 for ; Tue, 12 Feb 2019 13:46:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ju0Bxax9IU9aXNTW/Yt0f7euNRMZOMWuPVy3ha7pXzg=; b=sHEl4zH01G2iJn4jrsgnTQfGlfDHZRlP+nSM3ggm8g6XHAZNBGE6w7Zwp4zpTPB+kz 3+JCAEKK/9zYpxiMxIZ8RJHKw+LeiiVbpIaLKkfFR/1U8tlzOpNUjri/mqR9DS7o6Xhz kAAtMLysMr+USk1pqC1bvxX+Od+CqjP+XkymABvQHGl7pTfe8eHlIuCemy0a7fOB0W+K PPfPxoVkgAHYXtI/YbLhadcbDs8+W4vt5HXjpxlhubeHbEoLOUEhZ9ofJEAXy4r1FXjY Z/AXzMxObkoRIXc2OOt9xNjF8FAvqOMkGVj6pHptw1fIFA2Cf2z1y88uQxWo3y3ffbkh 9NvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ju0Bxax9IU9aXNTW/Yt0f7euNRMZOMWuPVy3ha7pXzg=; b=ob1LLuepoFbvsPul2aF9LyGNh7plMAdxFWy5LYoDa1FI4Ia+ZUcfBqrKCO38RSMvgh GX6S2VjxheZMb9paedKWH8T8AF8yuwaS5yR5wgxp6TNFndwONKmq9vdUFPiEWTch2C6u DeJe54O84bGa5yxfr8uZIbtsSuDOIxEkQ8Ug/w0dzORLCXca4nOgxNCzEZHLQ1b69as+ Ys3Q/VhEYNGD7lv2u361hhqYNLL37mhViDSULyMDuMeYNpwefvuZ8EGOj+9I2Jq5I5e7 GhasPp3Fzn7QlTdx3bYjr16iKqKcCNGKy/4rHNHwKvVWVvlv3/mhkLK/5/BH4wMbQS1T xDeA== X-Gm-Message-State: AHQUAuZEiZfNhAI9BRkjzVbfWlE+Pvi43AsK1NpS8YY/shkqnsHGQyWp aZ+mWAGWMoWByQrfu+GvS07bSf6TKxE= X-Google-Smtp-Source: AHgI3IaJktqJruSUczZvuCzZw11fML3jNrVqNoQjQ4yB7G84VJgJo5WiH8j86JK+OkgsWz0MhLiCPA== X-Received: by 2002:a19:9dd1:: with SMTP id g200mr3653765lfe.127.1550007978817; Tue, 12 Feb 2019 13:46:18 -0800 (PST) Received: from vkochan-ThinkPad-T470p.lan ([93.75.250.209]) by smtp.gmail.com with ESMTPSA id x16sm2205474lff.72.2019.02.12.13.46.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Feb 2019 13:46:18 -0800 (PST) From: Vadim Kochan To: buildroot@buildroot.org Date: Tue, 12 Feb 2019 23:55:20 +0200 Message-Id: <20190212215520.7422-3-vadim4j@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20190212215520.7422-1-vadim4j@gmail.com> References: <20190212215520.7422-1-vadim4j@gmail.com> Subject: [Buildroot] [PATCH v3 2/2] package/gettext-tiny: Add new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vadim Kochan , "Yann E . MORIN" , Thomas Petazzoni MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Add gettext-tiny package from the sabotage-linux project: gettext-tiny provides lightweight replacements for tools typically used from the GNU gettext suite, which is incredibly bloated and takes a lot of time to build (in the order of an hour on slow devices). the most notable component is msgfmt which is used to create binary translation files in the .mo format out of textual input files in .po format. this is the most important tool for building software from source, because it is used from the build processes of many software packages. Some files were taken from gettext-gnu (some po/* files and gettextize script) to make possible perform gettextizing of packages. The main purpose of gettext-tiny is to replace gettext for the "host" if NLS support is not needed. There is no option to manually select gettext-gnu or gettext-tiny, it is done automatically by virtual gettext package, because there is no reason to have gettext-tiny for the target. Signed-off-by: Vadim Kochan --- DEVELOPERS | 1 + ...-format-not-a-string-literal-error-for-gc.patch | 55 ++ ...ig.rpath-from-gettext-gnu-distro-0.19.8.1.patch | 709 +++++++++++++++++++++ package/gettext-tiny/gettext-tiny.hash | 14 + package/gettext-tiny/gettext-tiny.mk | 104 +++ package/gettext/Config.in | 19 +- 6 files changed, 893 insertions(+), 9 deletions(-) create mode 100644 package/gettext-tiny/0001-libintl-Fix-format-not-a-string-literal-error-for-gc.patch create mode 100644 package/gettext-tiny/0002-Add-config.rpath-from-gettext-gnu-distro-0.19.8.1.patch create mode 100644 package/gettext-tiny/gettext-tiny.hash create mode 100644 package/gettext-tiny/gettext-tiny.mk diff --git a/DEVELOPERS b/DEVELOPERS index c17ba6db99..a8b004b006 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2153,6 +2153,7 @@ F: package/tstools/ N: Vadim Kochan F: package/brcm-patchram-plus/ +F: package/gettext-tiny/ N: Valentin Korenblit F: package/clang/ diff --git a/package/gettext-tiny/0001-libintl-Fix-format-not-a-string-literal-error-for-gc.patch b/package/gettext-tiny/0001-libintl-Fix-format-not-a-string-literal-error-for-gc.patch new file mode 100644 index 0000000000..7f89820e78 --- /dev/null +++ b/package/gettext-tiny/0001-libintl-Fix-format-not-a-string-literal-error-for-gc.patch @@ -0,0 +1,55 @@ +From 34f631ce80700aa1eaadc032026f12f86584bd8a Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Mon, 31 Dec 2018 00:40:29 +0200 +Subject: [PATCH] gettext-tiny: Fix format not a string literal error + +Add 'format_arg' attribute for the functions which may return string +as formatted parameter, otherwise it fails to compile on high versions +of gcc. + +Signed-off-by: Vadim Kochan +--- + include/libintl.h | 27 +++++++++++++++++++++------ + 1 file changed, 21 insertions(+), 6 deletions(-) + +diff --git a/include/libintl.h b/include/libintl.h +index b1af2b4..1883e1b 100644 +--- a/include/libintl.h ++++ b/include/libintl.h +@@ -4,12 +4,27 @@ + #ifdef __cplusplus + extern "C" { + #endif +-char *gettext(const char *msgid); +-char *dgettext(const char *domainname, const char *msgid); +-char *dcgettext(const char *domainname, const char *msgid, int category); +-char *ngettext(const char *msgid1, const char *msgid2, unsigned long n); +-char *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n); +-char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, int category); ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ * its n-th argument literally. This enables GCC to warn for example about ++ * printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++char *gettext(const char *msgid) ++ _INTL_MAY_RETURN_STRING_ARG(1); ++char *dgettext(const char *domainname, const char *msgid) ++ _INTL_MAY_RETURN_STRING_ARG(2); ++char *dcgettext(const char *domainname, const char *msgid, int category) ++ _INTL_MAY_RETURN_STRING_ARG(2); ++char *ngettext(const char *msgid1, const char *msgid2, unsigned long n) ++ _INTL_MAY_RETURN_STRING_ARG(1) _INTL_MAY_RETURN_STRING_ARG(2); ++char *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n) ++ _INTL_MAY_RETURN_STRING_ARG(2) _INTL_MAY_RETURN_STRING_ARG(3); ++char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, int category) ++ _INTL_MAY_RETURN_STRING_ARG(2) _INTL_MAY_RETURN_STRING_ARG(3); + + char *textdomain(const char *domainname); + char *bind_textdomain_codeset(const char *domainname, const char *codeset); +-- +2.14.1 + diff --git a/package/gettext-tiny/0002-Add-config.rpath-from-gettext-gnu-distro-0.19.8.1.patch b/package/gettext-tiny/0002-Add-config.rpath-from-gettext-gnu-distro-0.19.8.1.patch new file mode 100644 index 0000000000..8f64e62462 --- /dev/null +++ b/package/gettext-tiny/0002-Add-config.rpath-from-gettext-gnu-distro-0.19.8.1.patch @@ -0,0 +1,709 @@ +From c69895f748e99e5d714cd219ec767fa0197fc4d0 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Sat, 5 Jan 2019 08:21:27 +0200 +Subject: [PATCH] Add config.rpath from gettext gnu distro 0.19.8.1 + +Some packages during gettextization (like libuio) requires that +config.rpath exists in /share/gettext*/ folder. Because there is no +such file in the gettext gnu repo (because it is added only for the +released tar), so add it manually. + +Signed-off-by: Vadim Kochan +--- + build-aux/config.rpath | 684 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 684 insertions(+) + create mode 100755 build-aux/config.rpath + +diff --git a/build-aux/config.rpath b/build-aux/config.rpath +new file mode 100755 +index 0000000..98183ff +--- /dev/null ++++ b/build-aux/config.rpath +@@ -0,0 +1,684 @@ ++#! /bin/sh ++# Output a system dependent set of variables, describing how to set the ++# run time search path of shared libraries in an executable. ++# ++# Copyright 1996-2016 Free Software Foundation, Inc. ++# Taken from GNU libtool, 2001 ++# Originally by Gordon Matzigkeit , 1996 ++# ++# This file is free software; the Free Software Foundation gives ++# unlimited permission to copy and/or distribute it, with or without ++# modifications, as long as this notice is preserved. ++# ++# The first argument passed to this file is the canonical host specification, ++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM ++# or ++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM ++# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld ++# should be set by the caller. ++# ++# The set of defined variables is at the end of this script. ++ ++# Known limitations: ++# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer ++# than 256 bytes, otherwise the compiler driver will dump core. The only ++# known workaround is to choose shorter directory names for the build ++# directory and/or the installation directory. ++ ++# All known linkers require a '.a' archive for static linking (except MSVC, ++# which needs '.lib'). ++libext=a ++shrext=.so ++ ++host="$1" ++host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++# Code taken from libtool.m4's _LT_CC_BASENAME. ++ ++for cc_temp in $CC""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++done ++cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` ++ ++# Code taken from libtool.m4's _LT_COMPILER_PIC. ++ ++wl= ++if test "$GCC" = yes; then ++ wl='-Wl,' ++else ++ case "$host_os" in ++ aix*) ++ wl='-Wl,' ++ ;; ++ mingw* | cygwin* | pw32* | os2* | cegcc*) ++ ;; ++ hpux9* | hpux10* | hpux11*) ++ wl='-Wl,' ++ ;; ++ irix5* | irix6* | nonstopux*) ++ wl='-Wl,' ++ ;; ++ linux* | k*bsd*-gnu | kopensolaris*-gnu) ++ case $cc_basename in ++ ecc*) ++ wl='-Wl,' ++ ;; ++ icc* | ifort*) ++ wl='-Wl,' ++ ;; ++ lf95*) ++ wl='-Wl,' ++ ;; ++ nagfor*) ++ wl='-Wl,-Wl,,' ++ ;; ++ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) ++ wl='-Wl,' ++ ;; ++ ccc*) ++ wl='-Wl,' ++ ;; ++ xl* | bgxl* | bgf* | mpixl*) ++ wl='-Wl,' ++ ;; ++ como) ++ wl='-lopt=' ++ ;; ++ *) ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ F* | *Sun*Fortran*) ++ wl= ++ ;; ++ *Sun\ C*) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; ++ esac ++ ;; ++ newsos6) ++ ;; ++ *nto* | *qnx*) ++ ;; ++ osf3* | osf4* | osf5*) ++ wl='-Wl,' ++ ;; ++ rdos*) ++ ;; ++ solaris*) ++ case $cc_basename in ++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) ++ wl='-Qoption ld ' ++ ;; ++ *) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; ++ sunos4*) ++ wl='-Qoption ld ' ++ ;; ++ sysv4 | sysv4.2uw2* | sysv4.3*) ++ wl='-Wl,' ++ ;; ++ sysv4*MP*) ++ ;; ++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) ++ wl='-Wl,' ++ ;; ++ unicos*) ++ wl='-Wl,' ++ ;; ++ uts4*) ++ ;; ++ esac ++fi ++ ++# Code taken from libtool.m4's _LT_LINKER_SHLIBS. ++ ++hardcode_libdir_flag_spec= ++hardcode_libdir_separator= ++hardcode_direct=no ++hardcode_minus_L=no ++ ++case "$host_os" in ++ cygwin* | mingw* | pw32* | cegcc*) ++ # FIXME: the MSVC++ port hasn't been tested in a loooong time ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ if test "$GCC" != yes; then ++ with_gnu_ld=no ++ fi ++ ;; ++ interix*) ++ # we just hope/assume this is gcc and not c89 (= MSVC++) ++ with_gnu_ld=yes ++ ;; ++ openbsd*) ++ with_gnu_ld=no ++ ;; ++esac ++ ++ld_shlibs=yes ++if test "$with_gnu_ld" = yes; then ++ # Set some defaults for GNU ld with shared library support. These ++ # are reset later if shared libraries are not supported. Putting them ++ # here allows them to be overridden if necessary. ++ # Unlike libtool, we use -rpath here, not --rpath, since the documented ++ # option of GNU ld is called -rpath, not --rpath. ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ case "$host_os" in ++ aix[3-9]*) ++ # On AIX/PPC, the GNU linker is very broken ++ if test "$host_cpu" != ia64; then ++ ld_shlibs=no ++ fi ++ ;; ++ amigaos*) ++ case "$host_cpu" in ++ powerpc) ++ ;; ++ m68k) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ beos*) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ hardcode_libdir_flag_spec='-L$libdir' ++ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ haiku*) ++ ;; ++ interix[3-9]*) ++ hardcode_direct=no ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ netbsd*) ++ ;; ++ solaris*) ++ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ++ ld_shlibs=no ++ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) ++ case `$LD -v 2>&1` in ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ++ ld_shlibs=no ++ ;; ++ *) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ;; ++ sunos4*) ++ hardcode_direct=yes ++ ;; ++ *) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ if test "$ld_shlibs" = no; then ++ hardcode_libdir_flag_spec= ++ fi ++else ++ case "$host_os" in ++ aix3*) ++ # Note: this linker hardcodes the directories in LIBPATH if there ++ # are no directories specified by -L. ++ hardcode_minus_L=yes ++ if test "$GCC" = yes; then ++ # Neither direct hardcoding nor static linking is supported with a ++ # broken collect2. ++ hardcode_direct=unsupported ++ fi ++ ;; ++ aix[4-9]*) ++ if test "$host_cpu" = ia64; then ++ # On IA64, the linker does run time linking by default, so we don't ++ # have to do anything special. ++ aix_use_runtimelinking=no ++ else ++ aix_use_runtimelinking=no ++ # Test if we are trying to use run time linking or normal ++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we ++ # need to do runtime linking. ++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) ++ for ld_flag in $LDFLAGS; do ++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then ++ aix_use_runtimelinking=yes ++ break ++ fi ++ done ++ ;; ++ esac ++ fi ++ hardcode_direct=yes ++ hardcode_libdir_separator=':' ++ if test "$GCC" = yes; then ++ case $host_os in aix4.[012]|aix4.[012].*) ++ collect2name=`${CC} -print-prog-name=collect2` ++ if test -f "$collect2name" && \ ++ strings "$collect2name" | grep resolve_lib_name >/dev/null ++ then ++ # We have reworked collect2 ++ : ++ else ++ # We have old collect2 ++ hardcode_direct=unsupported ++ hardcode_minus_L=yes ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_libdir_separator= ++ fi ++ ;; ++ esac ++ fi ++ # Begin _LT_AC_SYS_LIBPATH_AIX. ++ echo 'int main () { return 0; }' > conftest.c ++ ${CC} ${LDFLAGS} conftest.c -o conftest ++ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ++}'` ++ if test -z "$aix_libpath"; then ++ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ++}'` ++ fi ++ if test -z "$aix_libpath"; then ++ aix_libpath="/usr/lib:/lib" ++ fi ++ rm -f conftest.c conftest ++ # End _LT_AC_SYS_LIBPATH_AIX. ++ if test "$aix_use_runtimelinking" = yes; then ++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" ++ else ++ if test "$host_cpu" = ia64; then ++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' ++ else ++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" ++ fi ++ fi ++ ;; ++ amigaos*) ++ case "$host_cpu" in ++ powerpc) ++ ;; ++ m68k) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ bsdi[45]*) ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ hardcode_libdir_flag_spec=' ' ++ libext=lib ++ ;; ++ darwin* | rhapsody*) ++ hardcode_direct=no ++ if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ dgux*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ freebsd2.[01]*) ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ ;; ++ freebsd* | dragonfly*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ hpux9*) ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ hpux10*) ++ if test "$with_gnu_ld" = no; then ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ fi ++ ;; ++ hpux11*) ++ if test "$with_gnu_ld" = no; then ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ case $host_cpu in ++ hppa*64*|ia64*) ++ hardcode_direct=no ++ ;; ++ *) ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ esac ++ fi ++ ;; ++ irix5* | irix6* | nonstopux*) ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ netbsd*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ newsos6) ++ hardcode_direct=yes ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ *nto* | *qnx*) ++ ;; ++ openbsd*) ++ if test -f /usr/libexec/ld.so; then ++ hardcode_direct=yes ++ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ else ++ case "$host_os" in ++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ ;; ++ *) ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ esac ++ fi ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ os2*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ osf3*) ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ osf4* | osf5*) ++ if test "$GCC" = yes; then ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ else ++ # Both cc and cxx compiler support -rpath directly ++ hardcode_libdir_flag_spec='-rpath $libdir' ++ fi ++ hardcode_libdir_separator=: ++ ;; ++ solaris*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ ;; ++ sunos4*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ ;; ++ sysv4) ++ case $host_vendor in ++ sni) ++ hardcode_direct=yes # is this really true??? ++ ;; ++ siemens) ++ hardcode_direct=no ++ ;; ++ motorola) ++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie ++ ;; ++ esac ++ ;; ++ sysv4.3*) ++ ;; ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ ld_shlibs=yes ++ fi ++ ;; ++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ++ ;; ++ sysv5* | sco3.2v5* | sco5v6*) ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' ++ hardcode_libdir_separator=':' ++ ;; ++ uts4*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ *) ++ ld_shlibs=no ++ ;; ++ esac ++fi ++ ++# Check dynamic linker characteristics ++# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. ++# Unlike libtool.m4, here we don't care about _all_ names of the library, but ++# only about the one the linker finds when passed -lNAME. This is the last ++# element of library_names_spec in libtool.m4, or possibly two of them if the ++# linker has special search rules. ++library_names_spec= # the last element of library_names_spec in libtool.m4 ++libname_spec='lib$name' ++case "$host_os" in ++ aix3*) ++ library_names_spec='$libname.a' ++ ;; ++ aix[4-9]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ amigaos*) ++ case "$host_cpu" in ++ powerpc*) ++ library_names_spec='$libname$shrext' ;; ++ m68k) ++ library_names_spec='$libname.a' ;; ++ esac ++ ;; ++ beos*) ++ library_names_spec='$libname$shrext' ++ ;; ++ bsdi[45]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ shrext=.dll ++ library_names_spec='$libname.dll.a $libname.lib' ++ ;; ++ darwin* | rhapsody*) ++ shrext=.dylib ++ library_names_spec='$libname$shrext' ++ ;; ++ dgux*) ++ library_names_spec='$libname$shrext' ++ ;; ++ freebsd[23].*) ++ library_names_spec='$libname$shrext$versuffix' ++ ;; ++ freebsd* | dragonfly*) ++ library_names_spec='$libname$shrext' ++ ;; ++ gnu*) ++ library_names_spec='$libname$shrext' ++ ;; ++ haiku*) ++ library_names_spec='$libname$shrext' ++ ;; ++ hpux9* | hpux10* | hpux11*) ++ case $host_cpu in ++ ia64*) ++ shrext=.so ++ ;; ++ hppa*64*) ++ shrext=.sl ++ ;; ++ *) ++ shrext=.sl ++ ;; ++ esac ++ library_names_spec='$libname$shrext' ++ ;; ++ interix[3-9]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ irix5* | irix6* | nonstopux*) ++ library_names_spec='$libname$shrext' ++ case "$host_os" in ++ irix5* | nonstopux*) ++ libsuff= shlibsuff= ++ ;; ++ *) ++ case $LD in ++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; ++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; ++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; ++ *) libsuff= shlibsuff= ;; ++ esac ++ ;; ++ esac ++ ;; ++ linux*oldld* | linux*aout* | linux*coff*) ++ ;; ++ linux* | k*bsd*-gnu | kopensolaris*-gnu) ++ library_names_spec='$libname$shrext' ++ ;; ++ knetbsd*-gnu) ++ library_names_spec='$libname$shrext' ++ ;; ++ netbsd*) ++ library_names_spec='$libname$shrext' ++ ;; ++ newsos6) ++ library_names_spec='$libname$shrext' ++ ;; ++ *nto* | *qnx*) ++ library_names_spec='$libname$shrext' ++ ;; ++ openbsd*) ++ library_names_spec='$libname$shrext$versuffix' ++ ;; ++ os2*) ++ libname_spec='$name' ++ shrext=.dll ++ library_names_spec='$libname.a' ++ ;; ++ osf3* | osf4* | osf5*) ++ library_names_spec='$libname$shrext' ++ ;; ++ rdos*) ++ ;; ++ solaris*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sunos4*) ++ library_names_spec='$libname$shrext$versuffix' ++ ;; ++ sysv4 | sysv4.3*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sysv4*MP*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ library_names_spec='$libname$shrext' ++ ;; ++ tpf*) ++ library_names_spec='$libname$shrext' ++ ;; ++ uts4*) ++ library_names_spec='$libname$shrext' ++ ;; ++esac ++ ++sed_quote_subst='s/\(["`$\\]\)/\\\1/g' ++escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` ++shlibext=`echo "$shrext" | sed -e 's,^\.,,'` ++escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++ ++LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <