From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 72519 invoked by alias); 20 Nov 2019 17:46:49 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 72504 invoked by uid 89); 20 Nov 2019 17:46:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.1 spammy=HX-Languages-Length:2715 X-HELO: esa2.mentor.iphmx.com Received: from esa2.mentor.iphmx.com (HELO esa2.mentor.iphmx.com) (68.232.141.98) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 20 Nov 2019 17:46:48 +0000 IronPort-SDR: bxwoCSgij222u0EMJrAat5daRE8JbGEdu27DUxUWVBOtaSFZzgca6D4TDs95tp8PC3avyMczho CSbgSTNFso2FgZSdS7vBmR27jdf/FOXOOyGvJb6Ixg4DvOYz4qZ3coFcMTzr+wuWyyQVWO5Sp0 zN61hz5IIVm5GWn/phyYmefBI5Oxktlrhb21Ep/fWd1ycfuZ9bSvzoW/lSsv6YETQMbjTroTMz J+FpdRYQMl1ErLcxMXvnR/j3ogRx/LbOR2Q9CWMH1XHjqejSpCKaq+PFjU8i1fQN4SpOp/xaR8 Nk0= Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 20 Nov 2019 09:46:46 -0800 IronPort-SDR: KO3BAVTsxtIOTXnfF6edWxpa5BP8RiRTBNq8d227GOxHcVieVWCJi3x88tdCCu/Q4zMc6d+vm8 rbtRULZ4Rl1RuEki4DtecbUhH3MM6Tgz222CnCdNF+oXftr3rk9z1XcAleAmeYyuocFsePWTfy uanKeyf+Fs8jxJKGDrwNNSWkUefv2O9eiT4XkI32pvyPUuhnjIsHHfi3LdIZfkHMV1EGe//D7M toAEgKAiG0xwBkVtRoIeOXsstkvvooU4qj7riDQGfZSIUZHE4bH5V5ir3/GYZv3cg+frQbdf81 U9w= Date: Wed, 20 Nov 2019 17:46:00 -0000 From: Joseph Myers To: "Maciej W. Rozycki" CC: , , , Subject: Re: [PATCH v2] Add `--with-install-sysroot=' configuration option In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Return-Path: joseph@codesourcery.com X-SW-Source: 2019/txt/msg00085.txt.bz2 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