| OLD | NEW |
| (Empty) |
| 1 | |
| 2 AC_DEFUN_ONCE(AC__LIBREPLACE_ONLY_CC_CHECKS_START, | |
| 3 [ | |
| 4 echo "LIBREPLACE_CC_CHECKS: START" | |
| 5 ]) | |
| 6 | |
| 7 AC_DEFUN_ONCE(AC__LIBREPLACE_ONLY_CC_CHECKS_END, | |
| 8 [ | |
| 9 echo "LIBREPLACE_CC_CHECKS: END" | |
| 10 ]) | |
| 11 | |
| 12 dnl | |
| 13 dnl | |
| 14 dnl AC_LIBREPLACE_CC_CHECKS | |
| 15 dnl | |
| 16 dnl Note: we need to use m4_define instead of AC_DEFUN because | |
| 17 dnl of the ordering of tests | |
| 18 dnl | |
| 19 dnl | |
| 20 m4_define(AC_LIBREPLACE_CC_CHECKS, | |
| 21 [ | |
| 22 AC__LIBREPLACE_ONLY_CC_CHECKS_START | |
| 23 | |
| 24 dnl stop the C89 attempt by autoconf - if autoconf detects -Ae it will enable it | |
| 25 dnl which conflicts with C99 on HPUX | |
| 26 ac_cv_prog_cc_Ae=no | |
| 27 | |
| 28 savedCFLAGS=$CFLAGS | |
| 29 AC_PROG_CC | |
| 30 CFLAGS=$savedCFLAGS | |
| 31 | |
| 32 dnl don't try for C99 if we are using gcc, as otherwise we | |
| 33 dnl lose immediate structure constants | |
| 34 if test x"$GCC" != x"yes" ; then | |
| 35 AC_PROG_CC_C99 | |
| 36 fi | |
| 37 | |
| 38 if test x"$GCC" = x"yes" ; then | |
| 39 AC_MSG_CHECKING([for version of gcc]) | |
| 40 GCC_VERSION=`$CC -dumpversion` | |
| 41 AC_MSG_RESULT(${GCC_VERSION}) | |
| 42 fi | |
| 43 AC_USE_SYSTEM_EXTENSIONS | |
| 44 AC_C_BIGENDIAN | |
| 45 AC_C_INLINE | |
| 46 LIBREPLACE_C99_STRUCT_INIT([],[AC_MSG_WARN([c99 structure initializer are not su
pported])]) | |
| 47 | |
| 48 AC_PROG_INSTALL | |
| 49 | |
| 50 AC_ISC_POSIX | |
| 51 AC_N_DEFINE(_XOPEN_SOURCE_EXTENDED) | |
| 52 | |
| 53 AC_SYS_LARGEFILE | |
| 54 | |
| 55 dnl Add #include for broken IRIX header files | |
| 56 case "$host_os" in | |
| 57 *irix6*) AC_ADD_INCLUDE(<standards.h>) | |
| 58 ;; | |
| 59 *hpux*) | |
| 60 # mmap on HPUX is completely broken... | |
| 61 AC_DEFINE(MMAP_BLACKLIST, 1, [Whether MMAP is broken]) | |
| 62 if test "`uname -r`" = "B.11.00" -o "`uname -r`" = "B.11.11"; th
en | |
| 63 AC_MSG_WARN([Enabling HPUX 11.00/11.11 header bug workar
ound]) | |
| 64 CFLAGS="$CFLAGS -Dpread=pread64 -Dpwrite=pwrite64" | |
| 65 fi | |
| 66 if test "`uname -r`" = "B.11.23"; then | |
| 67 AC_MSG_WARN([Enabling HPUX 11.23 machine/sys/getppdp.h b
ug workaround]) | |
| 68 CFLAGS="$CFLAGS -D_MACHINE_SYS_GETPPDP_INCLUDED" | |
| 69 fi | |
| 70 ;; | |
| 71 *aix*) | |
| 72 AC_DEFINE(BROKEN_STRNDUP, 1, [Whether strndup is broken]) | |
| 73 AC_DEFINE(BROKEN_STRNLEN, 1, [Whether strnlen is broken]) | |
| 74 if test "${GCC}" != "yes"; then | |
| 75 ## for funky AIX compiler using strncpy() | |
| 76 CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT -qmaxmem=32000" | |
| 77 fi | |
| 78 ;; | |
| 79 *osf*) | |
| 80 # this brings in socklen_t | |
| 81 AC_N_DEFINE(_XOPEN_SOURCE,600) | |
| 82 AC_N_DEFINE(_OSF_SOURCE) | |
| 83 ;; | |
| 84 # | |
| 85 # VOS may need to have POSIX support and System V compatibility enabled. | |
| 86 # | |
| 87 *vos*) | |
| 88 case "$CFLAGS" in | |
| 89 *-D_POSIX_C_SOURCE*);; | |
| 90 *) | |
| 91 CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112L" | |
| 92 AC_DEFINE(_POSIX_C_SOURCE, 200112L, [Whether to
enable POSIX support]) | |
| 93 ;; | |
| 94 esac | |
| 95 case "$CFLAGS" in | |
| 96 *-D_SYSV*|*-D_SVID_SOURCE*);; | |
| 97 *) | |
| 98 CFLAGS="$CFLAGS -D_SYSV" | |
| 99 AC_DEFINE(_SYSV, 1, [Whether to enable System V
compatibility]) | |
| 100 ;; | |
| 101 esac | |
| 102 ;; | |
| 103 esac | |
| 104 | |
| 105 | |
| 106 | |
| 107 AC_CHECK_HEADERS([standards.h]) | |
| 108 | |
| 109 # Solaris needs HAVE_LONG_LONG defined | |
| 110 AC_CHECK_TYPES(long long) | |
| 111 | |
| 112 AC_CHECK_SIZEOF(int) | |
| 113 AC_CHECK_SIZEOF(char) | |
| 114 AC_CHECK_SIZEOF(short) | |
| 115 AC_CHECK_SIZEOF(long) | |
| 116 AC_CHECK_SIZEOF(long long) | |
| 117 | |
| 118 AC_CHECK_TYPE(uint_t, unsigned int) | |
| 119 AC_CHECK_TYPE(int8_t, char) | |
| 120 AC_CHECK_TYPE(uint8_t, unsigned char) | |
| 121 AC_CHECK_TYPE(int16_t, short) | |
| 122 AC_CHECK_TYPE(uint16_t, unsigned short) | |
| 123 | |
| 124 if test $ac_cv_sizeof_int -eq 4 ; then | |
| 125 AC_CHECK_TYPE(int32_t, int) | |
| 126 AC_CHECK_TYPE(uint32_t, unsigned int) | |
| 127 elif test $ac_cv_size_long -eq 4 ; then | |
| 128 AC_CHECK_TYPE(int32_t, long) | |
| 129 AC_CHECK_TYPE(uint32_t, unsigned long) | |
| 130 else | |
| 131 AC_MSG_ERROR([LIBREPLACE no 32-bit type found]) | |
| 132 fi | |
| 133 | |
| 134 AC_CHECK_TYPE(int64_t, long long) | |
| 135 AC_CHECK_TYPE(uint64_t, unsigned long long) | |
| 136 | |
| 137 AC_CHECK_TYPE(size_t, unsigned int) | |
| 138 AC_CHECK_TYPE(ssize_t, int) | |
| 139 | |
| 140 AC_CHECK_SIZEOF(off_t) | |
| 141 AC_CHECK_SIZEOF(size_t) | |
| 142 AC_CHECK_SIZEOF(ssize_t) | |
| 143 | |
| 144 AC_CHECK_TYPES([intptr_t, uintptr_t, ptrdiff_t]) | |
| 145 | |
| 146 if test x"$ac_cv_type_long_long" != x"yes";then | |
| 147 AC_MSG_ERROR([LIBREPLACE needs type 'long long']) | |
| 148 fi | |
| 149 if test $ac_cv_sizeof_long_long -lt 8;then | |
| 150 AC_MSG_ERROR([LIBREPLACE needs sizeof(long long) >= 8]) | |
| 151 fi | |
| 152 | |
| 153 ############################################ | |
| 154 # check if the compiler can do immediate structures | |
| 155 AC_SUBST(libreplace_cv_immediate_structures) | |
| 156 AC_CACHE_CHECK([for immediate structures],libreplace_cv_immediate_structures,[ | |
| 157 AC_TRY_COMPILE([ | |
| 158 #include <stdio.h> | |
| 159 ],[ | |
| 160 typedef struct {unsigned x;} FOOBAR; | |
| 161 #define X_FOOBAR(x) ((FOOBAR) { x }) | |
| 162 #define FOO_ONE X_FOOBAR(1) | |
| 163 FOOBAR f = FOO_ONE; | |
| 164 static const struct { | |
| 165 FOOBAR y; | |
| 166 } f2[] = { | |
| 167 {FOO_ONE} | |
| 168 }; | |
| 169 static const FOOBAR f3[] = {FOO_ONE}; | |
| 170 ], | |
| 171 libreplace_cv_immediate_structures=yes, | |
| 172 libreplace_cv_immediate_structures=no, | |
| 173 libreplace_cv_immediate_structures=cross) | |
| 174 ]) | |
| 175 if test x"$libreplace_cv_immediate_structures" = x"yes"; then | |
| 176 AC_DEFINE(HAVE_IMMEDIATE_STRUCTURES,1,[Whether the compiler supports imm
ediate structures]) | |
| 177 fi | |
| 178 | |
| 179 AC__LIBREPLACE_ONLY_CC_CHECKS_END | |
| 180 ]) dnl end AC_LIBREPLACE_CC_CHECKS | |
| OLD | NEW |