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 >