~drizzle-trunk/drizzle/development

1085.1.4 by Monty Taylor
pandora-build v1
1
dnl  Copyright (C) 2009 Sun Microsystems
2
dnl This file is free software; Sun Microsystems
3
dnl gives unlimited permission to copy and/or distribute it,
4
dnl with or without modifications, as long as this notice is preserved.
5
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
6
AC_DEFUN([PANDORA_OPTIMIZE],[
7
  dnl Build optimized or debug version ?
8
  dnl First check for gcc and g++
1093.2.2 by mordred
pandora-build v0.18
9
  AS_IF([test "$GCC" = "yes" -a "$INTELCC" = "no"],[
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
10
11
    dnl The following is required for portable results of floating point 
12
    dnl calculations on PowerPC. The same must also be done for IA-64, but 
13
    dnl this options is missing in the IA-64 gcc backend.
14
    case "$target_cpu" in
15
      *ppc* | *powerpc*)
16
        AM_CFLAGS="-mno-fused-madd ${AM_CFLAGS}"
17
        AM_CXXFLAGS="-mno-fused-madd ${AM_CXXFLAGS}"
18
      ;;
19
    esac
20
21
    dnl Once we can use a modern autoconf, we can replace the std=gnu99 here
22
    dnl with using AC_CC_STD_C99 above
23
    CC="${CC} -std=gnu99"
24
25
    AM_CPPFLAGS="-ggdb3 ${AM_CPPFLAGS}"
26
27
    DEBUG_CFLAGS="-O0"
28
    DEBUG_CXXFLAGS="-O0"
29
30
    OPTIMIZE_CFLAGS="-O3"
31
    OPTIMIZE_CXXFLAGS="-O3"
32
  ])
1093.2.2 by mordred
pandora-build v0.18
33
  AS_IF([test "$INTELCC" = "yes"],[
34
    dnl Once we can use a modern autoconf, we can replace the std=gnu99 here
35
    dnl with using AC_CC_STD_C99 above
36
    CC="${CC} -std=c99"
37
38
    AM_CPPFLAGS="-g ${AM_CPPFLAGS}"
39
40
    DEBUG_CFLAGS="-O0"
41
    DEBUG_CXXFLAGS="-O0"
42
43
    OPTIMIZE_CFLAGS="-xHOST -O3 -no-prec-div -static"
44
    OPTIMIZE_CXXFLAGS="${OPTIMIZE_CFLAGS}"
45
46
  ])
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
47
  AS_IF([test "$SUNCC" = "yes"],[
48
    dnl Once we can use a modern autoconf, we can replace the -xc99=all here
49
    dnl with using AC_CC_STD_C99 above
50
    CC="${CC} -xc99=all"
1085.1.4 by Monty Taylor
pandora-build v1
51
    CXX="${CXX} -xlang=c99"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
52
1085.1.4 by Monty Taylor
pandora-build v1
53
    AM_CFLAGS="-g -mt -xstrconst -Xa ${AM_CFLAGS}"
1241.15.1 by Monty Taylor
Fixed a potential linking problem that we have not yet seen but which we found in the protobuf codebase.
54
    AM_CXXFLAGS="-mt -compat=5 -library=stlport4 -library=Crun -template=no%extdef ${AM_CXXFLAGS}"
1085.1.10 by Monty Taylor
pandora-build v0.9
55
56
    DEBUG_CXXFLAGS="-g"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
57
58
    dnl TODO: Make a test for -xO4 usability here
59
    OPTIMIZE_FLAGS="-xO3 -xlibmil -xdepend -xbuiltin"
1085.1.4 by Monty Taylor
pandora-build v1
60
    OPTIMIZE_CFLAGS="${OPTIMIZE_FLAGS}"
1085.1.10 by Monty Taylor
pandora-build v0.9
61
    OPTIMIZE_CXXFLAGS="-g0 ${OPTIMIZE_FLAGS}"
62
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
63
  ])
64
65
  AC_ARG_WITH([debug],
66
    [AS_HELP_STRING([--with-debug],
67
       [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
68
    [with_debug=$withval],
69
    [with_debug=no])
70
  AS_IF([test "$with_debug" = "yes"],[
71
    # Debugging. No optimization.
72
    AM_CFLAGS="${AM_CFLAGS} ${DEBUG_CFLAGS} -DDEBUG"
73
    AM_CXXFLAGS="${AM_CXXFLAGS} ${DEBUG_CXXFLAGS} -DDEBUG"
74
  ],[
75
    # Optimized version. No debug
76
    AM_CFLAGS="${AM_CFLAGS} ${OPTIMIZE_CFLAGS}"
77
    AM_CXXFLAGS="${AM_CXXFLAGS} ${OPTIMIZE_CXXFLAGS}"
78
  ])
79
])