Re: [PATCH v2 1/1] configure.ac: configurable tooldir install path

"Frager, Neal" <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Hi Thomas,

> Le 9 janv. 2024 à 15:18, Frager, Neal <[email protected]> a écrit :
> 
> Hi Jeff, Thomas,
> 
> Thank you both for your assistance with the patch below.
> 
> I am now dealing with a version conflict between newlib and buildroot.
> I hope you can help me find the best solution for it.
> 
> On my machine, I have tested the patch below using autoconf 2.69.
> 
> However, the goal is for this patch is to ultimately integrate with
> buildroot.
> 
> Currently, buildroot hardcodes the autoconf version that it builds
> and uses to version 2.71.
> 
> But with autoconf version 2.71, I get the following error from the
> newlib configure.ac because it requires specifically version 2.69:
> 
>>>> newlib-bare-metal 4.3.0 Autoreconfiguring
> configure.ac:34: error: Please use exactly Autoconf 2.69 instead of 2.71.
> config/override.m4:12: _GCC_AUTOCONF_VERSION_CHECK is expanded from...
> configure.ac:34: the top level
> 
> As you are newlib and buildroot maintainers, could you
> please help me with guidance about how to resolve this
> issue?  
> 
> I can easily make a patch to make the autoconf version used
> by buildroot configurable, but I would like your opinions
> before I proceed.
> 

I do have another idea.  Once a version
of this patch gets applied to newlib, I
could make a separate patch for buildroot
that patches the output configure file to match the one that gets generated by autoreconf
version 2.69.

This way, we can use a separate patch
for buildroot that creates the correct
output configure file without invoking
autoreconf as a build step.

And eventually, we remove the patch from
buildroot when we can update to a newer
release version of newlib which no longer
requires a patch.

What do you think of this solution?

Best regards,
Neal Frager
AMD

> Thank you again for your support!
> 
> Best regards,
> Neal Frager
> AMD
> 
>> This patch is required to fix how the newlib headers are installed
>> when using a sysroot install directory.
> 
>> The cross compiler expects headers to be in
>> .../host/usr/arm-none-eabi/sysroot/usr/include/newlib.h
>> by default newlib installed the headers into
>> .../host/usr/arm-none-eabi/sysroot/usr/arm-none-eabi/include/newlib.h
> 
>> ${exec_prefix} provides the .../host/usr/arm-none-eabi/sysroot path
>> ${target_noncanonical} provides an extra arm-none-eabi/ that must be removed.
> 
>> With this patch, users can specify the tooldir path that is needed.
> 
>> Signed-off-by: Neal Frager <[email protected]>
>> Co-developed-by: Chris Wardman <[email protected]>
>> ---
>> V1->V2:
>> - migrated patch to configure.ac
>> - changed option name to --with-tooldir=PATH
>> ---
>> configure.ac | 13 ++++++++++++-
>> 1 file changed, 12 insertions(+), 1 deletion(-)
> 
>> diff --git a/configure.ac b/configure.ac
>> index f1bb72100..9a01c1562 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -2599,7 +2599,18 @@ esac
> 
>> # Some systems (e.g., one of the i386-aix systems the gas testers are
>> # using) don't handle "\$" correctly, so don't use it here.
>> -tooldir='${exec_prefix}'/${target_noncanonical}
>> +AC_ARG_WITH([tooldir],
>> +  [AS_HELP_STRING([--with-tooldir=PATH],
>> +          [use given path to install target tools after build])],
>> +  [case x"$withval" in
>> +     x/*) ;;
>> +     *)
>> +       with_tooldir=
>> +       AC_MSG_WARN([argument to --with-tooldir must be an absolute path])
>> +       ;;
>> +   esac],
>> +  [with_tooldir='${exec_prefix}'/${target_noncanonical}])
>> +tooldir='${with_tooldir}'
>> build_tooldir=${tooldir}
> 
>> # Create a .gdbinit file which runs the one in srcdir
>> --
>> 2.25.1
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.