public inbox for libffi-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Joseph Myers <joseph@codesourcery.com>
To: "Maciej W. Rozycki" <macro@wdc.com>
Cc: <gcc-patches@gcc.gnu.org>, <libffi-discuss@sourceware.org>,
	<golang-dev@googlegroups.com>, <zlib@gzip.org>
Subject: Re: [PATCH v2] Add `--with-install-sysroot=' configuration option
Date: Wed, 20 Nov 2019 17:46:00 -0000	[thread overview]
Message-ID: <alpine.DEB.2.21.1911201742380.29882@digraph.polyomino.org.uk> (raw)
In-Reply-To: <alpine.LFD.2.21.1911190134470.13542@redsun52.ssa.fujisawa.hgst.com>

On Wed, 20 Nov 2019, Maciej W. Rozycki wrote:

> > But even then, if you configure GCC using "--with-sysroot" or 
> > "--with-build-sysroot", both of those paths are the top-level sysroot, to 
> > which the sysroot suffix gets appended before GCC uses it for any purpose, 
> > unless you explicitly build using --no-sysroot-suffix.  So I still think 
> > it's natural for a user of GCC's configure scripts to expect the new 
> > option, like the other sysroot-related configure options, also to be one 
> > to which the per-multilib sysroot suffix gets appended before GCC uses it.  
> > And if it's not like that, the documentation needs to say so explicitly.
> 
>  Thanks for your concern, however again, AFAICT this change is tangential 
> to any sysroot suffix, which necessarily has to be already included in the 
> multilib OS directory as given by `-print-multi-os-directory', so that it 
> gets embedded within $toolexeclibdir for the purpose of target library 
> installation across the relevant subdirs, as per this excerpt from 
> `configure' code right after the assignments quoted in the example above:
> 
>     multi_os_directory=`$CC -print-multi-os-directory`
>     case $multi_os_directory in
>       .) ;; # Avoid trailing /.
>       *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
>     esac
> 
> or otherwise the existing arrangement where 
> toolexeclibdir='$(toolexecdir)/lib' wouldn't have worked either (and 
> neither would in the native case where toolexeclibdir='$(libdir)').
> 
>  Does this answer clear your concern?  OK to apply with the documentation 
> thinko fixed?

The answer explains the reasoning behind the design of the option (i.e., 
the design that means it's not particularly useful with sysroot suffixes, 
because the user would still need to relocate libraries manually to the 
correct suffixed sysroot).  It is indeed the case that making a version 
useful with sysroot suffixes would not simply be a configuration change 
but involve changes in the compiler driver to disentangle two different 
uses of multilib OS directory suffixes.

However, it's not enough to answer the question about the semantics of the 
option on the mailing list.  The question is a natural one for anyone who 
knows about sysroot suffixes and is reading the documentation of the 
option.  And so *the actual GCC documentation proposed to be committed*, 
not just explanations on the mailing list that people reading that 
documentation won't see, needs to say explicitly that the OS directory 
suffix is appended to lib/ in the *unsuffixed* sysroot, so that all 
libraries get installed in the same sysroot even if suffixes are in use.

-- 
Joseph S. Myers
joseph@codesourcery.com

  reply	other threads:[~2019-11-20 17:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-14  2:47 [PATCH] " Maciej W. Rozycki
2019-11-14  3:06 ` Joseph Myers
2019-11-18  2:04   ` [PATCH v2] " Maciej W. Rozycki
2019-11-19  0:11     ` Joseph Myers
2019-11-20  2:39       ` Maciej W. Rozycki
2019-11-20 17:46         ` Joseph Myers [this message]
2019-11-22 23:41           ` Maciej W. Rozycki
2019-11-22 23:54             ` Joseph Myers
2019-11-28 20:45               ` Maciej W. Rozycki
2019-11-28 21:06                 ` Joseph Myers

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=alpine.DEB.2.21.1911201742380.29882@digraph.polyomino.org.uk \
    --to=joseph@codesourcery.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=golang-dev@googlegroups.com \
    --cc=libffi-discuss@sourceware.org \
    --cc=macro@wdc.com \
    --cc=zlib@gzip.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).