From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) by sourceware.org (Postfix) with ESMTPS id 63AFF3858C1F for ; Sat, 29 Oct 2022 15:38:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 63AFF3858C1F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=foss.st.com Received: from pps.filterd (m0288072.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 29T9dnBt005562 for ; Sat, 29 Oct 2022 17:38:09 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=message-id : date : mime-version : subject : to : references : from : in-reply-to : content-type : content-transfer-encoding; s=selector1; bh=oRcfYF5v07NjiGq33iX3e8ZC+J9ttCoEq5G/k8RYnes=; b=EC48f6vGddcCYthpD9of8Cm7uPAQh0CutVCAwTMTkSRNRZ7DP4m7I3br0+zKZp9nur6J +v6LmBTBTDoWgly9eTmtnJDa17iZiuNGaTQ/S7jvohzH4tcp3XF81ITjoRsuvM/yF/Z8 /MtB/p5/vtikXT6DZGnaGHK+RmMFPzTsjvHb/2up9fQNKam8EScriQTgbrw5NXZ8c9HH nES2VB15r0PCTkhYCE66nwFhnVDsiV7gnoFTAJW/gtpc/a063CznVu0U8q7YnEXGaVH1 N8mJ1sZj7/desz8QKUbaH3Og3V4JvF9jEslnmFiZwt0z+MvTvr93HwuA6/rdLlqShKoF PA== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3kh1qq1554-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 29 Oct 2022 17:38:09 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 3529F10003B for ; Sat, 29 Oct 2022 17:38:03 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 319D9228A41 for ; Sat, 29 Oct 2022 17:38:03 +0200 (CEST) Received: from [10.252.5.166] (10.252.5.166) by SHFDAG1NODE3.st.com (10.75.129.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 29 Oct 2022 17:38:02 +0200 Message-ID: <407c1d77-494e-b091-3390-4e8415631056@foss.st.com> Date: Sat, 29 Oct 2022 17:38:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: Generate porting.info in build tree rather than source tree Content-Language: en-US To: References: <123f7625-98be-a5ee-40c7-f743dbc326fa@foss.st.com> From: Torbjorn SVENSSON In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.252.5.166] X-ClientProxiedBy: EQNCAS1NODE4.st.com (10.75.129.82) To SHFDAG1NODE3.st.com (10.75.129.71) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-29_10,2022-10-27_01,2022-06-22_01 X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Mike, Thanks for your reply. On 2022-10-29 15:32, Mike Frysinger wrote: > On 28 Oct 2022 17:40, Torbjorn SVENSSON wrote: >> With the recent improvements in the build system by Mike Frysinger, I've >> noticed a minor regression. > > this is not new behavior. you can check out newlib-4.1.0 which doesn't > contain any of my build changes and it does the same thing. > >> When building newlib, the file libgloss/doc/porting.info is always >> created in the source tree rather than the build tree. Looking at the >> libgloss/Makefile.* files, it appears that this is derived from the >> libgloss/doc/Makefile.inc line: >> info_TEXINFOS += %D%/porting.texi >> >> To my knowledge (no automake wiz...), %D% is a relative path, so I >> suppose the generated path should not use $(srcdir), yet the Makefile.in >> does contain $(srcdir)/doc/porting.info. >> >> Would it be possible to have this porting.info file generated in the >> build tree rather than the source tree to avoid having the source tree >> in a dirty state after a build? > > this is WAI. info files are distributed with releases, so it should be > generated in the source tree. this is documented here: > https://www.gnu.org/prep/standards/html_node/Standard-Targets.html#Standard-Targets >> 'info' >> Normally a GNU distribution comes with Info files, and that means the Info >> files are present in the source directory. Therefore, the Make rule for an >> info file should update it in the source directory. When users build the >> package, ordinarily Make will not update the Info files because they will >> already be up to date. > -mike Okay, so in that case, something changed in the newlib build process to generate and install the porting.info file as it was not required in the Arm snapshot included in their 10.3-2021.10 release (commit 2a3a03972b35377aef8d3d52d873ac3b8fcc512c in newlib tree). You can find the source tree of the 10.3-2021.10 release here: https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-src.tar.bz2 In the tarball, there is a build-toolchain.sh that builds newlib using: $SRCDIR/$NEWLIB/configure \ $NEWLIB_CONFIG_OPTS \ --target=$TARGET \ --prefix=$INSTALLDIR_NATIVE \ --infodir=$INSTALLDIR_NATIVE_DOC/info \ --mandir=$INSTALLDIR_NATIVE_DOC/man \ --htmldir=$INSTALLDIR_NATIVE_DOC/html \ --pdfdir=$INSTALLDIR_NATIVE_DOC/pdf \ --enable-newlib-io-long-long \ --enable-newlib-io-c99-formats \ --enable-newlib-reent-check-verify \ --enable-newlib-register-fini \ --enable-newlib-retargetable-locking \ --disable-newlib-supplied-syscalls \ --disable-nls make -j$JOBS make pdf make html According to the build I did yesterday of a more recent snapshot of newlib (bfee9c6ab0c3c9a5742e84509d01ec6472aa62c4), the porting.info file is generated by the "make -j$JOBS" command. Please note that I do get porting.info, but not libc.info, libm.info or any other .info files in my build. I suppose a build should generate all .info files or none from the source tree? Kind regards, Torbjörn