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] |
Benoit, All, On Tuesday 24 May 2011 15:06:00 BenoÃt THÃBAUDEAU wrote: > # HG changeset patch > # User "BenoÃt THÃBAUDEAU" <benoit.thebaudeau@advansee.com> > # Date 1306241064 -7200 > # Node ID 185015975b8850bbba70b60047c31085d84a6fee > # Parent 230d50dd23230a2b09fb390d771f5628a1c7342f > kconfig: add version helpers > > This script adds several helpers to handle configured tool versions. script --> patch. ;-) > Signed-off-by: "BenoÃt THÃBAUDEAU" <benoit.thebaudeau@advansee.com> > > diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in > --- a/config/binutils/binutils.in > +++ b/config/binutils/binutils.in > @@ -17,22 +17,27 @@ > config BINUTILS_V_2_20_1 > bool > prompt "2.20.1" > + select BINUTILS_2_20_or_later [--SNIP--] > @@ -61,9 +66,25 @@ > > config BINUTILS_2_21_or_later > bool > + default n 'default n' is unneeded, it is the default. > + select BINUTILS_2_20_or_later This scheme does not work when a newer version ceases to support a feature of older versions. The way I've been going with gcc is to have a kind of 'version familly' that selects the supported features, plus the _or_later stuff. Eg.: config BINUTILS_HAS_PKG_VERSION_BUGURL bool config BINUTILS_2_20_or_later bool default n select BINUTILS_HAS_PKG_VERSION_BUGURL And then in the script: if [ "${CT_BINUTILS_HAS_PKG_VERSION_BUGURL}" = "y" ]; then foo bar fi This is more explicit, I think. [--SNIP--] > diff --git a/config/libc/eglibc.in b/config/libc/eglibc.in > --- a/config/libc/eglibc.in > +++ b/config/libc/eglibc.in And what about glibc? [--SNIP--] > diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh > --- a/scripts/addToolVersion.sh > +++ b/scripts/addToolVersion.sh > @@ -114,6 +114,36 @@ > SedExpr1="${SedExpr1}\n select CC_GCC_4_2" > fi > ;; > + binutils) > + # Extract 'M'ajor and 'm'inor from version string > + ver_M=$(echo "${version}...." |cut -d . -f 1) > + ver_m=$(echo "${version}...." |cut -d . -f 2) Code duplication, please make it a function that does the split... > + if [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 21 \) ]; then > + SedExpr1="${SedExpr1}\n select BINUTILS_2_21_or_later" > + elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 20 \) ]; then > + SedExpr1="${SedExpr1}\n select BINUTILS_2_20_or_later" > + elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 19 \) ]; then > + SedExpr1="${SedExpr1}\n select BINUTILS_2_19_or_later" > + elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 18 \) ]; then > + SedExpr1="${SedExpr1}\n select BINUTILS_2_18_or_later" > + fi > + ;; > + eglibc) > + # Extract 'M'ajor and 'm'inor from version string > + ver_M=$(echo "${version}...." |cut -d . -f 1) > + ver_m=$(echo "${version}...." |cut -d . -f 2) ... and use it here and everywhere we need to split ${version}... > + if [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 13 \) ]; then > + SedExpr1="${SedExpr1}\n select LIBC_EGLIBC_2_13_or_later" > + elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 12 \) ]; then > + SedExpr1="${SedExpr1}\n select LIBC_EGLIBC_2_12_or_later" > + elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 11 \) ]; then > + SedExpr1="${SedExpr1}\n select LIBC_EGLIBC_2_11_or_later" > + elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 10 \) ]; then > + SedExpr1="${SedExpr1}\n select LIBC_EGLIBC_2_10_or_later" > + elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 9 \) ]; then > + SedExpr1="${SedExpr1}\n select LIBC_EGLIBC_2_9_or_later" > + fi > + ;; > uClibc) > # uClibc-0.9.30 and above need some love > ver_M=$(echo "${version}...." |cut -d . -f 1) ... here for example. 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] |