scripts/addToolsVersion: properly handle .in vs. .in.2
While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).
Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.
So, for each tool, we need to explicitly know what file to munge.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
1 # This file adds the functions to build the MPFR library
2 # Copyright 2008 Yann E. MORIN
3 # Licensed under the GPL v2. See COPYING in the root of this package
6 do_mpfr_extract() { :; }
7 do_mpfr_for_build() { :; }
8 do_mpfr_for_host() { :; }
10 # Overide function depending on configuration
11 if [ "${CT_MPFR}" = "y" ]; then
15 CT_GetFile "mpfr-${CT_MPFR_VERSION}" http://www.mpfr.org/mpfr-current/ \
16 http://www.mpfr.org/mpfr-${CT_MPFR_VERSION}/
21 CT_Extract "mpfr-${CT_MPFR_VERSION}"
22 CT_Patch "mpfr" "${CT_MPFR_VERSION}"
24 # OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
25 # same version number. Unfortunately, some tarballs of MPFR are not
26 # built sanely, and thus ./configure fails on Gentoo.
27 # See: http://sourceware.org/ml/crossgcc/2008-05/msg00080.html
28 # and: http://sourceware.org/ml/crossgcc/2008-06/msg00005.html
29 # This hack is not bad per se, but the MPFR guys would be better not to
30 # do that in the future...
31 # It seems that MPFR >= 2.4.0 do not need this...
32 case "${CT_MPFR_VERSION}" in
34 CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}"
35 if [ ! -f .autoreconf.ct-ng ]; then
36 CT_DoLog DEBUG "Running autoreconf"
37 CT_DoExecLog ALL autoreconf
38 touch .autoreconf.ct-ng
42 1.*|2.0.*|2.1.*|2.2.*|2.3.*)
43 CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}"
44 if [ ! -f .autotools.ct-ng ]; then
45 CT_DoLog DEBUG "Re-building autotools files"
46 CT_DoExecLog ALL autoreconf -fi
47 # Starting with libtool-1.9f, config.{guess,sub} are no longer
48 # installed without -i, but starting with libtool-2.2.6, they
49 # are no longer removed without -i. Sight... Just use -i with
51 # See: http://sourceware.org/ml/crossgcc/2008-11/msg00046.html
52 # and: http://sourceware.org/ml/crossgcc/2008-11/msg00048.html
54 case "$(libtoolize --version |head -n 1 |awk '{ print $(NF); }')" in
57 *) libtoolize_opt=-i;;
59 CT_DoExecLog ALL libtoolize -f ${libtoolize_opt}
60 touch .autotools.ct-ng
67 # Build MPFR for running on build
68 # - always build statically
69 # - we do not have build-specific CFLAGS
70 # - install in build-tools prefix
74 case "${CT_TOOLCHAIN_TYPE}" in
75 native|cross) return 0;;
78 CT_DoStep INFO "Installing MPFR for build"
79 CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpfr-build-${CT_BUILD}"
81 mpfr_opts+=( "host=${CT_BUILD}" )
82 mpfr_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
83 mpfr_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
84 mpfr_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
85 do_mpfr_backend "${mpfr_opts[@]}"
91 # Build MPFR for running on host
95 CT_DoStep INFO "Installing MPFR for host"
96 CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpfr-host-${CT_HOST}"
98 mpfr_opts+=( "host=${CT_HOST}" )
99 mpfr_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
100 mpfr_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
101 mpfr_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
102 do_mpfr_backend "${mpfr_opts[@]}"
109 # Parameter : description : type : default
110 # host : machine to run on : tuple : (none)
111 # prefix : prefix to install into : dir : (none)
112 # cflags : cflags to use : string : (empty)
113 # ldflags : ldflags to use : string : (empty)
125 # Under Cygwin, we can't build a thread-safe library
127 *cygwin*) mpfr_opts+=( --disable-thread-safe );;
128 *mingw*) mpfr_opts+=( --disable-thread-safe );;
129 *darwin*) mpfr_opts+=( --disable-thread-safe );;
130 *) mpfr_opts+=( --enable-thread-safe );;
133 CT_DoLog EXTRA "Configuring MPFR"
137 LDFLAGS="${ldflags}" \
138 "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure" \
139 --build=${CT_BUILD} \
141 --prefix="${prefix}" \
142 --with-gmp="${prefix}" \
146 CT_DoLog EXTRA "Building MPFR"
147 CT_DoExecLog ALL make ${JOBSFLAGS}
149 if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
150 CT_DoLog EXTRA "Checking MPFR"
151 CT_DoExecLog ALL make ${JOBSFLAGS} -s check
154 CT_DoLog EXTRA "Installing MPFR"
155 CT_DoExecLog ALL make install