[PATCH v2 1/1] configure.ac: configurable tooldir install path
Frager, Neal
neal.frager@amd.com
Tue Jan 9 15:35:58 GMT 2024
Hi Thomas,
> Le 9 janv. 2024 à 15:18, Frager, Neal <neal.frager@amd.com> 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 <neal.frager@amd.com>
>> Co-developed-by: Chris Wardman <cjwfirmware@vxmdesign.com>
>> ---
>> 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
>
More information about the Newlib
mailing list