config/debug/duma.in
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Fri Jan 27 13:31:16 2012 +0100 (2012-01-27)
changeset 2854 a70abdbfa342
parent 2444 896cb0d36c1a
child 3142 6569f6a9060c
permissions -rw-r--r--
complibs/cloog: fix linking with libm

In Ubuntu 11.04 and 11.10, the default options for ld have changed.
--no-copy-dt-needed-entries and --as-needed are now enabled by default, which
causes errors like:

[EXTRA] Checking CLooG/ppl
[DEBUG] ==> Executing: 'make' '-j3' '-s' 'check'
[ALL ] Making check in .
[ALL ] config.status: creating include/cloog/cloog-config.h
[ALL ] config.status: include/cloog/cloog-config.h is unchanged
[ALL ] libtool: link: i686-build_pc-linux-gnu-gcc -Wall -fomit-frame-pointer
-pipe -o cloog cloog.o -L/<snip>/build/static/lib ./.libs/libcloog.a -lm
/<snip>/build/static/lib/libppl_c.a /<snip>/build/static/lib/libpwl.a
/<snip>/build/static/lib/libppl.a /<snip>/build/static/lib/libgmpxx.a
/<snip>/build/static/lib/libgmp.a -lstdc++
[ALL ] /usr/bin/ld: /<snip>/build/static/lib/libppl.a(MIP_Problem.o):
undefined reference to symbol 'sqrt@@GLIBC_2.0'
[ALL ] /usr/bin/ld: note: 'sqrt@@GLIBC_2.0' is defined in DSO
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so so try adding
it to the linker command line
[ALL ] /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so:
could not read symbols: Invalid operation
[ALL ] collect2: ld returned 1 exit status
[ERROR] make[2]: *** [cloog] Error 1
[ERROR] make[1]: *** [check-recursive] Error 1

See:
https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition

This patch fixes these errors by placing '-lm' at the right place on the command
line as libppl requires libm when linking cloog.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
yann@236
     1
# D.U.M.A. - Detect Unintended Memory Access - Memory checker
yann@236
     2
yann@2444
     3
## depends on ! BACKEND
yann@2444
     4
yann@2444
     5
## help D.U.M.A. - Detect Unintended Memory Access
yann@2444
     6
## help A memory bound checker, with additional features.
yann@2444
     7
## help Formerly known as Electric Fence.
yann@236
     8
yann@236
     9
config DUMA_A
yann@236
    10
    bool
yann@236
    11
    prompt "Build a static library"
yann@236
    12
    default y
yann@236
    13
yann@236
    14
config DUMA_SO
yann@236
    15
    bool
yann@236
    16
    prompt "Build a shared library"
yann@236
    17
    default y if SHARED_LIBS
yann@236
    18
yann@236
    19
choice
yann@236
    20
    bool
yann@236
    21
    prompt "D.U.M.A. version"
yann@1535
    22
# Don't remove next line
yann@1535
    23
# CT_INSERT_VERSION_BELOW
yann@236
    24
yann@1534
    25
config DUMA_V_2_5_15
yann@236
    26
    bool
yann@1534
    27
    prompt "2_5_15"
yann@1534
    28
yann@1534
    29
config DUMA_V_2_5_14
yann@1534
    30
    bool
yann@1615
    31
    prompt "2_5_14 (OBSOLETE)"
yann@1615
    32
    depends on OBSOLETE
yann@1534
    33
yann@1534
    34
config DUMA_V_2_5_12
yann@1534
    35
    bool
yann@1615
    36
    prompt "2_5_12 (OBSOLETE)"
yann@1615
    37
    depends on OBSOLETE
yann@236
    38
yann@369
    39
config DUMA_V_2_5_8
yann@279
    40
    bool
yann@1615
    41
    prompt "2_5_8 (OBSOLETE)"
yann@1615
    42
    depends on OBSOLETE
yann@279
    43
yann@1534
    44
config DUMA_V_2_5_1
yann@430
    45
    bool
yann@1615
    46
    prompt "2_5_1 (OBSOLETE)"
yann@1615
    47
    depends on OBSOLETE
yann@1436
    48
yann@236
    49
endchoice
yann@236
    50
yann@236
    51
config DUMA_VERSION
yann@236
    52
    string
yann@1535
    53
# Don't remove next line
yann@1535
    54
# CT_INSERT_VERSION_STRING_BELOW
yann@1534
    55
    default "2_5_15" if DUMA_V_2_5_15
yann@1534
    56
    default "2_5_14" if DUMA_V_2_5_14
yann@1534
    57
    default "2_5_12" if DUMA_V_2_5_12
yann@1534
    58
    default "2_5_8" if DUMA_V_2_5_8
yann@236
    59
    default "2_5_1" if DUMA_V_2_5_1