This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Richard, All, On Sunday 10 January 2010 22:06:43 Richard Strand wrote: > diff -r dbd5078816f9 -r b571c9ad20d5 config/companion_tools.in > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/config/companion_tools.in Sun Jan 10 20:43:44 2010 +0000 > @@ -0,0 +1,29 @@ > +# Companion tools config options > + > +if EXPERIMENTAL Yep, EXPERIMENTAL is OK. > +menu "Companion tools" > + > +config COMP_TOOLS > + bool > + prompt "READ HELP before you say 'Y' here !!!" > + help > + No help yet - continue at your peril! > + > +if COMP_TOOLS > + > +config AUTOCONF > + bool > + prompt "autoconf" > + help > + No help yet > + > +if AUTOCONF > +source config/companion_tools/autoconf.in > +endif No need for sub-files, see below. > +endif > + > +endmenu > + > +endif > diff -r dbd5078816f9 -r b571c9ad20d5 config/companion_tools/autoconf.in > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/config/companion_tools/autoconf.in Sun Jan 10 20:43:44 2010 +0000 > @@ -0,0 +1,19 @@ > +# AUTOCONF options > + > +choice > + bool > + prompt "autoconf version" > +# Don't remove next line > +# CT_INSERT_VERSION_BELOW > + > +config AUTOCONF_V_2_65 > + bool > + prompt "2.65" > + > +endchoice > + > +config AUTOCONF_VERSION > + string > +# Don't remove next line > +# CT_INSERT_VERSION_STRING_BELOW > + default "2.65" if AUTOCONF_V_2_65 We do not need to support multiple versions of the companion tools. We're adding them just so the user does not need to update his/her system. Just use what we need. So, do not bother with a sub-file and sub-options, just hard-code the strictly necessary stuff. Do not do any fancy config/options. > diff -r dbd5078816f9 -r b571c9ad20d5 config/config.in > --- a/config/config.in Sun Jan 10 17:43:23 2010 +0100 > +++ b/config/config.in Sun Jan 10 20:43:44 2010 +0000 > @@ -8,3 +8,4 @@ > source config/debug.in > source config/tools.in > source config/companion_libs.in > +source config/companion_tools.in OK. > diff -r dbd5078816f9 -r b571c9ad20d5 scripts/build/companion_tools/autoconf.sh > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/scripts/build/companion_tools/autoconf.sh Sun Jan 10 20:43:44 2010 +0000 > @@ -0,0 +1,32 @@ > +# Build script for autoconf > + > +do_autoconf_get() { :; } > +do_autoconf_extract() { :; } > +do_autoconf() { :; } > + > +# Overide functions depending on configuration > +if [ "${CT_AUTOCONF}" = "y" ]; then > + > +do_autoconf_get() { > + CT_GetFile "autoconf-${CT_AUTOCONF_VERSION}" {ftp,http}://ftp.gnu.org/gnu/autoconf/ > +} > + > +do_autoconf_extract() { > + CT_Extract "autoconf-${CT_AUTOCONF_VERSION}" > + CT_Patch "autoconf-${CT_AUTOCONF_VERSION}" > +} > + > +do_autoconf() { > + CT_DoStep INFO "Installing autoconf" > + mkdir -p "${CT_BUILD_DIR}/build-autoconf" > + CT_Pushd "${CT_BUILD_DIR}/build-autoconf" > + CT_DoExecLog ALL ${CONFIG_SHELL} \ > + "${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}/configure" \ > + --prefix="${CT_COMP_TOOLS_DIR}" > + CT_DoExecLog ALL make > + CT_DoExecLog ALL make install > + CT_Popd > + CT_EndStep > +} > + > +fi OK. > diff -r dbd5078816f9 -r b571c9ad20d5 scripts/crosstool-NG.sh.in > --- a/scripts/crosstool-NG.sh.in Sun Jan 10 17:43:23 2010 +0100 > +++ b/scripts/crosstool-NG.sh.in Sun Jan 10 20:43:44 2010 +0000 > @@ -126,6 +126,7 @@ > . "${CT_LIB_DIR}/scripts/build/cc/${CT_CC}.sh" > . "${CT_LIB_DIR}/scripts/build/tools.sh" > . "${CT_LIB_DIR}/scripts/build/debug.sh" > +. "${CT_LIB_DIR}/scripts/build/companion_tools/autoconf.sh" > > # Target tuple: CT_TARGET needs a little love: > CT_DoBuildTargetTuple > @@ -504,6 +505,7 @@ > do_libc_get > do_tools_get > do_debug_get > + do_autoconf_get As for the config file, a single do_companion_tools_get() might be better ( a-la do_debug_get() ). Also, the list is in the order components are being built, move the get to the top of the list. > CT_EndStep > fi > > @@ -512,6 +514,16 @@ > CT_DoForceRmdir "${CT_SRC_DIR}" > CT_DoExecLog ALL mkdir -p "${CT_SRC_DIR}" > fi > + > + if [ "${CT_COMP_TOOLS}" = "y" ]; then > + export CT_COMP_TOOLS_DIR="${CT_PREFIX_DIR}/companion_tools" See my previous mail: ${CT_WORK_DIR}/tools The tools are needed only at build-time, not at run-time. See also around line 80 in scripts/crosstool-NG.sh.in: CT_BIN_OVERIDE_DIR="${CT_WORK_DIR}/bin" change into: CT_BIN_OVERIDE_DIR="${CT_WORK_DIR}/tools/bin" > + export PATH="${CT_COMP_TOOLS_DIR}/bin:${PATH}" > + CT_DoStep INFO "Extracting, patching and installing companion tools" > + do_autoconf_extract > + do_autoconf > + CT_EndStep > + fi Move all of this into do_companion_tools_extract() and do_companion_tools(), again, like do_debug_extract() and do_debug(). Look at scripts/build/debug.sh for how it's done in there. Globally, that's pretty good! Keep up the good work! :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | `------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |