~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to m4/pandora_canonical.m4

  • Committer: Brian Aker
  • Date: 2009-06-16 00:53:22 UTC
  • mto: This revision was merged to the branch mainline in revision 1094.
  • Revision ID: brian@gaz-20090616005322-w0ode4jul9z8s2y9
Partial fix for tests for tmp

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
 
6
 
dnl Which version of the canonical setup we're using
7
 
AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.38])
8
 
 
9
 
AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
10
 
  dnl Force dependency tracking on for Sun Studio builds
11
 
  AS_IF([test "x${enable_dependency_tracking}" = "x"],[
12
 
    enable_dependency_tracking=yes
13
 
  ])
14
 
])
15
 
 
16
 
dnl The standard setup for how we build Pandora projects
17
 
AC_DEFUN([PANDORA_CANONICAL_TARGET],[
18
 
  AC_REQUIRE([PANDORA_FORCE_DEPEND_TRACKING])
19
 
  ifdef([m4_define],,[define([m4_define],   defn([define]))])
20
 
  ifdef([m4_undefine],,[define([m4_undefine],   defn([undefine]))])
21
 
  m4_define([PCT_ALL_ARGS],[$*])
22
 
  m4_define([PCT_USE_GNULIB],[no])
23
 
  m4_define([PCT_REQUIRE_CXX],[no])
24
 
  m4_define([PCT_IGNORE_SHARED_PTR],[no])
25
 
  m4_define([PCT_FORCE_GCC42],[no])
26
 
  m4_foreach([pct_arg],[$*],[
27
 
    m4_case(pct_arg,
28
 
      [use-gnulib], [
29
 
        m4_undefine([PCT_USE_GNULIB])
30
 
        m4_define([PCT_USE_GNULIB],[yes])
31
 
      ],
32
 
      [require-cxx], [
33
 
        m4_undefine([PCT_REQUIRE_CXX])
34
 
        m4_define([PCT_REQUIRE_CXX],[yes])
35
 
      ],
36
 
      [ignore-shared-ptr], [
37
 
        m4_undefine([PCT_IGNORE_SHARED_PTR])
38
 
        m4_define([PCT_IGNORE_SHARED_PTR],[yes])
39
 
      ],
40
 
      [force-gcc42], [
41
 
        m4_undefine([PCT_FORCE_GCC42])
42
 
        m4_define([PCT_FORCE_GCC42],[yes])
43
 
    ])
44
 
  ])
45
 
 
46
 
  # We need to prevent canonical target
47
 
  # from injecting -O2 into CFLAGS - but we won't modify anything if we have
48
 
  # set CFLAGS on the command line, since that should take ultimate precedence
49
 
  AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],
50
 
        [CFLAGS=""])
51
 
  AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],
52
 
        [CXXFLAGS=""])
53
 
  
54
 
  AC_CANONICAL_TARGET
55
 
  
56
 
  AM_INIT_AUTOMAKE(-Wall -Werror nostdinc subdir-objects)
57
 
 
58
 
  m4_if(PCT_USE_GNULIB,yes,[ gl_EARLY ])
59
 
  
60
 
  AC_REQUIRE([AC_PROG_CC])
61
 
  AC_REQUIRE([PANDORA_MAC_GCC42])
62
 
  AC_REQUIRE([PANDORA_64BIT])
63
 
 
64
 
  dnl Once we can use a modern autoconf, we can use this
65
 
  dnl AC_PROG_CC_C99
66
 
  AC_REQUIRE([AC_PROG_CXX])
67
 
  AC_PROG_CPP
68
 
  AM_PROG_CC_C_O
69
 
 
70
 
 
71
 
  gl_USE_SYSTEM_EXTENSIONS
72
 
  m4_if(PCT_FORCE_GCC42, [yes], [
73
 
    AS_IF([test "$GCC" = "yes"], PANDORA_ENSURE_GCC_VERSION)
74
 
  ])
75
 
 
76
 
  PANDORA_PLATFORM
77
 
 
78
 
  PANDORA_LIBTOOL
79
 
 
80
 
  dnl autoconf doesn't automatically provide a fail-if-no-C++ macro
81
 
  dnl so we check c++98 features and fail if we don't have them, mainly
82
 
  dnl for that reason
83
 
  PANDORA_CHECK_CXX_STANDARD
84
 
  m4_if(PCT_REQUIRE_CXX, [yes], [
85
 
    AS_IF([test "$ac_cv_cxx_stdcxx_98" = "no"],[
86
 
      AC_MSG_ERROR([No working C++ Compiler has been found. ${PACKAGE} requires a C++ compiler that can handle C++98])
87
 
    ])
88
 
  ])
89
 
  
90
 
  PANDORA_SHARED_PTR
91
 
  m4_if(PCT_IGNORE_SHARED_PTR, [no], [
92
 
    AS_IF([test "$ac_cv_shared_ptr_namespace" = "missing"],[
93
 
      AC_MSG_WARN([a usable shared_ptr implementation was not found. Let someone know what your platform is.])
94
 
    ])
95
 
  ])
96
 
  
97
 
  m4_if(PCT_USE_GNULIB, [yes], [gl_INIT])
98
 
 
99
 
  AC_C_BIGENDIAN
100
 
  AC_C_CONST
101
 
  AC_C_INLINE
102
 
  AC_C_VOLATILE
103
 
  AC_C_RESTRICT
104
 
 
105
 
  AC_HEADER_TIME
106
 
  AC_TYPE_SIZE_T
107
 
  AC_SYS_LARGEFILE
108
 
 
109
 
 
110
 
  PANDORA_CHECK_C_VERSION
111
 
  PANDORA_CHECK_CXX_VERSION
112
 
 
113
 
  PANDORA_OPTIMIZE
114
 
 
115
 
  dnl We need to inject error into the cflags to test if visibility works or not
116
 
  save_CFLAGS="${CFLAGS}"
117
 
  CFLAGS="${CFLAGS} -Werror"
118
 
  gl_VISIBILITY
119
 
  CFLAGS="${save_CFLAGS}"
120
 
 
121
 
  PANDORA_HEADER_ASSERT
122
 
 
123
 
  PANDORA_WARNINGS(PCT_ALL_ARGS)
124
 
 
125
 
  PANDORA_ENABLE_DTRACE
126
 
 
127
 
  AC_LIB_PREFIX
128
 
  PANDORA_HAVE_BETTER_MALLOC
129
 
 
130
 
  AC_CHECK_PROGS([DOXYGEN], [doxygen])
131
 
  AC_CHECK_PROGS([PERL], [perl])
132
 
 
133
 
  AS_IF([test "x${gl_LIBOBJS}" != "x"],[
134
 
    AS_IF([test "$GCC" = "yes"],[
135
 
      AM_CPPFLAGS="-isystem \$(top_srcdir)/gnulib -isystem \$(top_builddir)/gnulib ${AM_CPPFLAGS}"
136
 
    ],[
137
 
    AM_CPPFLAGS="-I\$(top_srcdir)/gnulib -I\$(top_builddir)/gnulib ${AM_CPPFLAGS}"
138
 
    ])
139
 
  ])
140
 
 
141
 
  AM_CPPFLAGS="-I\${top_srcdir} -I\${top_builddir} ${AM_CPPFLAGS}"
142
 
  AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
143
 
  AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
144
 
 
145
 
  AC_SUBST([AM_CFLAGS])
146
 
  AC_SUBST([AM_CXXFLAGS])
147
 
  AC_SUBST([AM_CPPFLAGS])
148
 
 
149
 
])