scripts/build/debug/000-template.sh
author Oron Peled <oron@actcom.co.il>
Mon Aug 03 00:49:25 2009 +0200 (2009-08-03)
changeset 1449 8ad2773e7ae3
parent 1112 c72aecd1a9ef
child 1901 bdb3a98e064b
permissions -rw-r--r--
[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.
yann@479
     1
# Template file for a debug utility
yann@479
     2
yann@479
     3
# Put your download code here
yann@479
     4
do_debug_foobar_get() {
yann@479
     5
    # For example:
yann@479
     6
    # CT_GetFile "foobar-${CT_FOOBAR_VERSION}" http://foobar.com/releases/
yann@479
     7
    :
yann@479
     8
}
yann@479
     9
yann@479
    10
# Put your extract code here
yann@479
    11
do_debug_foobar_extract() {
yann@479
    12
    # For example:
yann@1126
    13
    # CT_Extract "foobar-${CT_FOOBAR_VERSION}"
yann@1126
    14
    # CT_Patch "foobar-${CT_FOOBAR_VERSION}"
yann@479
    15
    :
yann@479
    16
}
yann@479
    17
yann@479
    18
# Put your build code here
yann@479
    19
do_debug_foobar_build() {
yann@479
    20
    # For example:
yann@479
    21
    # mkdir -p "${CT_BUILD_DIR}/build-foobar"
yann@479
    22
    # CT_Pushd "${CT_BUILD_DIR}/build-foobar"
yann@664
    23
    # CT_DoExecLog ALL                                        \
yann@479
    24
    # "${CT_SRC_DIR}/foobar-${CT_FOOBAR_VERSION}/configure"   \
yann@479
    25
    #     --build=${CT_BUILD}                                 \
yann@479
    26
    #     --host=${CT_TARGET}                                 \
yann@479
    27
    #     --prefix=/usr                                       \
yann@479
    28
    #     --foobar-options
yann@664
    29
    # CT_DoExecLog ALL make
yann@664
    30
    # CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
yann@479
    31
    # CT_Popd
yann@479
    32
    :
yann@479
    33
}
yann@479
    34