diff options
-rw-r--r-- | config/companion_tools.in | 36 | ||||
-rw-r--r-- | config/companion_tools/autoconf.in | 26 | ||||
-rw-r--r-- | config/companion_tools/automake.in | 36 | ||||
-rw-r--r-- | config/companion_tools/libtool.in | 21 | ||||
-rw-r--r-- | config/companion_tools/m4.in | 26 | ||||
-rw-r--r-- | config/companion_tools/make.in | 41 | ||||
-rw-r--r-- | config/config.mk | 19 | ||||
-rw-r--r-- | configure.ac | 14 | ||||
-rwxr-xr-x | scripts/addToolVersion.sh | 57 | ||||
-rw-r--r-- | scripts/build/companion_tools/050-make.sh | 4 | ||||
-rw-r--r-- | scripts/build/companion_tools/100-m4.sh | 2 | ||||
-rw-r--r-- | scripts/build/companion_tools/200-autoconf.sh | 2 | ||||
-rw-r--r-- | scripts/build/companion_tools/300-automake.sh | 2 | ||||
-rw-r--r-- | scripts/build/companion_tools/400-libtool.sh | 2 |
14 files changed, 211 insertions, 77 deletions
diff --git a/config/companion_tools.in b/config/companion_tools.in index f922388..ece3552 100644 --- a/config/companion_tools.in +++ b/config/companion_tools.in @@ -2,14 +2,9 @@ menu "Companion tools" -# Tools that require make-3.81 to build should select this: -config COMP_TOOLS_make_3_81_NEEDED - bool - config COMP_TOOLS_FORCE_make_3_81 def_bool y - depends on COMP_TOOLS_make_3_81_NEEDED - depends on ! CONFIGURE_has_make381 + depends on ! CONFIGURE_has_make_3_81_or_newer select COMP_TOOLS select COMP_TOOLS_make @@ -20,7 +15,7 @@ config COMP_TOOLS prompt "Build some companion tools" help Crosstool-NG relies on some external tools to be recent enough, namely: - make = 3.81 (in some cases) + make >= 3.81 m4 >= 1.4.12 autoconf >= 2.63 automake >= 1.10.2 @@ -30,32 +25,7 @@ config COMP_TOOLS but you are strongly encouraged to update your system instead! if COMP_TOOLS - -config COMP_TOOLS_make - bool - prompt "make" - -config COMP_TOOLS_make_gmake - bool - prompt "Add gmake symlink to companion gnu/make" - depends on COMP_TOOLS_make - -config COMP_TOOLS_m4 - bool - prompt "m4" - -config COMP_TOOLS_autoconf - bool - prompt "autoconf" - -config COMP_TOOLS_automake - bool - prompt "automake" - -config COMP_TOOLS_libtool - bool - prompt "libtool" - +source "config.gen/companion_tools.in" endif endmenu diff --git a/config/companion_tools/autoconf.in b/config/companion_tools/autoconf.in new file mode 100644 index 0000000..3b33df6 --- /dev/null +++ b/config/companion_tools/autoconf.in @@ -0,0 +1,26 @@ +# Autoconf + +## help Autoconf + +choice + bool + prompt "Autoconf version" +# Don't remove next line +# CT_INSERT_VERSION_BELOW + +config AUTOCONF_V_2_69 + bool + prompt "2.69" + +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.69" if AUTOCONF_V_2_69 + default "2.65" if AUTOCONF_V_2_65 diff --git a/config/companion_tools/automake.in b/config/companion_tools/automake.in new file mode 100644 index 0000000..500ae14 --- /dev/null +++ b/config/companion_tools/automake.in @@ -0,0 +1,36 @@ +# Automake + +## help Automake + +choice + bool + prompt "Automake version" +# Don't remove next line +# CT_INSERT_VERSION_BELOW + +config AUTOMAKE_V_1_15 + bool + prompt "1.15" + +config AUTOMAKE_V_1_14 + bool + prompt "1.14" + +config AUTOMAKE_V_1_11_6 + bool + prompt "1.11.6" + +config AUTOMAKE_V_1_11_1 + bool + prompt "1.11.1" + +endchoice + +config AUTOMAKE_VERSION + string +# Don't remove next line +# CT_INSERT_VERSION_STRING_BELOW + default "1.15" if AUTOMAKE_V_1_15 + default "1.14" if AUTOMAKE_V_1_14 + default "1.11.6" if AUTOMAKE_V_1_11_6 + default "1.11.1" if AUTOMAKE_V_1_11_1 diff --git a/config/companion_tools/libtool.in b/config/companion_tools/libtool.in new file mode 100644 index 0000000..62e6ee1 --- /dev/null +++ b/config/companion_tools/libtool.in @@ -0,0 +1,21 @@ +# Libtool + +## help Libtool + +choice + bool + prompt "Libtool version" +# Don't remove next line +# CT_INSERT_VERSION_BELOW + +config LIBTOOL_V_2_4_6 + bool + prompt "2.4.6" + +endchoice + +config LIBTOOL_VERSION + string +# Don't remove next line +# CT_INSERT_VERSION_STRING_BELOW + default "2.4.6" if LIBTOOL_V_2_4_6 diff --git a/config/companion_tools/m4.in b/config/companion_tools/m4.in new file mode 100644 index 0000000..b99a466 --- /dev/null +++ b/config/companion_tools/m4.in @@ -0,0 +1,26 @@ +# GNU m4 + +## help GNU m4 + +choice + bool + prompt "m4 version" +# Don't remove next line +# CT_INSERT_VERSION_BELOW + +config M4_V_1_4_17 + bool + prompt "1.4.17" + +config M4_V_1_4_13 + bool + prompt "1.4.13" + +endchoice + +config M4_VERSION + string +# Don't remove next line +# CT_INSERT_VERSION_STRING_BELOW + default "1.4.17" if M4_V_1_4_17 + default "1.4.13" if M4_V_1_4_13 diff --git a/config/companion_tools/make.in b/config/companion_tools/make.in new file mode 100644 index 0000000..0935cd8 --- /dev/null +++ b/config/companion_tools/make.in @@ -0,0 +1,41 @@ +# GNU make + +## help GNU make + +choice + bool + prompt "make version" +# Don't remove next line +# CT_INSERT_VERSION_BELOW + +config MAKE_V_4_2_1 + bool + prompt "4.2.1" + +config MAKE_V_4_1 + bool + prompt "4.1" + +config MAKE_V_4_0 + bool + prompt "4.0" + +config MAKE_V_3_81 + bool + prompt "3.81" + +endchoice + +config MAKE_GMAKE_SYMLINK + bool + prompt "Add gmake symlink to companion gnu/make" + depends on COMP_TOOLS_make + +config MAKE_VERSION + string +# Don't remove next line +# CT_INSERT_VERSION_STRING_BELOW + default "4.2.1" if MAKE_V_4_2_1 + default "4.1" if MAKE_V_4_1 + default "4.0" if MAKE_V_4_0 + default "3.81" if MAKE_V_3_81 diff --git a/config/config.mk b/config/config.mk index 669e157..670ecba 100644 --- a/config/config.mk +++ b/config/config.mk @@ -26,14 +26,16 @@ BINUTILS_CONFIG_FILES_2 = $(patsubst $(CT_LIB_DIR)/%,%,$(sort $(wildcard $(CT_LI LIBC_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(sort $(wildcard $(CT_LIB_DIR)/config/libc/*.in))) LIBC_CONFIG_FILES_2 = $(patsubst $(CT_LIB_DIR)/%,%,$(sort $(wildcard $(CT_LIB_DIR)/config/libc/*.in.2))) DEBUG_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(sort $(wildcard $(CT_LIB_DIR)/config/debug/*.in))) +COMP_TOOLS_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(sort $(wildcard $(CT_LIB_DIR)/config/companion_tools/*.in))) # Build the list of generated config files -GEN_CONFIG_FILES = config.gen/arch.in \ - config.gen/kernel.in \ - config.gen/cc.in \ - config.gen/binutils.in \ - config.gen/libc.in \ - config.gen/debug.in +GEN_CONFIG_FILES = config.gen/arch.in \ + config.gen/kernel.in \ + config.gen/cc.in \ + config.gen/binutils.in \ + config.gen/libc.in \ + config.gen/debug.in \ + config.gen/companion_tools.in # ... and how to access them: # Generated files depends on the gen_in_frags script because it has the # functions needed to build the genrated files, and thus they might need @@ -67,6 +69,7 @@ CCS = $(patsubst config/cc/%.in,%,$(CC_CONFIG_FILES)) BINUTILSS = $(patsubst config/binutils/%.in,%,$(BINUTILS_CONFIG_FILES)) LIBCS = $(patsubst config/libc/%.in,%,$(LIBC_CONFIG_FILES)) DEBUGS = $(patsubst config/debug/%.in,%,$(DEBUG_CONFIG_FILES)) +COMP_TOOLS= $(patsubst config/companion_tools/%.in,%,$(COMP_TOOLS_CONFIG_FILES)) #----------------------------------------------------------- # The rules for the generated config files @@ -97,6 +100,10 @@ config.gen/debug.in: $(DEBUG_CONFIG_FILES) @$(CT_ECHO) ' IN $(@)' $(SILENT)$(CT_LIB_DIR)/scripts/gen_in_frags.sh menu "$@" "Debug facilities" "DEBUG" "config/debug" $(DEBUGS) +config.gen/companion_tools.in: $(COMP_TOOLS_CONFIG_FILES) + @$(CT_ECHO) ' IN $(@)' + $(SILENT)$(CT_LIB_DIR)/scripts/gen_in_frags.sh menu "$@" "Companion tools" "COMP_TOOLS" "config/companion_tools" $(COMP_TOOLS) + #----------------------------------------------------------- # Cleaning up the mess... diff --git a/configure.ac b/configure.ac index 8651015..492d315 100644 --- a/configure.ac +++ b/configure.ac @@ -241,19 +241,21 @@ AC_CACHE_CHECK([for GNU make >= 3.80], [ac_cv_path_MAKE], AC_SUBST([MAKE], [$ac_cv_path_MAKE]) AC_PROG_MAKE_SET -# Check for GNU make 3.81 exactly, otherwise +# Check for GNU make 3.81 or newer, otherwise # it will be built as a companion tool. -AC_MSG_CHECKING([for make 3.81]) +AC_MSG_CHECKING([if make is 3.81 or newer]) AS_IF( - [test "$MAKE_ver" = "GNU Make 3.81"], - [make381="y" + [[MAKE_ver2=$(echo "$MAKE_ver" \ + |$EGREP '^GNU Make (3.81|3.9[0-9]|[4-9])') + test -n "$MAKE_ver2"]], + [make_3_81_or_newer="y" AC_MSG_RESULT([yes]) ], - [make381= + [make_3_81_or_newer= AC_MSG_RESULT([no]) ] ) -ACX_SET_KCONFIG_OPTION([make381]) +ACX_SET_KCONFIG_OPTION([make_3_81_or_newer]) #---------------------------------------- # Check for libtool >= 1.5.26 diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh index 72baac0..643dcbb 100755 --- a/scripts/addToolVersion.sh +++ b/scripts/addToolVersion.sh @@ -143,6 +143,16 @@ addToolVersion() { SedExpr1="${SedExpr1}\n select LIBC_UCLIBC_0_9_33_2_or_later" fi ;; + uClibc-ng) + # uClibc-ng-1.0.15 changed threading configuration, no longer compatible + # with the rest of uClibc gang. + ver_M=$(getVersionField "${version}" . 1) + ver_m=$(getVersionField "${version}" . 2) + ver_p=$(getVersionField "${version}" . 3) + if [ ${ver_M} -eq 0 -a ${ver_m} -eq 9 -a ${ver_p} -eq 33 ]; then + SedExpr1="${SedExpr1}\n select LIBC_UCLIBC_NG_1_0_15_or_later" + fi + ;; gdb) # gdb-7.0 and above have special handling ver_M=$(getVersionField "${version}" . 1) @@ -175,27 +185,32 @@ fi while [ $# -gt 0 ]; do case "$1" in # Tools: - --gcc) EXP=; OBS=; cat=CC_GCC; tool=gcc; tool_prefix=cc; dot2suffix=;; - --binutils) EXP=; OBS=; cat=BINUTILS; tool=binutils; tool_prefix=binutils; dot2suffix=;; - --glibc) EXP=; OBS=; cat=LIBC_GLIBC; tool=glibc; tool_prefix=libc; dot2suffix=;; - --uClibc) EXP=; OBS=; cat=LIBC_UCLIBC; tool=uClibc; tool_prefix=libc; dot2suffix=;; - --uClibc-ng)EXP=; OBS=; cat=LIBC_UCLIBC_NG; tool=uClibc; tool_prefix=libc; dot2suffix=;; - --newlib) EXP=; OBS=; cat=LIBC_NEWLIB; tool=newlib; tool_prefix=libc; dot2suffix=;; - --mingw-w64)EXP=; OBS=; cat=WINAPI; tool=mingw; tool_prefix=libc; dot2suffix=;; - --linux) EXP=; OBS=; cat=KERNEL; tool=linux; tool_prefix=kernel; dot2suffix=;; - --gdb) EXP=; OBS=; cat=GDB; tool=gdb; tool_prefix=debug; dot2suffix=;; - --dmalloc) EXP=; OBS=; cat=DMALLOC; tool=dmalloc; tool_prefix=debug; dot2suffix=;; - --duma) EXP=; OBS=; cat=DUMA; tool=duma; tool_prefix=debug; dot2suffix=;; - --strace) EXP=; OBS=; cat=STRACE; tool=strace; tool_prefix=debug; dot2suffix=;; - --ltrace) EXP=; OBS=; cat=LTRACE; tool=ltrace; tool_prefix=debug; dot2suffix=;; - --gmp) EXP=; OBS=; cat=GMP; tool=gmp; tool_prefix=companion_libs; dot2suffix=;; - --mpfr) EXP=; OBS=; cat=MPFR; tool=mpfr; tool_prefix=companion_libs; dot2suffix=;; - --isl) EXP=; OBS=; cat=ISL; tool=isl; tool_prefix=companion_libs; dot2suffix=;; - --cloog) EXP=; OBS=; cat=CLOOG; tool=cloog; tool_prefix=companion_libs; dot2suffix=;; - --mpc) EXP=; OBS=; cat=MPC; tool=mpc; tool_prefix=companion_libs; dot2suffix=;; - --libelf) EXP=; OBS=; cat=LIBELF; tool=libelf; tool_prefix=companion_libs; dot2suffix=;; - --expat) EXP=; OBS=; cat=EXPAT; tool=expat; tool_prefix=companion_libs; dot2suffix=;; - --ncurses) EXP=; OBS=; cat=NCURSES; tool=ncurses; tool_prefix=companion_libs; dot2suffix=;; + --gcc) EXP=; OBS=; cat=CC_GCC; tool=gcc; tool_prefix=cc; dot2suffix=;; + --binutils) EXP=; OBS=; cat=BINUTILS; tool=binutils; tool_prefix=binutils; dot2suffix=;; + --glibc) EXP=; OBS=; cat=LIBC_GLIBC; tool=glibc; tool_prefix=libc; dot2suffix=;; + --uClibc) EXP=; OBS=; cat=LIBC_UCLIBC; tool=uClibc; tool_prefix=libc; dot2suffix=;; + --uClibc-ng)EXP=; OBS=; cat=LIBC_UCLIBC_NG; tool=uClibc; tool_prefix=libc; dot2suffix=;; + --newlib) EXP=; OBS=; cat=LIBC_NEWLIB; tool=newlib; tool_prefix=libc; dot2suffix=;; + --mingw-w64)EXP=; OBS=; cat=WINAPI; tool=mingw; tool_prefix=libc; dot2suffix=;; + --linux) EXP=; OBS=; cat=KERNEL; tool=linux; tool_prefix=kernel; dot2suffix=;; + --gdb) EXP=; OBS=; cat=GDB; tool=gdb; tool_prefix=debug; dot2suffix=;; + --dmalloc) EXP=; OBS=; cat=DMALLOC; tool=dmalloc; tool_prefix=debug; dot2suffix=;; + --duma) EXP=; OBS=; cat=DUMA; tool=duma; tool_prefix=debug; dot2suffix=;; + --strace) EXP=; OBS=; cat=STRACE; tool=strace; tool_prefix=debug; dot2suffix=;; + --ltrace) EXP=; OBS=; cat=LTRACE; tool=ltrace; tool_prefix=debug; dot2suffix=;; + --gmp) EXP=; OBS=; cat=GMP; tool=gmp; tool_prefix=companion_libs; dot2suffix=;; + --mpfr) EXP=; OBS=; cat=MPFR; tool=mpfr; tool_prefix=companion_libs; dot2suffix=;; + --isl) EXP=; OBS=; cat=ISL; tool=isl; tool_prefix=companion_libs; dot2suffix=;; + --cloog) EXP=; OBS=; cat=CLOOG; tool=cloog; tool_prefix=companion_libs; dot2suffix=;; + --mpc) EXP=; OBS=; cat=MPC; tool=mpc; tool_prefix=companion_libs; dot2suffix=;; + --libelf) EXP=; OBS=; cat=LIBELF; tool=libelf; tool_prefix=companion_libs; dot2suffix=;; + --expat) EXP=; OBS=; cat=EXPAT; tool=expat; tool_prefix=companion_libs; dot2suffix=;; + --ncurses) EXP=; OBS=; cat=NCURSES; tool=ncurses; tool_prefix=companion_libs; dot2suffix=;; + --make) EXP=; OBS=; cat=MAKE; tool=make; tool_prefix=companion_tools; dot2suffix=;; + --m4) EXP=; OBS=; cat=M4; tool=m4; tool_prefix=companion_tools; dot2suffix=;; + --autoconf) EXP=; OBS=; cat=AUTOCONF; tool=autoconf; tool_prefix=companion_tools; dot2suffix=;; + --automake) EXP=; OBS=; cat=AUTOMAKE; tool=automake; tool_prefix=companion_tools; dot2suffix=;; + --libtool) EXP=; OBS=; cat=LIBTOOL; tool=libtool; tool_prefix=companion_tools; dot2suffix=;; # Tools options: -x|--experimental|+s) EXP=1;; diff --git a/scripts/build/companion_tools/050-make.sh b/scripts/build/companion_tools/050-make.sh index 4247545..9458a25 100644 --- a/scripts/build/companion_tools/050-make.sh +++ b/scripts/build/companion_tools/050-make.sh @@ -1,7 +1,5 @@ # Build script for make -CT_MAKE_VERSION=3.81 - do_companion_tools_make_get() { CT_GetFile "make-${CT_MAKE_VERSION}" \ {http,ftp,https}://ftp.gnu.org/gnu/make @@ -22,7 +20,7 @@ do_companion_tools_make_build() { --prefix="${CT_BUILDTOOLS_PREFIX_DIR}" CT_DoExecLog ALL make CT_DoExecLog ALL make install - if [ "${CT_COMP_TOOLS_make_gmake}" = "y" ]; then + if [ "${CT_MAKE_GMAKE_SYMLINK}" = "y" ]; then CT_DoExecLog ALL ln -sv make "${CT_BUILDTOOLS_PREFIX_DIR}/bin/gmake" fi CT_Popd diff --git a/scripts/build/companion_tools/100-m4.sh b/scripts/build/companion_tools/100-m4.sh index dd8380e..83ab815 100644 --- a/scripts/build/companion_tools/100-m4.sh +++ b/scripts/build/companion_tools/100-m4.sh @@ -1,7 +1,5 @@ # Build script for m4 -CT_M4_VERSION=1.4.13 - do_companion_tools_m4_get() { CT_GetFile "m4-${CT_M4_VERSION}" \ {http,ftp,https}://ftp.gnu.org/gnu/m4 diff --git a/scripts/build/companion_tools/200-autoconf.sh b/scripts/build/companion_tools/200-autoconf.sh index 78e1b32..e6e5764 100644 --- a/scripts/build/companion_tools/200-autoconf.sh +++ b/scripts/build/companion_tools/200-autoconf.sh @@ -1,7 +1,5 @@ # Build script for autoconf -CT_AUTOCONF_VERSION=2.65 - do_companion_tools_autoconf_get() { CT_GetFile "autoconf-${CT_AUTOCONF_VERSION}" \ {http,ftp,https}://ftp.gnu.org/gnu/autoconf diff --git a/scripts/build/companion_tools/300-automake.sh b/scripts/build/companion_tools/300-automake.sh index ae0c49b..52f62d2 100644 --- a/scripts/build/companion_tools/300-automake.sh +++ b/scripts/build/companion_tools/300-automake.sh @@ -1,7 +1,5 @@ # Build script for automake -CT_AUTOMAKE_VERSION=1.11.1 - do_companion_tools_automake_get() { CT_GetFile "automake-${CT_AUTOMAKE_VERSION}" \ {http,ftp,https}://ftp.gnu.org/gnu/automake diff --git a/scripts/build/companion_tools/400-libtool.sh b/scripts/build/companion_tools/400-libtool.sh index 43d1f05..cfe0f63 100644 --- a/scripts/build/companion_tools/400-libtool.sh +++ b/scripts/build/companion_tools/400-libtool.sh @@ -1,7 +1,5 @@ # Build script for libtool -CT_LIBTOOL_VERSION=2.4.6 - do_companion_tools_libtool_get() { CT_GetFile "libtool-${CT_LIBTOOL_VERSION}" \ {http,ftp,https}://ftp.gnu.org/gnu/libtool |