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 # Build script for D.U.M.A.
6 dl_base="http://downloads.sourceforge.net/project/duma/duma"
7 dl_base+="/${CT_DUMA_VERSION//_/.}"
9 # Downloading an non-existing file from sourceforge will give you an
10 # HTML file containing an error message, instead of returning a 404.
12 CT_GetFile "duma_${CT_DUMA_VERSION}" .tar.gz "${dl_base}"
13 # Downloading from sourceforge may leave garbage, cleanup
14 CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
17 do_debug_duma_extract() {
18 CT_Extract "duma_${CT_DUMA_VERSION}"
19 CT_Pushd "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}"
20 CT_Patch nochdir "duma" "${CT_DUMA_VERSION}"
24 do_debug_duma_build() {
25 CT_DoStep INFO "Installing D.U.M.A."
26 CT_DoLog EXTRA "Copying sources"
27 cp -a "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}" "${CT_BUILD_DIR}/build-duma"
28 CT_Pushd "${CT_BUILD_DIR}/build-duma"
31 [ "${CT_CC_LANG_CXX}" = "y" ] && DUMA_CPP=1
33 # The shared library needs some love: some version have libduma.so.0.0,
34 # while others have libduma.so.0.0.0
35 duma_so=$(make -n -p 2>&1 |grep -E '^libduma.so[^:]*:' |head -n 1 |cut -d : -f 1)
38 [ "${CT_DUMA_A}" = "y" ] && libs="${libs} libduma.a"
39 [ "${CT_DUMA_SO}" = "y" ] && libs="${libs} ${duma_so}"
41 CT_DoLog EXTRA "Building libraries '${libs}'"
43 make HOSTCC="${CT_BUILD}-gcc" \
44 CC="${CT_TARGET}-gcc" \
45 CXX="${CT_TARGET}-gcc" \
46 RANLIB="${CT_TARGET}-ranlib" \
47 DUMA_CPP="${DUMA_CPP}" \
49 CT_DoLog EXTRA "Installing libraries '${libs}'"
50 CT_DoExecLog ALL install -m 644 ${libs} "${CT_SYSROOT_DIR}/usr/lib"
51 if [ "${CT_DUMA_SO}" = "y" ]; then
52 CT_DoLog EXTRA "Installing shared library link"
53 ln -vsf ${duma_so} "${CT_SYSROOT_DIR}/usr/lib/libduma.so" 2>&1 |CT_DoLog ALL
54 CT_DoLog EXTRA "Installing wrapper script"
55 mkdir -p "${CT_DEBUGROOT_DIR}/usr/bin"
56 # Install a simpler, smaller, safer wrapper than the one provided by D.U.M.A.
57 sed -r -e 's:^LIBDUMA_SO=.*:LIBDUMA_SO=/usr/lib/'"${duma_so}"':;' \
58 "${CT_LIB_DIR}/scripts/build/debug/duma.in" \
59 >"${CT_DEBUGROOT_DIR}/usr/bin/duma"
60 chmod 755 "${CT_DEBUGROOT_DIR}/usr/bin/duma"