From b0f5a18c32d871a8944a9a1ead5d51eb161974a8 Mon Sep 17 00:00:00 2001 From: Oron Peled Date: Mon, 3 Aug 2009 00:49:25 +0200 Subject: [complib:mpfr] Fix building MPFR in some weird cases The tmul test uses a compiled-in input file in $(srcdir). The problem is that the Makefile passes it unquoted. The C code tries to stringify it using clever macros, which may *usually* work. In my case the source directory was named: .../toolchain-powerpc-e500v2-linux-gnuspe-1.0-2.fc10/.../tests And guess what? During testing I found out the program fails because it tries to open: .../toolchain-powerpc-e500v2-1-gnuspe-1.0-2.fc10/.../tests Yes, CPP tokenized the macro before stringifying it and not surprisingly the 'linux' part was converted to 1. [on Fedora-10: cpp (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)] So the attached patch simplify the macros and pass the path as string from the Makefile. --- scripts/build/companion_libs/mpfr.sh | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'scripts/build') diff --git a/scripts/build/companion_libs/mpfr.sh b/scripts/build/companion_libs/mpfr.sh index efca1186..3c3480d0 100644 --- a/scripts/build/companion_libs/mpfr.sh +++ b/scripts/build/companion_libs/mpfr.sh @@ -30,6 +30,15 @@ do_mpfr_extract() { # do that in the future... # It seems that MPFR >= 2.4.0 do not need this... case "${CT_MPFR_VERSION}" in + 2.4.1) + CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}" + if [ ! -f .autoreconf.ct-ng ]; then + CT_DoLog DEBUG "Running autoreconf" + CT_DoExecLog ALL autoreconf + touch .autoreconf.ct-ng + fi + CT_Popd + ;; 1.*|2.0.*|2.1.*|2.2.*|2.3.*) CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}" if [ ! -f .autotools.ct-ng ]; then -- cgit v1.2.3