GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — php-src/acinclude.m4 at master · adazzi/php-src Expand file tree/ Copy pathacinclude.m4More file actions 2971 lines (2717 loc) · 76.3 KB / Copy pathacinclude.m4File metadata and controls2971 lines (2717 loc) · 76.3 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 dnl dnl $Id$ dnl dnl This file contains local autoconf functions. dnl dnl ------------------------------------------------------------------------- dnl Output stylize macros for configure (help/runtime) dnl ------------------------------------------------------------------------- dnl dnl PHP_HELP_SEPARATOR(title) dnl dnl Adds separator title into the configure --help display. dnl AC_DEFUN([PHP_HELP_SEPARATOR],[ AC_ARG_ENABLE([],[ $1 ],[]) ]) dnl dnl PHP_CONFIGURE_PART(title) dnl dnl Adds separator title configure output (idea borrowed from mm) dnl AC_DEFUN([PHP_CONFIGURE_PART],[ AC_MSG_RESULT() AC_MSG_RESULT([${T_MD}$1${T_ME}]) ]) dnl ------------------------------------------------------------------------- dnl Build system helper macros dnl ------------------------------------------------------------------------- dnl dnl PHP_DEF_HAVE(what) dnl dnl Generates 'AC_DEFINE(HAVE_WHAT, 1, [ ])' dnl AC_DEFUN([PHP_DEF_HAVE],[AC_DEFINE([HAVE_]translit($1,a-z_.-,A-Z___), 1, [ ])]) dnl dnl PHP_RUN_ONCE(namespace, variable, code) dnl dnl execute code, if variable is not set in namespace dnl AC_DEFUN([PHP_RUN_ONCE],[ changequote({,}) unique=`echo $2|$SED 's/[^a-zA-Z0-9]/_/g'` changequote([,]) cmd="echo $ac_n \"\$$1$unique$ac_c\"" if test -n "$unique" && test "`eval $cmd`" = "" ; then eval "$1$unique=set" $3 fi ]) dnl dnl PHP_EXPAND_PATH(path, variable) dnl dnl expands path to an absolute path and assigns it to variable dnl AC_DEFUN([PHP_EXPAND_PATH],[ if test -z "$1" || echo "$1" | grep '^/' >/dev/null ; then $2=$1 else changequote({,}) ep_dir="`echo $1|$SED 's%/*[^/][^/]*/*$%%'`" changequote([,]) ep_realdir="`(cd \"$ep_dir\" && pwd)`" $2="$ep_realdir/`basename \"$1\"`" fi ]) dnl dnl PHP_DEFINE(WHAT [, value[, directory]]) dnl dnl Creates builddir/include/what.h and in there #define WHAT value dnl AC_DEFUN([PHP_DEFINE],[ [echo "#define ]$1[]ifelse([$2],,[ 1],[ $2])[" > ]ifelse([$3],,[include],[$3])[/php_]translit($1,A-Z,a-z)[.h] ]) dnl dnl PHP_SUBST(varname) dnl dnl Adds variable with it's value into Makefile, e.g.: dnl CC = gcc dnl AC_DEFUN([PHP_SUBST],[ PHP_VAR_SUBST="$PHP_VAR_SUBST $1" ]) dnl dnl PHP_SUBST_OLD(varname) dnl dnl Same as PHP_SUBST() but also substitutes all @VARNAME@ dnl instances in every file passed to AC_OUTPUT() dnl AC_DEFUN([PHP_SUBST_OLD],[ PHP_SUBST($1) AC_SUBST($1) ]) dnl dnl PHP_OUTPUT(file) dnl dnl Adds "file" to the list of files generated by AC_OUTPUT dnl This macro can be used several times. dnl AC_DEFUN([PHP_OUTPUT],[ PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1" ]) dnl ------------------------------------------------------------------------- dnl Build system base macros dnl ------------------------------------------------------------------------- dnl dnl PHP_CANONICAL_HOST_TARGET dnl AC_DEFUN([PHP_CANONICAL_HOST_TARGET],[ AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_TARGET])dnl dnl Make sure we do not continue if host_alias is empty. if test -z "$host_alias" && test -n "$host"; then host_alias=$host fi if test -z "$host_alias"; then AC_MSG_ERROR([host_alias is not set!]) fi ]) dnl dnl PHP_INIT_BUILD_SYSTEM dnl AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[ AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl test -d include || $php_shtool mkdir include > Makefile.objects > Makefile.fragments dnl We need to play tricks here to avoid matching the grep line itself pattern=define $EGREP $pattern'.*include/php' $srcdir/configure|$SED 's/.*>//'|xargs touch 2>/dev/null ]) dnl dnl PHP_GEN_GLOBAL_MAKEFILE dnl dnl Generates the global makefile. dnl AC_DEFUN([PHP_GEN_GLOBAL_MAKEFILE],[ cat >Makefile <<EOF srcdir = $abs_srcdir builddir = $abs_builddir top_srcdir = $abs_srcdir top_builddir = $abs_builddir EOF for i in $PHP_VAR_SUBST; do eval echo "$i = \$$i" >> Makefile done cat $abs_srcdir/Makefile.global Makefile.fragments Makefile.objects >> Makefile ]) dnl dnl PHP_ADD_MAKEFILE_FRAGMENT([srcfile [, ext_srcdir [, ext_builddir]]]) dnl dnl Processes a file called Makefile.frag in the source directory dnl of the most recently added extension. $(srcdir) and $(builddir) dnl are substituted with the proper paths. Can be used to supply dnl custom rules and/or additional targets. dnl AC_DEFUN([PHP_ADD_MAKEFILE_FRAGMENT],[ ifelse($1,,src=$ext_srcdir/Makefile.frag,src=$1) ifelse($2,,ac_srcdir=$ext_srcdir,ac_srcdir=$2) ifelse($3,,ac_builddir=$ext_builddir,ac_builddir=$3) test -f "$src" && $SED -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments ]) dnl dnl PHP_ADD_SOURCES(source-path, sources [, special-flags [, type]]) dnl dnl Adds sources which are located relative to source-path to the dnl array of type type. Sources are processed with optional dnl special-flags which are passed to the compiler. Sources dnl can be either written in C or C++ (filenames shall end in .c dnl or .cpp, respectively). dnl dnl Note: If source-path begins with a "/", the "/" is removed and dnl the path is interpreted relative to the top build-directory. dnl dnl which array to append to? AC_DEFUN([PHP_ADD_SOURCES],[ PHP_ADD_SOURCES_X($1, $2, $3, ifelse($4,sapi,PHP_SAPI_OBJS,PHP_GLOBAL_OBJS)) ]) dnl dnl _PHP_ASSIGN_BUILD_VARS(type) dnl internal, don't use AC_DEFUN([_PHP_ASSIGN_BUILD_VARS],[ ifelse($1,shared,[ b_c_pre=$shared_c_pre b_cxx_pre=$shared_cxx_pre b_c_meta=$shared_c_meta b_cxx_meta=$shared_cxx_meta b_c_post=$shared_c_post b_cxx_post=$shared_cxx_post ],[ b_c_pre=$php_c_pre b_cxx_pre=$php_cxx_pre b_c_meta=$php_c_meta b_cxx_meta=$php_cxx_meta b_c_post=$php_c_post b_cxx_post=$php_cxx_post ])dnl b_lo=[$]$1_lo ]) dnl dnl PHP_ADD_SOURCES_X(source-path, sources[, special-flags[, target-var[, shared[, special-post-flags]]]]) dnl dnl Additional to PHP_ADD_SOURCES (see above), this lets you set the dnl name of the array target-var directly, as well as whether dnl shared objects will be built from the sources. dnl dnl Should not be used directly. dnl AC_DEFUN([PHP_ADD_SOURCES_X],[ dnl relative to source- or build-directory? dnl ac_srcdir/ac_bdir include trailing slash case $1 in ""[)] ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; /*[)] ac_srcdir=`echo "$1"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; *[)] ac_srcdir="$abs_srcdir/$1/"; ac_bdir="$1/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; esac dnl how to build .. shared or static? ifelse($5,yes,_PHP_ASSIGN_BUILD_VARS(shared),_PHP_ASSIGN_BUILD_VARS(php)) dnl iterate over the sources old_IFS=[$]IFS for ac_src in $2; do dnl remove the suffix IFS=. set $ac_src ac_obj=[$]1 IFS=$old_IFS dnl append to the array which has been dynamically chosen at m4 time $4="[$]$4 [$]ac_bdir[$]ac_obj.lo" dnl choose the right compiler/flags/etc. for the source-file case $ac_src in *.c[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; *.s[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; *.S[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; *.cpp|*.cc|*.cxx[)] ac_comp="$b_cxx_pre $3 $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_cxx_post" ;; esac dnl create a rule for the object/source combo cat >>Makefile.objects<<EOF $ac_bdir[$]ac_obj.lo: $ac_srcdir[$]ac_src $ac_comp EOF done ]) dnl ------------------------------------------------------------------------- dnl Compiler characteristics checks dnl ------------------------------------------------------------------------- dnl dnl PHP_TARGET_RDYNAMIC dnl dnl Checks whether -rdynamic is supported by the compiler. This dnl is necessary for some targets to populate the global symbol dnl table. Otherwise, dynamic modules would not be able to resolve dnl PHP-related symbols. dnl dnl If successful, adds -rdynamic to PHP_LDFLAGS. dnl AC_DEFUN([PHP_TARGET_RDYNAMIC],[ if test -n "$GCC"; then dnl we should use a PHP-specific macro here PHP_CHECK_GCC_ARG(-rdynamic, gcc_rdynamic=yes) if test "$gcc_rdynamic" = "yes"; then PHP_LDFLAGS="$PHP_LDFLAGS -rdynamic" fi fi ]) dnl dnl PHP_RUNPATH_SWITCH dnl dnl Checks for -R, etc. switch dnl AC_DEFUN([PHP_RUNPATH_SWITCH],[ AC_MSG_CHECKING([if compiler supports -R]) AC_CACHE_VAL(php_cv_cc_dashr,[ SAVE_LIBS=$LIBS LIBS="-R /usr/$PHP_LIBDIR $LIBS" AC_TRY_LINK([], [], php_cv_cc_dashr=yes, php_cv_cc_dashr=no) LIBS=$SAVE_LIBS]) AC_MSG_RESULT([$php_cv_cc_dashr]) if test $php_cv_cc_dashr = "yes"; then ld_runpath_switch=-R else AC_MSG_CHECKING([if compiler supports -Wl,-rpath,]) AC_CACHE_VAL(php_cv_cc_rpath,[ SAVE_LIBS=$LIBS LIBS="-Wl,-rpath,/usr/$PHP_LIBDIR $LIBS" AC_TRY_LINK([], [], php_cv_cc_rpath=yes, php_cv_cc_rpath=no) LIBS=$SAVE_LIBS]) AC_MSG_RESULT([$php_cv_cc_rpath]) if test $php_cv_cc_rpath = "yes"; then ld_runpath_switch=-Wl,-rpath, else dnl something innocuous ld_runpath_switch=-L fi fi if test "$PHP_RPATH" = "no"; then ld_runpath_switch= fi ]) dnl dnl PHP_CHECK_GCC_ARG(arg, action-if-found, action-if-not-found) dnl AC_DEFUN([PHP_CHECK_GCC_ARG],[ gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_) AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [ echo 'void somefunc() { };' > conftest.c cmd='$CC $1 -c conftest.c' if eval $cmd 2>&1 | $EGREP -e $1 >/dev/null ; then ac_result=no else ac_result=yes fi eval $gcc_arg_name=$ac_result rm -f conftest.* ]) if eval test "\$$gcc_arg_name" = "yes"; then $2 else : $3 fi ]) dnl dnl PHP_LIBGCC_LIBPATH(gcc) dnl dnl Stores the location of libgcc in libgcc_libpath dnl AC_DEFUN([PHP_LIBGCC_LIBPATH],[ changequote({,}) libgcc_libpath=`$1 --print-libgcc-file-name|$SED 's%/*[^/][^/]*$%%'` changequote([,]) ]) dnl ------------------------------------------------------------------------- dnl Macros to modify LIBS, INCLUDES, etc. variables dnl ------------------------------------------------------------------------- dnl dnl PHP_REMOVE_USR_LIB(NAME) dnl dnl Removes all -L/usr/$PHP_LIBDIR entries from variable NAME dnl AC_DEFUN([PHP_REMOVE_USR_LIB],[ unset ac_new_flags for i in [$]$1; do case [$]i in -L/usr/$PHP_LIBDIR|-L/usr/$PHP_LIBDIR/[)] ;; *[)] ac_new_flags="[$]ac_new_flags [$]i" ;; esac done $1=[$]ac_new_flags ]) dnl dnl PHP_EVAL_LIBLINE(libline, SHARED-LIBADD) dnl dnl Use this macro, if you need to add libraries and or library search dnl paths to the PHP build system which are only given in compiler dnl notation. dnl AC_DEFUN([PHP_EVAL_LIBLINE],[ for ac_i in $1; do case $ac_i in -pthread[)] if test "$ext_shared" = "yes"; then $2="[$]$2 -pthread" else PHP_RUN_ONCE(EXTRA_LDFLAGS, [$ac_i], [EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ac_i"]) fi ;; -l*[)] ac_ii=`echo $ac_i|cut -c 3-` PHP_ADD_LIBRARY($ac_ii,1,$2) ;; -L*[)] ac_ii=`echo $ac_i|cut -c 3-` PHP_ADD_LIBPATH($ac_ii,$2) ;; esac done ]) dnl dnl PHP_EVAL_INCLINE(headerline) dnl dnl Use this macro, if you need to add header search paths to the PHP dnl build system which are only given in compiler notation. dnl AC_DEFUN([PHP_EVAL_INCLINE],[ for ac_i in $1; do case $ac_i in -I*[)] ac_ii=`echo $ac_i|cut -c 3-` PHP_ADD_INCLUDE($ac_ii) ;; esac done ]) dnl internal, don't use AC_DEFUN([_PHP_ADD_LIBPATH_GLOBAL],[ PHP_RUN_ONCE(LIBPATH, $1, [ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$1" LDFLAGS="$LDFLAGS -L$1" PHP_RPATHS="$PHP_RPATHS $1" ]) ])dnl dnl dnl dnl PHP_ADD_LIBPATH(path [, SHARED-LIBADD]) dnl dnl Adds a path to linkpath/runpath (LDFLAGS) dnl AC_DEFUN([PHP_ADD_LIBPATH],[ if test "$1" != "/usr/$PHP_LIBDIR" && test "$1" != "/usr/lib"; then PHP_EXPAND_PATH($1, ai_p) ifelse([$2],,[ _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) ],[ if test "$ext_shared" = "yes"; then $2="-L$ai_p [$]$2" test -n "$ld_runpath_switch" && $2="$ld_runpath_switch$ai_p [$]$2" else _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) fi ]) fi ]) dnl dnl PHP_UTILIZE_RPATHS() dnl dnl builds RPATHS/LDFLAGS from PHP_RPATHS dnl AC_DEFUN([PHP_UTILIZE_RPATHS],[ OLD_RPATHS=$PHP_RPATHS unset PHP_RPATHS for i in $OLD_RPATHS; do dnl Can be passed to native cc/libtool PHP_LDFLAGS="$PHP_LDFLAGS -L$i" dnl Libtool-specific PHP_RPATHS="$PHP_RPATHS -R $i" dnl cc-specific NATIVE_RPATHS="$NATIVE_RPATHS $ld_runpath_switch$i" done if test "$PHP_RPATH" = "no"; then unset PHP_RPATHS unset NATIVE_RPATHS fi ]) dnl dnl PHP_ADD_INCLUDE(path [,before]) dnl dnl add an include path. dnl if before is 1, add in the beginning of INCLUDES. dnl AC_DEFUN([PHP_ADD_INCLUDE],[ if test "$1" != "/usr/include"; then PHP_EXPAND_PATH($1, ai_p) PHP_RUN_ONCE(INCLUDEPATH, $ai_p, [ if test "$2"; then INCLUDES="-I$ai_p $INCLUDES" else INCLUDES="$INCLUDES -I$ai_p" fi ]) fi ]) dnl internal, don't use AC_DEFUN([_PHP_X_ADD_LIBRARY],[dnl ifelse([$2],,$3="-l$1 [$]$3", $3="[$]$3 -l$1") dnl ])dnl dnl dnl internal, don't use AC_DEFUN([_PHP_ADD_LIBRARY_SKELETON],[ case $1 in c|c_r|pthread*[)] ;; *[)] ifelse($3,,[ _PHP_X_ADD_LIBRARY($1,$2,$5) ],[ if test "$ext_shared" = "yes"; then _PHP_X_ADD_LIBRARY($1,$2,$3) else $4($1,$2) fi ]) ;; esac ])dnl dnl dnl dnl PHP_ADD_LIBRARY(library[, append[, shared-libadd]]) dnl dnl add a library to the link line dnl AC_DEFUN([PHP_ADD_LIBRARY],[ _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY],[LIBS]) ]) dnl dnl PHP_ADD_LIBRARY_DEFER(library[, append[, shared-libadd]]) dnl dnl add a library to the link line (deferred, not used during configure) dnl AC_DEFUN([PHP_ADD_LIBRARY_DEFER],[ _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY_DEFER],[DLIBS]) ]) dnl dnl PHP_ADD_LIBRARY_WITH_PATH(library, path[, shared-libadd]) dnl dnl add a library to the link line and path to linkpath/runpath. dnl if shared-libadd is not empty and $ext_shared is yes, dnl shared-libadd will be assigned the library information dnl AC_DEFUN([PHP_ADD_LIBRARY_WITH_PATH],[ ifelse($3,,[ if test -n "$2"; then PHP_ADD_LIBPATH($2) fi PHP_ADD_LIBRARY($1) ],[ if test "$ext_shared" = "yes"; then $3="-l$1 [$]$3" if test -n "$2"; then PHP_ADD_LIBPATH($2,$3) fi else PHP_ADD_LIBRARY_WITH_PATH($1,$2) fi ]) ]) dnl dnl PHP_ADD_LIBRARY_DEFER_WITH_PATH(library, path[, shared-libadd]) dnl dnl add a library to the link line (deferred) dnl and path to linkpath/runpath (not deferred) dnl if shared-libadd is not empty and $ext_shared is yes, dnl shared-libadd will be assigned the library information dnl AC_DEFUN([PHP_ADD_LIBRARY_DEFER_WITH_PATH],[ ifelse($3,,[ if test -n "$2"; then PHP_ADD_LIBPATH($2) fi PHP_ADD_LIBRARY_DEFER($1) ],[ if test "$ext_shared" = "yes"; then $3="-l$1 [$]$3" if test -n "$2"; then PHP_ADD_LIBPATH($2,$3) fi else PHP_ADD_LIBRARY_DEFER_WITH_PATH($1,$2) fi ]) ]) dnl dnl PHP_ADD_FRAMEWORK(framework [,before]) dnl dnl add a (Darwin / Mac OS X) framework to the link dnl line. if before is 1, the framework is added dnl to the beginning of the line. dnl AC_DEFUN([PHP_ADD_FRAMEWORK], [ PHP_RUN_ONCE(FRAMEWORKS, $1, [ if test "$2"; then PHP_FRAMEWORKS="-framework $1 $PHP_FRAMEWORKS" else PHP_FRAMEWORKS="$PHP_FRAMEWORKS -framework $1" fi ]) ]) dnl dnl PHP_ADD_FRAMEWORKPATH(path [,before]) dnl dnl add a (Darwin / Mac OS X) framework path to the link dnl and include lines. default paths include (but are dnl not limited to) /Local/Library/Frameworks and dnl /System/Library/Frameworks, so these don't need dnl to be specifically added. if before is 1, the dnl framework path is added to the beginning of the dnl relevant lines. dnl AC_DEFUN([PHP_ADD_FRAMEWORKPATH], [ PHP_EXPAND_PATH($1, ai_p) PHP_RUN_ONCE(FRAMEWORKPATH, $ai_p, [ if test "$2"; then PHP_FRAMEWORKPATH="-F$ai_p $PHP_FRAMEWORKPATH" else PHP_FRAMEWORKPATH="$PHP_FRAMEWORKPATH -F$ai_p" fi ]) ]) dnl dnl PHP_ADD_FRAMEWORK_WITH_PATH(framework, path) dnl dnl Adds a (Darwin / Mac OS X) framework path and the dnl framework itself to the link and include lines. dnl AC_DEFUN([PHP_ADD_FRAMEWORK_WITH_PATH], [ PHP_ADD_FRAMEWORKPATH($2) PHP_ADD_FRAMEWORK($1) ]) dnl dnl PHP_SET_LIBTOOL_VARIABLE(var) dnl dnl Set libtool variable dnl AC_DEFUN([PHP_SET_LIBTOOL_VARIABLE],[ if test -z "$LIBTOOL"; then LIBTOOL='$(SHELL) $(top_builddir)/libtool $1' else LIBTOOL="$LIBTOOL $1" fi ]) dnl ------------------------------------------------------------------------- dnl Wrapper macros for AC_ARG_WITH / AC_ARG_ENABLE dnl ------------------------------------------------------------------------- dnl PHP_ARG_ANALYZE_EX dnl internal AC_DEFUN([PHP_ARG_ANALYZE_EX],[ ext_output="yes, shared" ext_shared=yes case [$]$1 in shared,*[)] $1=`echo "[$]$1"|$SED 's/^shared,//'` ;; shared[)] $1=yes ;; no[)] ext_output=no ext_shared=no ;; *[)] ext_output=yes ext_shared=no ;; esac PHP_ALWAYS_SHARED([$1]) ]) dnl PHP_ARG_ANALYZE dnl internal AC_DEFUN([PHP_ARG_ANALYZE],[ ifelse([$3],yes,[PHP_ARG_ANALYZE_EX([$1])],[ext_output=ifelse([$]$1,,no,[$]$1)]) ifelse([$2],,,[AC_MSG_RESULT([$ext_output])]) ]) dnl dnl PHP_ARG_WITH(arg-name, check message, help text[, default-val[, extension-or-not]]) dnl Sets PHP_ARG_NAME either to the user value or to the default value. dnl default-val defaults to no. This will also set the variable ext_shared, dnl and will overwrite any previous variable of that name. dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run dnl the PHP_ARG_ANALYZE_EX. dnl AC_DEFUN([PHP_ARG_WITH],[ php_with_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) PHP_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) ]) dnl PHP_REAL_ARG_WITH dnl internal AC_DEFUN([PHP_REAL_ARG_WITH],[ ifelse([$2],,,[AC_MSG_CHECKING([$2])]) AC_ARG_WITH($1,[$3],$5=[$]withval, [ $5=ifelse($4,,no,$4) ifelse($6,yes,[test "$PHP_ENABLE_ALL" && $5=$PHP_ENABLE_ALL]) ]) PHP_ARG_ANALYZE($5,[$2],$6) ]) dnl dnl PHP_ARG_ENABLE(arg-name, check message, help text[, default-val[, extension-or-not]]) dnl Sets PHP_ARG_NAME either to the user value or to the default value. dnl default-val defaults to no. This will also set the variable ext_shared, dnl and will overwrite any previous variable of that name. dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run dnl the PHP_ARG_ANALYZE_EX. dnl AC_DEFUN([PHP_ARG_ENABLE],[ php_enable_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) ]) dnl PHP_REAL_ARG_ENABLE dnl internal AC_DEFUN([PHP_REAL_ARG_ENABLE],[ ifelse([$2],,,[AC_MSG_CHECKING([$2])]) AC_ARG_ENABLE($1,[$3],$5=[$]enableval, [ $5=ifelse($4,,no,$4) ifelse($6,yes,[test "$PHP_ENABLE_ALL" && $5=$PHP_ENABLE_ALL]) ]) PHP_ARG_ANALYZE($5,[$2],$6) ]) dnl ------------------------------------------------------------------------- dnl Build macros dnl ------------------------------------------------------------------------- dnl dnl PHP_BUILD_THREAD_SAFE dnl AC_DEFUN([PHP_BUILD_THREAD_SAFE],[ enable_maintainer_zts=yes if test "$pthreads_working" != "yes"; then AC_MSG_ERROR([ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads.]) fi ]) dnl dnl PHP_REQUIRE_CXX dnl AC_DEFUN([PHP_REQUIRE_CXX],[ if test -z "$php_cxx_done"; then AC_PROG_CXX AC_PROG_CXXCPP PHP_ADD_LIBRARY(stdc++) php_cxx_done=yes fi ]) dnl dnl PHP_BUILD_SHARED dnl AC_DEFUN([PHP_BUILD_SHARED],[ PHP_BUILD_PROGRAM OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] php_sapi_module=shared php_c_pre=$shared_c_pre php_c_meta=$shared_c_meta php_c_post=$shared_c_post php_cxx_pre=$shared_cxx_pre php_cxx_meta=$shared_cxx_meta php_cxx_post=$shared_cxx_post php_lo=$shared_lo ]) dnl dnl PHP_BUILD_STATIC dnl AC_DEFUN([PHP_BUILD_STATIC],[ PHP_BUILD_PROGRAM OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] php_sapi_module=static ]) dnl dnl PHP_BUILD_BUNDLE dnl AC_DEFUN([PHP_BUILD_BUNDLE],[ PHP_BUILD_PROGRAM OVERALL_TARGET=libs/libphp[]$PHP_MAJOR_VERSION[.bundle] php_sapi_module=static ]) dnl dnl PHP_BUILD_PROGRAM dnl AC_DEFUN([PHP_BUILD_PROGRAM],[ php_c_pre='$(LIBTOOL) --mode=compile $(CC)' php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' php_c_post= php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' php_cxx_post= php_lo=lo case $with_pic in yes) pic_setting='-prefer-pic';; no) pic_setting='-prefer-non-pic';; esac shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting shared_c_post= shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting shared_cxx_post= shared_lo=lo ]) dnl dnl PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx, zend_ext) dnl dnl Basically sets up the link-stage for building module-name dnl from object_var in build-dir. dnl AC_DEFUN([PHP_SHARED_MODULE],[ install_modules="install-modules" case $host_alias in *aix*[)] suffix=so link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -Wl,-G -o '$3'/$1.la -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) && mv -f '$3'/.libs/$1.so '$3'/$1.so' ;; *netware*[)] suffix=nlm link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -shared -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) ifelse($1, php5lib, , -L$(top_builddir)/netware -lphp5lib) $(translit(ifelse($1, php5lib, $1, m4_substr($1, 3)),a-z_-,A-Z__)_SHARED_LIBADD)' ;; *[)] suffix=la link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)' ;; esac if test "x$5" = "xyes"; then PHP_ZEND_EX="$PHP_ZEND_EX \$(phplibdir)/$1.$suffix" else PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix" fi PHP_SUBST($2) cat >>Makefile.objects<<EOF \$(phplibdir)/$1.$suffix: $3/$1.$suffix \$(LIBTOOL) --mode=install cp $3/$1.$suffix \$(phplibdir) $3/$1.$suffix: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES) $link_cmd EOF ]) dnl dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, build-target]]]) dnl dnl Selects the SAPI name and type (static, shared, bundle, program) dnl and optionally also the source-files for the SAPI-specific dnl objects. dnl AC_DEFUN([PHP_SELECT_SAPI],[ if test "$2" = "program"; then PHP_BINARIES="$PHP_BINARIES $1" elif test "$PHP_SAPI" != "none"; then AC_MSG_ERROR([ +--------------------------------------------------------------------+ | *** ATTENTION *** | | | | You've configured multiple SAPIs to be build. You can build only | | one SAPI module plus CGI, CLI and FPM binaries at the same time. | +--------------------------------------------------------------------+ ]) else PHP_SAPI=$1 fi PHP_ADD_BUILD_DIR([sapi/$1]) PHP_INSTALLED_SAPIS="$PHP_INSTALLED_SAPIS $1" ifelse($2,program,[ PHP_BUILD_PROGRAM install_binaries="install-binaries" install_binary_targets="$install_binary_targets install-$1" PHP_SUBST(PHP_[]translit($1,a-z0-9-,A-Z0-9_)[]_OBJS) ifelse($3,,,[PHP_ADD_SOURCES_X([sapi/$1],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_)[]_OBJS)]) ],[ case "$2" in static[)] PHP_BUILD_STATIC;; shared[)] PHP_BUILD_SHARED;; bundle[)] PHP_BUILD_BUNDLE;; esac install_sapi="install-sapi" ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])]) ]) ]) dnl deprecated AC_DEFUN([PHP_EXTENSION],[ sources=`$AWK -f $abs_srcdir/build/scan_makefile_in.awk < []PHP_EXT_SRCDIR($1)[]/Makefile.in` PHP_NEW_EXTENSION($1, $sources, $2, $3) if test -r "$ext_srcdir/Makefile.frag"; then PHP_ADD_MAKEFILE_FRAGMENT fi ]) AC_DEFUN([PHP_ADD_BUILD_DIR],[ ifelse($2,,[ BUILD_DIR="$BUILD_DIR $1" ], [ $php_shtool mkdir -p $1 ]) ]) AC_DEFUN([PHP_GEN_BUILD_DIRS],[ $php_shtool mkdir -p $BUILD_DIR ]) dnl dnl PHP_NEW_EXTENSION(extname, sources [, shared [, sapi_class [, extra-cflags [, cxx [, zend_ext]]]]]) dnl dnl Includes an extension in the build. dnl dnl "extname" is the name of the ext/ subdir where the extension resides. dnl "sources" is a list of files relative to the subdir which are used dnl to build the extension. dnl "shared" can be set to "shared" or "yes" to build the extension as dnl a dynamically loadable library. Optional parameter "sapi_class" can dnl be set to "cli" to mark extension build only with CLI or CGI sapi's. dnl "extra-cflags" are passed to the compiler, with dnl @ext_srcdir@ and @ext_builddir@ being substituted. dnl "cxx" can be used to indicate that a C++ shared module is desired. dnl "zend_ext" indicates a zend extension. AC_DEFUN([PHP_NEW_EXTENSION],[ ext_builddir=[]PHP_EXT_BUILDDIR($1) ext_srcdir=[]PHP_EXT_SRCDIR($1) ifelse($5,,ac_extra=,[ac_extra=`echo "$5"|$SED s#@ext_srcdir@#$ext_srcdir#g|$SED s#@ext_builddir@#$ext_builddir#g`]) if test "$3" != "shared" && test "$3" != "yes" && test "$4" != "cli"; then dnl ---------------------------------------------- Static module [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=no PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,) EXT_STATIC="$EXT_STATIC $1" if test "$3" != "nocli"; then EXT_CLI_STATIC="$EXT_CLI_STATIC $1" fi else if test "$3" = "shared" || test "$3" = "yes"; then dnl ---------------------------------------------- Shared module [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=yes PHP_ADD_SOURCES_X(PHP_EXT_DIR($1),$2,$ac_extra,shared_objects_$1,yes) case $host_alias in *netware*[)] PHP_SHARED_MODULE(php$1,shared_objects_$1, $ext_builddir, $6, $7) ;; *[)] PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir, $6, $7) ;; esac AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z_-,A-Z__), 1, Whether to build $1 as dynamic module) fi fi if test "$3" != "shared" && test "$3" != "yes" && test "$4" = "cli"; then dnl ---------------------------------------------- CLI static module [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=no case "$PHP_SAPI" in cgi|embed[)] PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,) EXT_STATIC="$EXT_STATIC $1" ;; *[)] PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,cli) ;; esac EXT_CLI_STATIC="$EXT_CLI_STATIC $1" fi PHP_ADD_BUILD_DIR($ext_builddir) dnl Set for phpize builds only |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |