From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH 2/8 v3] [x86_64, multilib] Remove all hardcoded paths from glibc.make
Date: Sun, 25 Mar 2012 13:01:46 +0200 [thread overview]
Message-ID: <20120325110146.GD27119@pengutronix.de> (raw)
In-Reply-To: <1332616028-32312-2-git-send-email-linux@bohmer.net>
On Sat, Mar 24, 2012 at 08:07:02PM +0100, Remy Bohmer wrote:
> These hardcoded paths do not work for a multilib environment where
> libraries are typically installed in /lib64 for x86-64 instead of /lib
> All correct paths can be found by interrogating the compiler toolchain
> for the location of these files.
>
> Signed-off-by: Remy Bohmer <linux@bohmer.net>
> ---
> v2: no changes since v1
> v3: rebase of v2 (dropped some changes since they are in mainline already)
>
> rules/glibc.make | 23 +++++++++++------------
> rules/post/install.make | 18 ++++++------------
> scripts/install_copy_toolchain.sh | 2 +-
> 3 files changed, 18 insertions(+), 25 deletions(-)
>
> diff --git a/rules/glibc.make b/rules/glibc.make
> index 2de7a13..0d110ef 100644
> --- a/rules/glibc.make
> +++ b/rules/glibc.make
> @@ -104,33 +104,32 @@ ifdef PTXCONF_GLIBC_NSL
> endif
>
> ifdef PTXCONF_GLIBC_GCONF_BASE
> - @$(call install_copy, glibc, 0, 0, 0755, /usr/lib/gconv)
> - @$(call install_copy_toolchain_lib, glibc, gconv/gconv-modules, /usr/lib/gconv, n)
> + @$(call install_copy_toolchain_lib, glibc, gconv/gconv-modules, n)
> endif
>
> ifdef PTXCONF_GLIBC_GCONV_DEF
> - @$(call install_copy_toolchain_lib, glibc, gconv/ISO8859-1.so, /usr/lib/gconv)
> - @$(call install_copy_toolchain_lib, glibc, gconv/ISO8859-15.so, /usr/lib/gconv)
> + @$(call install_copy_toolchain_lib, glibc, gconv/ISO8859-1.so)
> + @$(call install_copy_toolchain_lib, glibc, gconv/ISO8859-15.so)
> endif
>
> ifdef PTXCONF_GLIBC_GCONV_UTF
> - @$(call install_copy_toolchain_lib, glibc, gconv/UNICODE.so, /usr/lib/gconv)
> - @$(call install_copy_toolchain_lib, glibc, gconv/UTF-16.so, /usr/lib/gconv)
> - @$(call install_copy_toolchain_lib, glibc, gconv/UTF-32.so, /usr/lib/gconv)
> - @$(call install_copy_toolchain_lib, glibc, gconv/UTF-7.so, /usr/lib/gconv)
> + @$(call install_copy_toolchain_lib, glibc, gconv/UNICODE.so)
> + @$(call install_copy_toolchain_lib, glibc, gconv/UTF-16.so)
> + @$(call install_copy_toolchain_lib, glibc, gconv/UTF-32.so)
> + @$(call install_copy_toolchain_lib, glibc, gconv/UTF-7.so)
> endif
>
> ifdef PTXCONF_GLIBC_GCONV_ZH
> - @$(call install_copy_toolchain_lib, glibc, gconv/GBBIG5.so, /usr/lib/gconv)
> - @$(call install_copy_toolchain_lib, glibc, gconv/GB18030.so, /usr/lib/gconv)
> + @$(call install_copy_toolchain_lib, glibc, gconv/GBBIG5.so)
> + @$(call install_copy_toolchain_lib, glibc, gconv/GB18030.so)
> endif
>
> ifdef PTXCONF_GLIBC_I18N_BIN_LOCALE
> - @$(call install_copy_toolchain_usr, glibc, bin/locale)
> + @$(call install_copy_toolchain_lib, glibc, bin/locale)
> endif
This breaks with my toolchain:
[...]
install_copy_toolchain_lib: bin/locale not found
[...]
I guess, in your toolchain this is in lib[64]/bin because you need on for
each.
Michael
>
> ifdef PTXCONF_GLIBC_I18N_BIN_LOCALEDEF
> - @$(call install_copy_toolchain_usr, glibc, bin/localedef)
> + @$(call install_copy_toolchain_lib, glibc, bin/localedef)
> endif
>
> ifdef PTXCONF_GLIBC_I18N_RAWDATA
> diff --git a/rules/post/install.make b/rules/post/install.make
> index 190ec28..cfc73a4 100644
> --- a/rules/post/install.make
> +++ b/rules/post/install.make
> @@ -300,18 +300,15 @@ install_script_replace = \
> #
> # $1: xpkg label
> # $2: source
> -# $3: destination
> -# $4: strip (y|n) default is to strip
> +# $3: strip (y|n) default is to strip
> #
> install_copy_toolchain_lib = \
> XPKG=$(subst _,-,$(strip $(1))); \
> LIB="$(strip $2)"; \
> - DST="$(strip $3)"; \
> - STRIP="$(strip $4)"; \
> - test "$${DST}" != "" && DST="-d $${DST}"; \
> + STRIP="$(strip $3)"; \
> $(call install_check, install_copy_toolchain_lib); \
> ${CROSS_ENV_CC} $(CROSS_ENV_STRIP) PKGDIR="$(PKGDIR)" \
> - $(SCRIPTSDIR)/install_copy_toolchain.sh -p "$${XPKG}" -l "$${LIB}" $${DST} -s "$${STRIP}"
> + $(SCRIPTSDIR)/install_copy_toolchain.sh -p "$${XPKG}" -l "$${LIB}" -s "$${STRIP}"
>
> #
> # install_copy_toolchain_dl
> @@ -331,18 +328,15 @@ install_copy_toolchain_dl = \
> #
> # $1: xpkg label
> # $2: source
> -# $3: destination
> -# $4: strip (y|n) default is to strip
> +# $3: strip (y|n) default is to strip
> #
> install_copy_toolchain_usr = \
> XPKG=$(subst _,-,$(strip $(1))); \
> LIB="$(strip $2)"; \
> - DST="$(strip $3)"; \
> - STRIP="$(strip $4)"; \
> - test "$${DST}" != "" && DST="-d $${DST}"; \
> + STRIP="$(strip $3)"; \
> $(call install_check, install_copy_toolchain_other); \
> ${CROSS_ENV_CC} $(CROSS_ENV_STRIP) PKGDIR="$(PKGDIR)" \
> - $(SCRIPTSDIR)/install_copy_toolchain.sh -p "$${XPKG}" -u "$${LIB}" $${DST} -s "$${STRIP}"
> + $(SCRIPTSDIR)/install_copy_toolchain.sh -p "$${XPKG}" -u "$${LIB}" -s "$${STRIP}"
>
> #
> # install_link
> diff --git a/scripts/install_copy_toolchain.sh b/scripts/install_copy_toolchain.sh
> index 7b91fc4..44c399a 100755
> --- a/scripts/install_copy_toolchain.sh
> +++ b/scripts/install_copy_toolchain.sh
> @@ -101,7 +101,7 @@ ptxd_split_lib_prefix_sysroot_eval() {
> lib_dir="${lib_path%/${lib}}" # abs path to that lib
>
> # try to identify sysroot part of that path
> - for prefix in {/usr,}/lib{64,32,}{/tls,} ""; do
> + for prefix in {/usr,}/lib{64,32,}{/tls,/gconv,/bin,} ""; do
> tmp="${lib_dir%${prefix}}"
> if test "${lib_dir}" != "${tmp}"; then
> break
> --
> 1.7.5.4
>
>
> --
> ptxdist mailing list
> ptxdist@pengutronix.de
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2012-03-25 11:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-24 19:07 [ptxdist] [PATCH 1/8 v3] [x86_64] libgcc need to be install in /lib64 instead of /lib Remy Bohmer
2012-03-24 19:07 ` [ptxdist] [PATCH 2/8 v3] [x86_64, multilib] Remove all hardcoded paths from glibc.make Remy Bohmer
2012-03-25 11:01 ` Michael Olbrich [this message]
2012-03-25 17:34 ` Remy Bohmer
2012-03-26 8:44 ` Michael Olbrich
2012-03-26 10:09 ` Remy Bohmer
2012-03-27 6:23 ` Michael Olbrich
2012-03-27 7:18 ` Remy Bohmer
2012-03-24 19:07 ` [ptxdist] [PATCH 3/8 v3] [x86_64, multilib] Make packages install their libraries at the right place Remy Bohmer
2012-03-25 10:25 ` Michael Olbrich
2012-03-25 10:41 ` Remy Bohmer
2012-03-25 17:43 ` Remy Bohmer
2012-03-25 18:11 ` Remy Bohmer
2012-03-27 14:09 ` Michael Olbrich
2012-03-24 19:07 ` [ptxdist] [PATCH 4/8 v3] [x86_64, multilib] Install Zlib " Remy Bohmer
2012-03-24 19:07 ` [ptxdist] [PATCH 5/8 v3] [x86_64, multilib] Install Ncurses " Remy Bohmer
2012-03-24 19:07 ` [ptxdist] [PATCH 6/8 v3] [x86_64, multilib] Install Util-linux-ng " Remy Bohmer
2012-03-25 10:51 ` Michael Olbrich
2012-03-25 10:55 ` Remy Bohmer
2012-03-24 19:07 ` [ptxdist] [PATCH 7/8 v3] [x86_64, multilib] Install Readline " Remy Bohmer
2012-03-24 19:07 ` [ptxdist] [PATCH 8/8 v3] [x86_64, multilib] Install Procps " Remy Bohmer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120325110146.GD27119@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox