11# Macros to detect C compiler features
2- # $PostgreSQL: pgsql/config/c-compiler.m4,v 1.14 2004/12/16 17:48:25 momjian Exp $
2+ # $PostgreSQL: pgsql/config/c-compiler.m4,v 1.15 2008/02/17 16:36:42 petere Exp $
33
44
55# PGAC_C_SIGNED
@@ -70,32 +70,6 @@ undefine([Ac_cachevar])dnl
7070
7171
7272
73- # PGAC_CHECK_ALIGNOF(TYPE, [INCLUDES = DEFAULT-INCLUDES])
74- # -----------------------------------------------------
75- # Find the alignment requirement of the given type. Define the result
76- # as ALIGNOF_TYPE. This macro works even when cross compiling.
77- # (Modelled after AC_CHECK_SIZEOF.)
78-
79- AC_DEFUN ( [ PGAC_CHECK_ALIGNOF] ,
80- [ AS_LITERAL_IF ( [ $1 ] , [ ] ,
81- [ AC_FATAL ( [ $0 : requires literal arguments] ) ] ) dnl
82- AC_CHECK_TYPE ( [ $1 ] , [ ] , [ ] , [ $2 ] )
83- AC_CACHE_CHECK ( [ alignment of $1 ] , [ AS_TR_SH ( [ pgac_cv_alignof_$1 ] ) ] ,
84- [ if test "$AS_TR_SH ( [ ac_cv_type_$1 ] ) " = yes; then
85- _AC_COMPUTE_INT([ ((char*) & pgac_struct.field) - ((char*) & pgac_struct)] ,
86- [ AS_TR_SH ( [ pgac_cv_alignof_$1 ] ) ] ,
87- [ AC_INCLUDES_DEFAULT ( [ $2 ] )
88- struct { char filler; $1 field; } pgac_struct;] ,
89- [ AC_MSG_ERROR ( [ cannot compute alignment of $1 , 77] ) ] )
90- else
91- AS_TR_SH ( [ pgac_cv_alignof_$1 ] ) =0
92- fi] ) dnl
93- AC_DEFINE_UNQUOTED ( AS_TR_CPP ( alignof_$1 ) ,
94- [ $AS_TR_SH ( [ pgac_cv_alignof_$1 ] ) ] ,
95- [ The alignment requirement of a `$1 '.] )
96- ] ) # PGAC_CHECK_ALIGNOF
97-
98-
9973# PGAC_C_FUNCNAME_SUPPORT
10074# -----------------------
10175# Check if the C compiler understands __func__ (C99) or __FUNCTION__ (gcc).
@@ -121,6 +95,8 @@ AC_DEFINE(HAVE_FUNCNAME__FUNCTION, 1,
12195fi
12296fi] ) # PGAC_C_FUNCNAME_SUPPORT
12397
98+
99+
124100# PGAC_PROG_CC_CFLAGS_OPT
125101# -----------------------
126102# Given a string, check if the compiler supports the string as a
@@ -134,42 +110,3 @@ _AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
134110 [ CFLAGS="$pgac_save_CFLAGS"
135111 AC_MSG_RESULT ( no ) ] )
136112] ) # PGAC_PROG_CC_CFLAGS_OPT
137-
138- # The below backpatches the following Autoconf change:
139- #
140- # 2002-03-28 Kevin Ryde <user42@zip.com.au>
141- #
142- # * lib/autoconf/c.m4 (AC_C_INLINE): Test with a typedef return value,
143- # to avoid versions of HP C which don't allow that.
144- #
145- # When we upgrade to Autoconf >= 2.53a then we can drop this and rely
146- # on the standard macro.
147-
148- # AC_C_INLINE
149- # -----------
150- # Do nothing if the compiler accepts the inline keyword.
151- # Otherwise define inline to __inline__ or __inline if one of those work,
152- # otherwise define inline to be empty.
153- AC_DEFUN ( [ AC_C_INLINE ] ,
154- [ AC_REQUIRE ( [ AC_PROG_CC_STDC ] ) dnl
155- AC_CACHE_CHECK ( [ for inline] , ac_cv_c_inline ,
156- [ ac_cv_c_inline=no
157- for ac_kw in inline __inline__ __inline; do
158- AC_COMPILE_IFELSE ( [ AC_LANG_SOURCE (
159- [ #ifndef __cplusplus
160- typedef int foo_t;
161- static $ac_kw foo_t static_foo () {return 0; }
162- $ac_kw int foo () {return 0; }
163- #endif
164- ] ) ] ,
165- [ ac_cv_c_inline=$ac_kw; break] )
166- done
167- ] )
168- case $ac_cv_c_inline in
169- inline | yes) ;;
170- no) AC_DEFINE ( inline ,,
171- [ Define as `__inline' if that's what the C compiler calls it,
172- or to nothing if it is not supported.] ) ;;
173- *) AC_DEFINE_UNQUOTED ( inline , $ac_cv_c_inline ) ;;
174- esac
175- ] ) # AC_C_INLINE
0 commit comments