Annotation of embedaddon/php/ext/standard/config.m4, revision 1.1.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>