Annotation of embedaddon/php/ext/standard/config.m4, revision 1.1
1.1 ! misho 1: dnl $Id: config.m4 300511 2010-06-17 10:22:03Z pajoye $ -*- autoconf -*-
! 2:
! 3: divert(6006003)dnl
! 4:
! 5: dnl
! 6: dnl Check if flush should be called explicitly after buffered io
! 7: dnl
! 8: AC_CACHE_CHECK([whether flush should be called explicitly after a buffered io], ac_cv_flush_io,[
! 9: AC_TRY_RUN( [
! 10: #include <stdio.h>
! 11: #include <stdlib.h>
! 12:
! 13: int main(int argc, char **argv)
! 14: {
! 15: char *filename = tmpnam(NULL);
! 16: char buffer[64];
! 17: int result = 0;
! 18:
! 19: FILE *fp = fopen(filename, "wb");
! 20: if (NULL == fp)
! 21: return 0;
! 22: fputs("line 1\n", fp);
! 23: fputs("line 2\n", fp);
! 24: fclose(fp);
! 25:
! 26: fp = fopen(filename, "rb+");
! 27: if (NULL == fp)
! 28: return 0;
! 29: fgets(buffer, sizeof(buffer), fp);
! 30: fputs("line 3\n", fp);
! 31: rewind(fp);
! 32: fgets(buffer, sizeof(buffer), fp);
! 33: if (0 != strcmp(buffer, "line 1\n"))
! 34: result = 1;
! 35: fgets(buffer, sizeof(buffer), fp);
! 36: if (0 != strcmp(buffer, "line 3\n"))
! 37: result = 1;
! 38: fclose(fp);
! 39: unlink(filename);
! 40:
! 41: exit(result);
! 42: }
! 43: ],[
! 44: ac_cv_flush_io=no
! 45: ],[
! 46: ac_cv_flush_io=yes
! 47: ],[
! 48: ac_cv_flush_io=no
! 49: ])])
! 50: if test "$ac_cv_flush_io" = "yes"; then
! 51: AC_DEFINE(HAVE_FLUSHIO, 1, [Define if flush should be called explicitly after a buffered io.])
! 52: fi
! 53:
! 54: dnl
! 55: dnl Check for crypt() capabilities
! 56: dnl
! 57: if test "$ac_cv_func_crypt" = "no"; then
! 58: AC_CHECK_LIB(crypt, crypt, [
! 59: LIBS="-lcrypt $LIBS -lcrypt"
! 60: AC_DEFINE(HAVE_CRYPT, 1, [ ])
! 61: ])
! 62: fi
! 63:
! 64: AC_CACHE_CHECK(for standard DES crypt, ac_cv_crypt_des,[
! 65: AC_TRY_RUN([
! 66: #if HAVE_UNISTD_H
! 67: #include <unistd.h>
! 68: #endif
! 69:
! 70: #if HAVE_CRYPT_H
! 71: #include <crypt.h>
! 72: #endif
! 73:
! 74: main() {
! 75: #if HAVE_CRYPT
! 76: exit (strcmp((char *)crypt("rasmuslerdorf","rl"),"rl.3StKT.4T8M"));
! 77: #else
! 78: exit(0);
! 79: #endif
! 80: }],[
! 81: ac_cv_crypt_des=yes
! 82: ],[
! 83: ac_cv_crypt_des=no
! 84: ],[
! 85: ac_cv_crypt_des=yes
! 86: ])])
! 87:
! 88: AC_CACHE_CHECK(for extended DES crypt, ac_cv_crypt_ext_des,[
! 89: AC_TRY_RUN([
! 90: #if HAVE_UNISTD_H
! 91: #include <unistd.h>
! 92: #endif
! 93:
! 94: #if HAVE_CRYPT_H
! 95: #include <crypt.h>
! 96: #endif
! 97:
! 98: main() {
! 99: #if HAVE_CRYPT
! 100: exit (strcmp((char *)crypt("rasmuslerdorf","_J9..rasm"),"_J9..rasmBYk8r9AiWNc"));
! 101: #else
! 102: exit(0);
! 103: #endif
! 104: }],[
! 105: ac_cv_crypt_ext_des=yes
! 106: ],[
! 107: ac_cv_crypt_ext_des=no
! 108: ],[
! 109: ac_cv_crypt_ext_des=no
! 110: ])])
! 111:
! 112: AC_CACHE_CHECK(for MD5 crypt, ac_cv_crypt_md5,[
! 113: AC_TRY_RUN([
! 114: #if HAVE_UNISTD_H
! 115: #include <unistd.h>
! 116: #endif
! 117:
! 118: #if HAVE_CRYPT_H
! 119: #include <crypt.h>
! 120: #endif
! 121:
! 122: main() {
! 123: #if HAVE_CRYPT
! 124: char salt[15], answer[40];
! 125:
! 126: salt[0]='$'; salt[1]='1'; salt[2]='$';
! 127: salt[3]='r'; salt[4]='a'; salt[5]='s';
! 128: salt[6]='m'; salt[7]='u'; salt[8]='s';
! 129: salt[9]='l'; salt[10]='e'; salt[11]='$';
! 130: salt[12]='\0';
! 131: strcpy(answer,salt);
! 132: strcat(answer,"rISCgZzpwk3UhDidwXvin0");
! 133: exit (strcmp((char *)crypt("rasmuslerdorf",salt),answer));
! 134: #else
! 135: exit(0);
! 136: #endif
! 137: }],[
! 138: ac_cv_crypt_md5=yes
! 139: ],[
! 140: ac_cv_crypt_md5=no
! 141: ],[
! 142: ac_cv_crypt_md5=no
! 143: ])])
! 144:
! 145: AC_CACHE_CHECK(for Blowfish crypt, ac_cv_crypt_blowfish,[
! 146: AC_TRY_RUN([
! 147: #if HAVE_UNISTD_H
! 148: #include <unistd.h>
! 149: #endif
! 150:
! 151: #if HAVE_CRYPT_H
! 152: #include <crypt.h>
! 153: #endif
! 154:
! 155: main() {
! 156: #if HAVE_CRYPT
! 157: char salt[30], answer[70];
! 158:
! 159: salt[0]='$'; salt[1]='2'; salt[2]='a'; salt[3]='$'; salt[4]='0'; salt[5]='7'; salt[6]='$'; salt[7]='\0';
! 160: strcat(salt,"rasmuslerd............");
! 161: strcpy(answer,salt);
! 162: strcpy(&answer[29],"nIdrcHdxcUxWomQX9j6kvERCFjTg7Ra");
! 163: exit (strcmp((char *)crypt("rasmuslerdorf",salt),answer));
! 164: #else
! 165: exit(0);
! 166: #endif
! 167: }],[
! 168: ac_cv_crypt_blowfish=yes
! 169: ],[
! 170: ac_cv_crypt_blowfish=no
! 171: ],[
! 172: ac_cv_crypt_blowfish=no
! 173: ])])
! 174:
! 175: AC_CACHE_CHECK(for SHA512 crypt, ac_cv_crypt_SHA512,[
! 176: AC_TRY_RUN([
! 177: #if HAVE_UNISTD_H
! 178: #include <unistd.h>
! 179: #endif
! 180:
! 181: #if HAVE_CRYPT_H
! 182: #include <crypt.h>
! 183: #endif
! 184:
! 185: main() {
! 186: #if HAVE_CRYPT
! 187: char salt[30], answer[80];
! 188:
! 189: salt[0]='$'; salt[1]='6'; salt[2]='$'; salt[3]='$'; salt[4]='b'; salt[5]='a'; salt[6]='r'; salt[7]='\0';
! 190: strcpy(answer, salt);
! 191: strcpy(&answer[29],"$6$$QMXjqd7rHQZPQ1yHsXkQqC1FBzDiVfTHXL.LaeDAeVV.IzMaV9VU4MQ8kPuZa2SOP1A0RPm772EaFYjpEJtdu.");
! 192: exit (strcmp((char *)crypt("foo",salt),answer));
! 193: #else
! 194: exit(0);
! 195: #endif
! 196: }],[
! 197: ac_cv_crypt_SHA512=yes
! 198: ],[
! 199: ac_cv_crypt_SHA512=no
! 200: ],[
! 201: ac_cv_crypt_SHA512=no
! 202: ])])
! 203:
! 204: AC_CACHE_CHECK(for SHA256 crypt, ac_cv_crypt_SHA256,[
! 205: AC_TRY_RUN([
! 206: #if HAVE_UNISTD_H
! 207: #include <unistd.h>
! 208: #endif
! 209:
! 210: #if HAVE_CRYPT_H
! 211: #include <crypt.h>
! 212: #endif
! 213:
! 214: main() {
! 215: #if HAVE_CRYPT
! 216: char salt[30], answer[80];
! 217: salt[0]='$'; salt[1]='5'; salt[2]='$'; salt[3]='$'; salt[4]='s'; salt[5]='a'; salt[6]='l'; salt[7]='t'; salt[8]='s'; salt[9]='t'; salt[10]='r'; salt[11]='i'; salt[12]='n'; salt[13]='g'; salt[14]='\0';
! 218: strcat(salt,"");
! 219: strcpy(answer, salt);
! 220: strcpy(&answer[29], "$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5");
! 221: exit (strcmp((char *)crypt("foo",salt),answer));
! 222: #else
! 223: exit(0);
! 224: #endif
! 225: }],[
! 226: ac_cv_crypt_SHA256=yes
! 227: ],[
! 228: ac_cv_crypt_SHA256=no
! 229: ],[
! 230: ac_cv_crypt_SHA256=no
! 231: ])])
! 232:
! 233:
! 234: dnl
! 235: dnl If one of them is missing, use our own implementation, portable code is then possible
! 236: dnl
! 237: if test "$ac_cv_crypt_blowfish" = "no" || test "$ac_cv_crypt_des" = "no" || test "$ac_cv_crypt_ext_des" = "no" || test "x$php_crypt_r" = "x0"; then
! 238:
! 239: dnl
! 240: dnl Check for __alignof__ support in the compiler
! 241: dnl
! 242: AC_CACHE_CHECK(whether the compiler supports __alignof__, ac_cv_alignof_exists,[
! 243: AC_TRY_COMPILE([
! 244: ],[
! 245: int align = __alignof__(int);
! 246: ],[
! 247: ac_cv_alignof_exists=yes
! 248: ],[
! 249: ac_cv_alignof_exists=no
! 250: ])])
! 251: if test "$ac_cv_alignof_exists" = "yes"; then
! 252: AC_DEFINE([HAVE_ALIGNOF], 1, [whether the compiler supports __alignof__])
! 253: fi
! 254:
! 255: dnl
! 256: dnl Check for __attribute__ ((__aligned__)) support in the compiler
! 257: dnl
! 258: AC_CACHE_CHECK(whether the compiler supports aligned attribute, ac_cv_attribute_aligned,[
! 259: AC_TRY_COMPILE([
! 260: ],[
! 261: unsigned char test[32] __attribute__ ((__aligned__ (__alignof__ (int))));
! 262: ],[
! 263: ac_cv_attribute_aligned=yes
! 264: ],[
! 265: ac_cv_attribute_aligned=no
! 266: ])])
! 267: if test "$ac_cv_attribute_aligned" = "yes"; then
! 268: AC_DEFINE([HAVE_ATTRIBUTE_ALIGNED], 1, [whether the compiler supports __attribute__ ((__aligned__))])
! 269: fi
! 270:
! 271:
! 272: AC_DEFINE_UNQUOTED(PHP_USE_PHP_CRYPT_R, 1, [Whether PHP has to use its own crypt_r for blowfish, des, ext des and md5])
! 273: AC_DEFINE_UNQUOTED(PHP_STD_DES_CRYPT, 1, [Whether the system supports standard DES salt])
! 274: AC_DEFINE_UNQUOTED(PHP_BLOWFISH_CRYPT, 1, [Whether the system supports BlowFish salt])
! 275: AC_DEFINE_UNQUOTED(PHP_EXT_DES_CRYPT, 1, [Whether the system supports extended DES salt])
! 276: AC_DEFINE_UNQUOTED(PHP_MD5_CRYPT, 1, [Whether the system supports MD5 salt])
! 277: AC_DEFINE_UNQUOTED(PHP_SHA512_CRYPT, 1, [Whether the system supports SHA512 salt])
! 278: AC_DEFINE_UNQUOTED(PHP_SHA256_CRYPT, 1, [Whether the system supports SHA256 salt])
! 279:
! 280: PHP_ADD_SOURCES(PHP_EXT_DIR(standard), crypt_freesec.c crypt_blowfish.c crypt_sha512.c crypt_sha256.c php_crypt_r.c)
! 281: else
! 282: if test "$ac_cv_crypt_des" = "yes"; then
! 283: ac_result=1
! 284: ac_crypt_des=1
! 285: else
! 286: ac_result=0
! 287: ac_crypt_des=0
! 288: fi
! 289: AC_DEFINE_UNQUOTED(PHP_STD_DES_CRYPT, $ac_result, [Whether the system supports standard DES salt])
! 290:
! 291: if test "$ac_cv_crypt_blowfish" = "yes"; then
! 292: ac_result=1
! 293: ac_crypt_blowfish=1
! 294: else
! 295: ac_result=0
! 296: ac_crypt_blowfish=0
! 297: fi
! 298: AC_DEFINE_UNQUOTED(PHP_BLOWFISH_CRYPT, $ac_result, [Whether the system supports BlowFish salt])
! 299:
! 300: if test "$ac_cv_crypt_ext_des" = "yes"; then
! 301: ac_result=1
! 302: ac_crypt_edes=1
! 303: else
! 304: ac_result=0
! 305: ac_crypt_edes=0
! 306: fi
! 307: AC_DEFINE_UNQUOTED(PHP_EXT_DES_CRYPT, $ac_result, [Whether the system supports extended DES salt])
! 308:
! 309: if test "$ac_cv_crypt_md5" = "yes"; then
! 310: ac_result=1
! 311: ac_crypt_md5=1
! 312: else
! 313: ac_result=0
! 314: ac_crypt_md5=0
! 315: fi
! 316: AC_DEFINE_UNQUOTED(PHP_MD5_CRYPT, $ac_result, [Whether the system supports MD5 salt])
! 317:
! 318: if test "$ac_cv_crypt_sha512" = "yes"; then
! 319: ac_result=1
! 320: ac_crypt_sha512=1
! 321: else
! 322: ac_result=0
! 323: ac_crypt_sha512=0
! 324: fi
! 325: AC_DEFINE_UNQUOTED(PHP_SHA512_CRYPT, $ac_result, [Whether the system supports SHA512 salt])
! 326:
! 327: if test "$ac_cv_crypt_sha256" = "yes"; then
! 328: ac_result=1
! 329: ac_crypt_sha256=1
! 330: else
! 331: ac_result=0
! 332: ac_crypt_sha256=0
! 333: fi
! 334: AC_DEFINE_UNQUOTED(PHP_SHA256_CRYPT, $ac_result, [Whether the system supports SHA256 salt])
! 335:
! 336: AC_DEFINE_UNQUOTED(PHP_USE_PHP_CRYPT_R, 0, [Whether PHP has to use its own crypt_r for blowfish, des and ext des])
! 337: fi
! 338:
! 339: dnl
! 340: dnl Check for available functions
! 341: dnl
! 342: AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan mempcpy strpncpy)
! 343: AC_FUNC_FNMATCH
! 344:
! 345: divert(6006005)dnl
! 346:
! 347: dnl
! 348: dnl Check if there is a support means of creating a new process
! 349: dnl and defining which handles it receives
! 350: dnl
! 351: AC_CHECK_FUNCS(fork CreateProcess, [
! 352: php_can_support_proc_open=yes
! 353: break
! 354: ],[
! 355: php_can_support_proc_open=no
! 356: ])
! 357: AC_MSG_CHECKING([if your OS can spawn processes with inherited handles])
! 358: if test "$php_can_support_proc_open" = "yes"; then
! 359: AC_MSG_RESULT(yes)
! 360: AC_DEFINE(PHP_CAN_SUPPORT_PROC_OPEN,1, [Define if your system has fork/vfork/CreateProcess])
! 361: else
! 362: AC_MSG_RESULT(no)
! 363: fi
! 364:
! 365: if test "$PHP_SAPI" = "cgi" || test "$PHP_SAPI" = "cli" || test "$PHP_SAPI" = "embed"; then
! 366: AC_DEFINE(ENABLE_CHROOT_FUNC, 1, [Whether to enable chroot() function])
! 367: fi
! 368:
! 369: dnl
! 370: dnl Detect library functions needed by php dns_xxx functions
! 371: dnl ext/standard/php_dns.h will collect these in a single define: HAVE_FULL_DNS_FUNCS
! 372: dnl
! 373: PHP_CHECK_FUNC(res_nsearch, resolv, bind, socket)
! 374: PHP_CHECK_FUNC(dns_search, resolv, bind, socket)
! 375: PHP_CHECK_FUNC(dn_expand, resolv, bind, socket)
! 376: PHP_CHECK_FUNC(dn_skipname, resolv, bind, socket)
! 377:
! 378: dnl
! 379: dnl These are old deprecated functions
! 380: dnl
! 381:
! 382: PHP_CHECK_FUNC(res_search, resolv, bind, socket)
! 383:
! 384: dnl
! 385: dnl Check if atof() accepts NAN
! 386: dnl
! 387: AC_CACHE_CHECK(whether atof() accepts NAN, ac_cv_atof_accept_nan,[
! 388: AC_TRY_RUN([
! 389: #include <math.h>
! 390: #include <stdlib.h>
! 391:
! 392: #ifdef HAVE_ISNAN
! 393: #define zend_isnan(a) isnan(a)
! 394: #elif defined(HAVE_FPCLASS)
! 395: #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
! 396: #else
! 397: #define zend_isnan(a) 0
! 398: #endif
! 399:
! 400: int main(int argc, char** argv)
! 401: {
! 402: return zend_isnan(atof("NAN")) ? 0 : 1;
! 403: }
! 404: ],[
! 405: ac_cv_atof_accept_nan=yes
! 406: ],[
! 407: ac_cv_atof_accept_nan=no
! 408: ],[
! 409: ac_cv_atof_accept_nan=no
! 410: ])])
! 411: if test "$ac_cv_atof_accept_nan" = "yes"; then
! 412: AC_DEFINE([HAVE_ATOF_ACCEPTS_NAN], 1, [whether atof() accepts NAN])
! 413: fi
! 414:
! 415: dnl
! 416: dnl Check if atof() accepts INF
! 417: dnl
! 418: AC_CACHE_CHECK(whether atof() accepts INF, ac_cv_atof_accept_inf,[
! 419: AC_TRY_RUN([
! 420: #include <math.h>
! 421: #include <stdlib.h>
! 422:
! 423: #ifdef HAVE_ISINF
! 424: #define zend_isinf(a) isinf(a)
! 425: #elif defined(INFINITY)
! 426: /* Might not work, but is required by ISO C99 */
! 427: #define zend_isinf(a) (((a)==INFINITY)?1:0)
! 428: #elif defined(HAVE_FPCLASS)
! 429: #define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
! 430: #else
! 431: #define zend_isinf(a) 0
! 432: #endif
! 433:
! 434: int main(int argc, char** argv)
! 435: {
! 436: return zend_isinf(atof("INF")) && zend_isinf(atof("-INF")) ? 0 : 1;
! 437: }
! 438: ],[
! 439: ac_cv_atof_accept_inf=yes
! 440: ],[
! 441: ac_cv_atof_accept_inf=no
! 442: ],[
! 443: ac_cv_atof_accept_inf=no
! 444: ])])
! 445: if test "$ac_cv_atof_accept_inf" = "yes"; then
! 446: AC_DEFINE([HAVE_ATOF_ACCEPTS_INF], 1, [whether atof() accepts INF])
! 447: fi
! 448:
! 449: dnl
! 450: dnl Check if HUGE_VAL == INF
! 451: dnl
! 452: AC_CACHE_CHECK(whether HUGE_VAL == INF, ac_cv_huge_val_inf,[
! 453: AC_TRY_RUN([
! 454: #include <math.h>
! 455: #include <stdlib.h>
! 456:
! 457: #ifdef HAVE_ISINF
! 458: #define zend_isinf(a) isinf(a)
! 459: #elif defined(INFINITY)
! 460: /* Might not work, but is required by ISO C99 */
! 461: #define zend_isinf(a) (((a)==INFINITY)?1:0)
! 462: #elif defined(HAVE_FPCLASS)
! 463: #define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
! 464: #else
! 465: #define zend_isinf(a) 0
! 466: #endif
! 467:
! 468: int main(int argc, char** argv)
! 469: {
! 470: return zend_isinf(HUGE_VAL) ? 0 : 1;
! 471: }
! 472: ],[
! 473: ac_cv_huge_val_inf=yes
! 474: ],[
! 475: ac_cv_huge_val_inf=no
! 476: ],[
! 477: ac_cv_huge_val_inf=yes
! 478: ])])
! 479: dnl This is the most probable fallback so we assume yes in case of cross compile.
! 480: if test "$ac_cv_huge_val_inf" = "yes"; then
! 481: AC_DEFINE([HAVE_HUGE_VAL_INF], 1, [whether HUGE_VAL == INF])
! 482: fi
! 483:
! 484: dnl
! 485: dnl Check if HUGE_VAL + -HUGEVAL == NAN
! 486: dnl
! 487: AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL == NAN, ac_cv_huge_val_nan,[
! 488: AC_TRY_RUN([
! 489: #include <math.h>
! 490: #include <stdlib.h>
! 491:
! 492: #ifdef HAVE_ISNAN
! 493: #define zend_isnan(a) isnan(a)
! 494: #elif defined(HAVE_FPCLASS)
! 495: #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
! 496: #else
! 497: #define zend_isnan(a) 0
! 498: #endif
! 499:
! 500: int main(int argc, char** argv)
! 501: {
! 502: #if defined(__sparc__) && !(__GNUC__ >= 3)
! 503: /* prevent bug #27830 */
! 504: return 1;
! 505: #else
! 506: return zend_isnan(HUGE_VAL + -HUGE_VAL) ? 0 : 1;
! 507: #endif
! 508: }
! 509: ],[
! 510: ac_cv_huge_val_nan=yes
! 511: ],[
! 512: ac_cv_huge_val_nan=no
! 513: ],[
! 514: ac_cv_huge_val_nan=yes
! 515: ])])
! 516: dnl This is the most probable fallback so we assume yes in case of cross compile.
! 517: if test "$ac_cv_huge_val_nan" = "yes"; then
! 518: AC_DEFINE([HAVE_HUGE_VAL_NAN], 1, [whether HUGE_VAL + -HUGEVAL == NAN])
! 519: fi
! 520:
! 521: dnl
! 522: dnl Check for strptime()
! 523: dnl
! 524: AC_CACHE_CHECK(whether strptime() declaration fails, ac_cv_strptime_decl_fails,[
! 525: AC_TRY_COMPILE([
! 526: #include <time.h>
! 527: ],[
! 528: #ifndef HAVE_STRPTIME
! 529: #error no strptime() on this platform
! 530: #else
! 531: /* use invalid strptime() declaration to see if it fails to compile */
! 532: int strptime(const char *s, const char *format, struct tm *tm);
! 533: #endif
! 534: ],[
! 535: ac_cv_strptime_decl_fails=no
! 536: ],[
! 537: ac_cv_strptime_decl_fails=yes
! 538: ])])
! 539: if test "$ac_cv_strptime_decl_fails" = "yes"; then
! 540: AC_DEFINE([HAVE_STRPTIME_DECL_FAILS], 1, [whether strptime() declaration fails])
! 541: fi
! 542:
! 543: dnl
! 544: dnl Check for i18n capabilities
! 545: dnl
! 546: AC_CHECK_HEADERS([wchar.h])
! 547: AC_CHECK_FUNCS([mblen])
! 548: AC_CHECK_FUNCS([mbrlen mbsinit],,,[
! 549: #ifdef HAVE_WCHAR_H
! 550: # include <wchar.h>
! 551: #endif
! 552: ])
! 553: AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t],[
! 554: AC_TRY_COMPILE([
! 555: #ifdef HAVE_WCHAR_H
! 556: # include <wchar.h>
! 557: #endif
! 558: ],[
! 559: int __tmp__() { mbstate_t a; }
! 560: ],[
! 561: ac_cv_type_mbstate_t=yes
! 562: ],[
! 563: ac_cv_type_mbstate_t=no
! 564: ])])
! 565: if test "$ac_cv_type_mbstate_t" = "yes"; then
! 566: AC_DEFINE([HAVE_MBSTATE_T], 1, [Define if your system has mbstate_t in wchar.h])
! 567: fi
! 568:
! 569: dnl
! 570: dnl Check for atomic operation API availability in Solaris
! 571: dnl
! 572: AC_CHECK_HEADERS([atomic.h])
! 573:
! 574: dnl
! 575: dnl Setup extension sources
! 576: dnl
! 577: PHP_NEW_EXTENSION(standard, array.c base64.c basic_functions.c browscap.c crc32.c crypt.c \
! 578: cyr_convert.c datetime.c dir.c dl.c dns.c exec.c file.c filestat.c \
! 579: flock_compat.c formatted_print.c fsock.c head.c html.c image.c \
! 580: info.c iptc.c lcg.c link.c mail.c math.c md5.c metaphone.c \
! 581: microtime.c pack.c pageinfo.c quot_print.c rand.c \
! 582: soundex.c string.c scanf.c syslog.c type.c uniqid.c url.c \
! 583: var.c versioning.c assert.c strnatcmp.c levenshtein.c \
! 584: incomplete_class.c url_scanner_ex.c ftp_fopen_wrapper.c \
! 585: http_fopen_wrapper.c php_fopen_wrapper.c credits.c css.c \
! 586: var_unserializer.c ftok.c sha1.c user_filters.c uuencode.c \
! 587: filters.c proc_open.c streamsfuncs.c http.c)
! 588:
! 589: PHP_ADD_MAKEFILE_FRAGMENT
! 590: PHP_INSTALL_HEADERS([ext/standard/])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>