123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033 |
- 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
- dnl ---------------------------
- if test "$ext_builddir" = "."; then
- PHP_PECL_EXTENSION=$1
- PHP_SUBST(PHP_PECL_EXTENSION)
- fi
- ])
- dnl
- dnl PHP_WITH_SHARED
- dnl
- dnl Checks whether $withval is "shared" or starts with "shared,XXX"
- dnl and sets $shared to "yes" or "no", and removes "shared,?" stuff
- dnl from $withval.
- dnl
- AC_DEFUN([PHP_WITH_SHARED],[
- PHP_ARG_ANALYZE_EX(withval)
- shared=$ext_shared
- unset ext_shared ext_output
- ])
- dnl
- dnl PHP_ADD_EXTENSION_DEP(extname, depends [, depconf])
- dnl
- dnl This macro is scanned by genif.sh when it builds the internal functions
- dnl list, so that modules can be init'd in the correct order
- dnl $1 = name of extension, $2 = extension upon which it depends
- dnl $3 = optional: if true, it's ok for $2 to have not been configured
- dnl default is false and should halt the build.
- dnl To be effective, this macro must be invoked *after* PHP_NEW_EXTENSION.
- dnl The extension on which it depends must also have been configured.
- dnl See ADD_EXTENSION_DEP in win32 build
- dnl
- AC_DEFUN([PHP_ADD_EXTENSION_DEP], [
- am_i_shared=$[PHP_]translit($1,a-z_-,A-Z__)[_SHARED]
- is_it_shared=$[PHP_]translit($2,a-z_-,A-Z__)[_SHARED]
- is_it_enabled=$[PHP_]translit($2,a-z_-,A-Z__)
- if test "$am_i_shared" = "no" && test "$is_it_shared" = "yes" ; then
- AC_MSG_ERROR([
- You've configured extension $1 to build statically, but it
- depends on extension $2, which you've configured to build shared.
- You either need to build $1 shared or build $2 statically for the
- build to be successful.
- ])
- fi
- if test "x$is_it_enabled" = "xno" && test "x$3" != "xtrue"; then
- AC_MSG_ERROR([
- You've configured extension $1, which depends on extension $2,
- but you've either not enabled $2, or have disabled it.
- ])
- fi
- dnl Some systems require that we link $2 to $1 when building
- ])
- dnl -------------------------------------------------------------------------
- dnl Checks for structures, typedefs, broken functions, etc.
- dnl -------------------------------------------------------------------------
- dnl Internal helper macros
- dnl
- dnl _PHP_DEF_HAVE_FILE(what, filename)
- AC_DEFUN([_PHP_DEF_HAVE_FILE], [
- php_def_have_what=HAVE_[]`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_' `
- echo "#define $php_def_have_what 1" >> $2
- ])
- dnl
- dnl _PHP_CHECK_SIZEOF(type, cross-value, extra-headers [, found-action [, not-found-action]])
- dnl
- AC_DEFUN([_PHP_CHECK_SIZEOF], [
- php_cache_value=php_cv_sizeof_[]$1
- AC_CACHE_VAL(php_cv_sizeof_[]$1, [
- old_LIBS=$LIBS
- LIBS=
- old_LDFLAGS=$LDFLAGS
- LDFLAGS=
- AC_TRY_RUN([#include <stdio.h>
- #if STDC_HEADERS
- #include <stdlib.h>
- #include <stddef.h>
- #endif
- #ifdef HAVE_INTTYPES_H
- #include <inttypes.h>
- #endif
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
- #endif
- $3
- int main()
- {
- FILE *fp = fopen("conftestval", "w");
- if (!fp) return(1);
- fprintf(fp, "%d\n", sizeof($1));
- return(0);
- }
- ], [
- eval $php_cache_value=`cat conftestval`
- ], [
- eval $php_cache_value=0
- ], [
- ifelse([$2],,[eval $php_cache_value=0], [eval $php_cache_value=$2])
- ])
- LDFLAGS=$old_LDFLAGS
- LIBS=$old_LIBS
- ])
- if eval test "\$$php_cache_value" != "0"; then
- ifelse([$4],[],:,[$4])
- ifelse([$5],[],,[else $5])
- fi
- ])
- dnl
- dnl PHP_CHECK_SIZEOF(type, cross-value, extra-headers)
- dnl
- AC_DEFUN([PHP_CHECK_SIZEOF], [
- AC_MSG_CHECKING([size of $1])
- _PHP_CHECK_SIZEOF($1, $2, $3, [
- AC_DEFINE_UNQUOTED([SIZEOF_]translit($1,a-z,A-Z_), [$]php_cv_sizeof_[]$1, [Size of $1])
- AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z,A-Z_), 1, [Whether $1 is available])
- ])
- AC_MSG_RESULT([[$][php_cv_sizeof_]translit($1, ,_)])
- ])
- dnl
- dnl PHP_CHECK_TYPES(type-list, include-file [, extra-headers])
- dnl
- AC_DEFUN([PHP_CHECK_TYPES], [
- for php_typename in $1; do
- AC_MSG_CHECKING([whether $php_typename exists])
- _PHP_CHECK_SIZEOF($php_typename, 0, $3, [
- _PHP_DEF_HAVE_FILE($php_typename, $2)
- AC_MSG_RESULT([yes])
- ], [
- AC_MSG_RESULT([no])
- ])
- done
- ])
- dnl
- dnl PHP_CHECK_IN_ADDR_T
- dnl
- AC_DEFUN([PHP_CHECK_IN_ADDR_T], [
- dnl AIX keeps in_addr_t in /usr/include/netinet/in.h
- AC_MSG_CHECKING([for in_addr_t])
- AC_CACHE_VAL(ac_cv_type_in_addr_t,
- [AC_EGREP_CPP(dnl
- changequote(<<,>>)dnl
- <<in_addr_t[^a-zA-Z_0-9]>>dnl
- changequote([,]), [#include <sys/types.h>
- #if STDC_HEADERS
- #include <stdlib.h>
- #include <stddef.h>
- #endif
- #ifdef HAVE_NETINET_IN_H
- #include <netinet/in.h>
- #endif], ac_cv_type_in_addr_t=yes, ac_cv_type_in_addr_t=no)])dnl
- AC_MSG_RESULT([$ac_cv_type_in_addr_t])
- if test $ac_cv_type_in_addr_t = no; then
- AC_DEFINE(in_addr_t, u_int, [ ])
- fi
- ])
- dnl
- dnl PHP_TIME_R_TYPE
- dnl
- dnl Check type of reentrant time-related functions
- dnl Type can be: irix, hpux or POSIX
- dnl
- AC_DEFUN([PHP_TIME_R_TYPE],[
- AC_CACHE_CHECK(for type of reentrant time-related functions, ac_cv_time_r_type,[
- AC_TRY_RUN([
- #include <time.h>
- main() {
- char buf[27];
- struct tm t;
- time_t old = 0;
- int r, s;
- s = gmtime_r(&old, &t);
- r = (int) asctime_r(&t, buf, 26);
- if (r == s && s == 0) return (0);
- return (1);
- }
- ],[
- ac_cv_time_r_type=hpux
- ],[
- AC_TRY_RUN([
- #include <time.h>
- main() {
- struct tm t, *s;
- time_t old = 0;
- char buf[27], *p;
-
- s = gmtime_r(&old, &t);
- p = asctime_r(&t, buf, 26);
- if (p == buf && s == &t) return (0);
- return (1);
- }
- ],[
- ac_cv_time_r_type=irix
- ],[
- ac_cv_time_r_type=POSIX
- ],[
- ac_cv_time_r_type=POSIX
- ])
- ],[
- ac_cv_time_r_type=POSIX
- ])
- ])
- case $ac_cv_time_r_type in
- hpux[)] AC_DEFINE(PHP_HPUX_TIME_R,1,[Whether you have HP-UX 10.x]) ;;
- irix[)] AC_DEFINE(PHP_IRIX_TIME_R,1,[Whether you have IRIX-style functions]) ;;
- esac
- ])
- dnl
- dnl PHP_DOES_PWRITE_WORK
- dnl internal
- AC_DEFUN([PHP_DOES_PWRITE_WORK],[
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <errno.h>
- $1
- main() {
- int fd = open("conftest_in", O_WRONLY|O_CREAT, 0600);
- if (fd < 0) exit(1);
- if (pwrite(fd, "text", 4, 0) != 4) exit(1);
- /* Linux glibc breakage until 2.2.5 */
- if (pwrite(fd, "text", 4, -1) != -1 || errno != EINVAL) exit(1);
- exit(0);
- }
- ],[
- ac_cv_pwrite=yes
- ],[
- ac_cv_pwrite=no
- ],[
- ac_cv_pwrite=no
- ])
- ])
- dnl PHP_DOES_PREAD_WORK
- dnl internal
- AC_DEFUN([PHP_DOES_PREAD_WORK],[
- echo test > conftest_in
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <errno.h>
- $1
- main() {
- char buf[3];
- int fd = open("conftest_in", O_RDONLY);
- if (fd < 0) exit(1);
- if (pread(fd, buf, 2, 0) != 2) exit(1);
- /* Linux glibc breakage until 2.2.5 */
- if (pread(fd, buf, 2, -1) != -1 || errno != EINVAL) exit(1);
- exit(0);
- }
- ],[
- ac_cv_pread=yes
- ],[
- ac_cv_pread=no
- ],[
- ac_cv_pread=no
- ])
- rm -f conftest_in
- ])
- dnl
- dnl PHP_PWRITE_TEST
- dnl
- AC_DEFUN([PHP_PWRITE_TEST],[
- AC_CACHE_CHECK(whether pwrite works,ac_cv_pwrite,[
- PHP_DOES_PWRITE_WORK
- if test "$ac_cv_pwrite" = "no"; then
- PHP_DOES_PWRITE_WORK([ssize_t pwrite(int, void *, size_t, off64_t);])
- if test "$ac_cv_pwrite" = "yes"; then
- ac_cv_pwrite=64
- fi
- fi
- ])
- if test "$ac_cv_pwrite" != "no"; then
- AC_DEFINE(HAVE_PWRITE, 1, [ ])
- if test "$ac_cv_pwrite" = "64"; then
- AC_DEFINE(PHP_PWRITE_64, 1, [whether pwrite64 is default])
- fi
- fi
- ])
- dnl
- dnl PHP_PREAD_TEST
- dnl
- AC_DEFUN([PHP_PREAD_TEST],[
- AC_CACHE_CHECK(whether pread works,ac_cv_pread,[
- PHP_DOES_PREAD_WORK
- if test "$ac_cv_pread" = "no"; then
- PHP_DOES_PREAD_WORK([ssize_t pread(int, void *, size_t, off64_t);])
- if test "$ac_cv_pread" = "yes"; then
- ac_cv_pread=64
- fi
- fi
- ])
- if test "$ac_cv_pread" != "no"; then
- AC_DEFINE(HAVE_PREAD, 1, [ ])
- if test "$ac_cv_pread" = "64"; then
- AC_DEFINE(PHP_PREAD_64, 1, [whether pread64 is default])
- fi
- fi
- ])
- dnl
- dnl PHP_MISSING_TIME_R_DECL
- dnl
- AC_DEFUN([PHP_MISSING_TIME_R_DECL],[
- AC_MSG_CHECKING([for missing declarations of reentrant functions])
- AC_TRY_COMPILE([#include <time.h>],[struct tm *(*func)() = localtime_r],[
- :
- ],[
- AC_DEFINE(MISSING_LOCALTIME_R_DECL,1,[Whether localtime_r is declared])
- ])
- AC_TRY_COMPILE([#include <time.h>],[struct tm *(*func)() = gmtime_r],[
- :
- ],[
- AC_DEFINE(MISSING_GMTIME_R_DECL,1,[Whether gmtime_r is declared])
- ])
- AC_TRY_COMPILE([#include <time.h>],[char *(*func)() = asctime_r],[
- :
- ],[
- AC_DEFINE(MISSING_ASCTIME_R_DECL,1,[Whether asctime_r is declared])
- ])
- AC_TRY_COMPILE([#include <time.h>],[char *(*func)() = ctime_r],[
- :
- ],[
- AC_DEFINE(MISSING_CTIME_R_DECL,1,[Whether ctime_r is declared])
- ])
- AC_TRY_COMPILE([#include <string.h>],[char *(*func)() = strtok_r],[
- :
- ],[
- AC_DEFINE(MISSING_STRTOK_R_DECL,1,[Whether strtok_r is declared])
- ])
- AC_MSG_RESULT([done])
- ])
- dnl
- dnl PHP_READDIR_R_TYPE
- dnl
- AC_DEFUN([PHP_READDIR_R_TYPE],[
- dnl HAVE_READDIR_R is also defined by libmysql
- AC_CHECK_FUNC(readdir_r,ac_cv_func_readdir_r=yes,ac_cv_func_readdir=no)
- if test "$ac_cv_func_readdir_r" = "yes"; then
- AC_CACHE_CHECK(for type of readdir_r, ac_cv_what_readdir_r,[
- AC_TRY_RUN([
- #define _REENTRANT
- #include <sys/types.h>
- #include <dirent.h>
- #ifndef PATH_MAX
- #define PATH_MAX 1024
- #endif
- main() {
- DIR *dir;
- char entry[sizeof(struct dirent)+PATH_MAX];
- struct dirent *pentry = (struct dirent *) &entry;
- dir = opendir("/");
- if (!dir)
- exit(1);
- if (readdir_r(dir, (struct dirent *) entry, &pentry) == 0)
- exit(0);
- exit(1);
- }
- ],[
- ac_cv_what_readdir_r=POSIX
- ],[
- AC_TRY_CPP([
- #define _REENTRANT
- #include <sys/types.h>
- #include <dirent.h>
- int readdir_r(DIR *, struct dirent *);
- ],[
- ac_cv_what_readdir_r=old-style
- ],[
- ac_cv_what_readdir_r=none
- ])
- ],[
- ac_cv_what_readdir_r=none
- ])
- ])
- case $ac_cv_what_readdir_r in
- POSIX)
- AC_DEFINE(HAVE_POSIX_READDIR_R,1,[whether you have POSIX readdir_r]);;
- old-style)
- AC_DEFINE(HAVE_OLD_READDIR_R,1,[whether you have old-style readdir_r]);;
- esac
- fi
- ])
- dnl
- dnl PHP_TM_GMTOFF
- dnl
- AC_DEFUN([PHP_TM_GMTOFF],[
- AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
- [AC_TRY_COMPILE([#include <sys/types.h>
- #include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;],
- ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
- if test "$ac_cv_struct_tm_gmtoff" = yes; then
- AC_DEFINE(HAVE_TM_GMTOFF,1,[whether you have tm_gmtoff in struct tm])
- fi
- ])
- dnl
- dnl PHP_STRUCT_FLOCK
- dnl
- AC_DEFUN([PHP_STRUCT_FLOCK],[
- AC_CACHE_CHECK(for struct flock,ac_cv_struct_flock,
- AC_TRY_COMPILE([
- #include <unistd.h>
- #include <fcntl.h>
- ],
- [struct flock x;],
- [
- ac_cv_struct_flock=yes
- ],[
- ac_cv_struct_flock=no
- ])
- )
- if test "$ac_cv_struct_flock" = "yes" ; then
- AC_DEFINE(HAVE_STRUCT_FLOCK, 1,[whether you have struct flock])
- fi
- ])
- dnl
- dnl PHP_SOCKLEN_T
- dnl
- AC_DEFUN([PHP_SOCKLEN_T],[
- AC_CACHE_CHECK(for socklen_t,ac_cv_socklen_t,
- AC_TRY_COMPILE([
- #include <sys/types.h>
- #include <sys/socket.h>
- ],[
- socklen_t x;
- ],[
- ac_cv_socklen_t=yes
- ],[
- ac_cv_socklen_t=no
- ]))
- if test "$ac_cv_socklen_t" = "yes"; then
- AC_DEFINE(HAVE_SOCKLEN_T, 1, [Whether you have socklen_t])
- fi
- ])
- dnl
- dnl PHP_MISSING_FCLOSE_DECL
- dnl
- dnl See if we have broken header files like SunOS has.
- dnl
- AC_DEFUN([PHP_MISSING_FCLOSE_DECL],[
- AC_MSG_CHECKING([for fclose declaration])
- AC_TRY_COMPILE([#include <stdio.h>],[int (*func)() = fclose],[
- AC_DEFINE(MISSING_FCLOSE_DECL,0,[ ])
- AC_MSG_RESULT([ok])
- ],[
- AC_DEFINE(MISSING_FCLOSE_DECL,1,[ ])
- AC_MSG_RESULT([missing])
- ])
- ])
- dnl
- dnl PHP_AC_BROKEN_SPRINTF
- dnl
- dnl Check for broken sprintf(), C99 conformance
- dnl
- AC_DEFUN([PHP_AC_BROKEN_SPRINTF],[
- AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[
- AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[
- ac_cv_broken_sprintf=no
- ],[
- ac_cv_broken_sprintf=yes
- ],[
- ac_cv_broken_sprintf=no
- ])
- ])
- if test "$ac_cv_broken_sprintf" = "yes"; then
- AC_DEFINE(PHP_BROKEN_SPRINTF, 1, [Whether sprintf is C99 conform])
- else
- AC_DEFINE(PHP_BROKEN_SPRINTF, 0, [Whether sprintf is C99 conform])
- fi
- ])
- dnl
- dnl PHP_AC_BROKEN_SNPRINTF
- dnl
- dnl Check for broken snprintf(), C99 conformance
- dnl
- AC_DEFUN([PHP_AC_BROKEN_SNPRINTF],[
- AC_CACHE_CHECK(whether snprintf is broken, ac_cv_broken_snprintf,[
- AC_TRY_RUN([
- #define NULL (0L)
- main() {
- char buf[20];
- int res = 0;
- res = res || (snprintf(buf, 2, "marcus") != 6);
- res = res || (buf[1] != '\0');
- /* Implementations may consider this as an encoding error */
- snprintf(buf, 0, "boerger");
- /* However, they MUST ignore the pointer */
- res = res || (buf[0] != 'm');
- res = res || (snprintf(NULL, 0, "boerger") != 7);
- res = res || (snprintf(buf, sizeof(buf), "%f", 0.12345678) != 8);
- exit(res);
- }
- ],[
- ac_cv_broken_snprintf=no
- ],[
- ac_cv_broken_snprintf=yes
- ],[
- ac_cv_broken_snprintf=no
- ])
- ])
- if test "$ac_cv_broken_snprintf" = "yes"; then
- AC_DEFINE(PHP_BROKEN_SNPRINTF, 1, [Whether snprintf is C99 conform])
- else
- AC_DEFINE(PHP_BROKEN_SNPRINTF, 0, [Whether snprintf is C99 conform])
- fi
- ])
- dnl
- dnl PHP_SOLARIS_PIC_WEIRDNESS
- dnl
- dnl Solaris requires main code to be position independent in order
- dnl to let shared objects find symbols. Weird. Ugly.
- dnl
- dnl Must be run after all --with-NN options that let the user
- dnl choose dynamic extensions, and after the gcc test.
- dnl
- AC_DEFUN([PHP_SOLARIS_PIC_WEIRDNESS],[
- AC_MSG_CHECKING([whether -fPIC is required])
- if test -n "$EXT_SHARED"; then
- os=`uname -sr 2>/dev/null`
- case $os in
- "SunOS 5.6"|"SunOS 5.7"[)]
- case $CC in
- gcc*|egcs*)
- CFLAGS="$CFLAGS -fPIC";;
- *[)]
- CFLAGS="$CFLAGS -fpic";;
- esac
- AC_MSG_RESULT([yes]);;
- *[)]
- AC_MSG_RESULT([no]);;
- esac
- else
- AC_MSG_RESULT([no])
- fi
- ])
- dnl
- dnl PHP_SYS_LFS
- dnl
- dnl The problem is that the default compilation flags in Solaris 2.6 won't
- dnl let programs access large files; you need to tell the compiler that
- dnl you actually want your programs to work on large files. For more
- dnl details about this brain damage please see:
- dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
- dnl
- dnl Written by Paul Eggert <eggert@twinsun.com>.
- dnl
- AC_DEFUN([PHP_SYS_LFS],
- [dnl
- # If available, prefer support for large files unless the user specified
- # one of the CPPFLAGS, LDFLAGS, or LIBS variables.
- AC_MSG_CHECKING([whether large file support needs explicit enabling])
- ac_getconfs=''
- ac_result=yes
- ac_set=''
- ac_shellvars='CPPFLAGS LDFLAGS LIBS'
- for ac_shellvar in $ac_shellvars; do
- case $ac_shellvar in
- CPPFLAGS[)] ac_lfsvar=LFS_CFLAGS ;;
- *[)] ac_lfsvar=LFS_$ac_shellvar ;;
- esac
- eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar
- (getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; }
- ac_getconf=`getconf $ac_lfsvar`
- ac_getconfs=$ac_getconfs$ac_getconf
- eval ac_test_$ac_shellvar=\$ac_getconf
- done
- case "$ac_result$ac_getconfs" in
- yes[)] ac_result=no ;;
- esac
- case "$ac_result$ac_set" in
- yes?*[)] ac_result="yes, but $ac_set is already set, so use its settings"
- esac
- AC_MSG_RESULT([$ac_result])
- case $ac_result in
- yes[)]
- for ac_shellvar in $ac_shellvars; do
- eval $ac_shellvar=\$ac_test_$ac_shellvar
- done ;;
- esac
- ])
- dnl
- dnl PHP_SOCKADDR_CHECKS
- dnl
- AC_DEFUN([PHP_SOCKADDR_CHECKS], [
- dnl Check for struct sockaddr_storage exists
- AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_sockaddr_storage,
- [AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/socket.h>],
- [struct sockaddr_storage s; s],
- [ac_cv_sockaddr_storage=yes], [ac_cv_sockaddr_storage=no])
- ])
- if test "$ac_cv_sockaddr_storage" = "yes"; then
- AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1, [Whether you have struct sockaddr_storage])
- fi
- dnl Check if field sa_len exists in struct sockaddr
- AC_CACHE_CHECK([for field sa_len in struct sockaddr],ac_cv_sockaddr_sa_len,[
- AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/socket.h>],
- [static struct sockaddr sa; int n = (int) sa.sa_len; return n;],
- [ac_cv_sockaddr_sa_len=yes], [ac_cv_sockaddr_sa_len=no])
- ])
- if test "$ac_cv_sockaddr_sa_len" = "yes"; then
- AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Whether struct sockaddr has field sa_len])
- fi
- ])
- dnl
- dnl PHP_DECLARED_TIMEZONE
- dnl
- AC_DEFUN([PHP_DECLARED_TIMEZONE],[
- AC_CACHE_CHECK(for declared timezone, ac_cv_declared_timezone,[
- AC_TRY_COMPILE([
- #include <sys/types.h>
- #include <time.h>
- #ifdef HAVE_SYS_TIME_H
- #include <sys/time.h>
- #endif
- ],[
- time_t foo = (time_t) timezone;
- ],[
- ac_cv_declared_timezone=yes
- ],[
- ac_cv_declared_timezone=no
- ])])
- if test "$ac_cv_declared_timezone" = "yes"; then
- AC_DEFINE(HAVE_DECLARED_TIMEZONE, 1, [Whether system headers declare timezone])
- fi
- ])
- dnl
- dnl PHP_EBCDIC
- dnl
- AC_DEFUN([PHP_EBCDIC], [
- AC_CACHE_CHECK([whether system uses EBCDIC],ac_cv_ebcdic,[
- AC_TRY_RUN( [
- int main(void) {
- return (unsigned char)'A' != (unsigned char)0xC1;
- }
- ],[
- ac_cv_ebcdic=yes
- ],[
- ac_cv_ebcdic=no
- ],[
- ac_cv_ebcdic=no
- ])])
- if test "$ac_cv_ebcdic" = "yes"; then
- AC_DEFINE(CHARSET_EBCDIC,1, [Define if system uses EBCDIC])
- fi
- ])
- dnl
- dnl PHP_BROKEN_GETCWD
- dnl
- dnl Some systems, notably Solaris, cause getcwd() or realpath to fail if a
- dnl component of the path has execute but not read permissions
- dnl
- AC_DEFUN([PHP_BROKEN_GETCWD],[
- AC_MSG_CHECKING([for broken getcwd])
- os=`uname -sr 2>/dev/null`
- case $os in
- SunOS*[)]
- AC_DEFINE(HAVE_BROKEN_GETCWD,1, [Define if system has broken getcwd])
- AC_MSG_RESULT([yes]);;
- *[)]
- AC_MSG_RESULT([no]);;
- esac
- ])
- dnl
- dnl PHP_BROKEN_GLIBC_FOPEN_APPEND
- dnl
- AC_DEFUN([PHP_BROKEN_GLIBC_FOPEN_APPEND], [
- AC_MSG_CHECKING([for broken libc stdio])
- AC_CACHE_VAL(_cv_have_broken_glibc_fopen_append,[
- AC_TRY_RUN([
- #include <stdio.h>
- int main(int argc, char *argv[])
- {
- FILE *fp;
- long position;
- char *filename = tmpnam(NULL);
-
- fp = fopen(filename, "w");
- if (fp == NULL) {
- perror("fopen");
- exit(2);
- }
- fputs("foobar", fp);
- fclose(fp);
- fp = fopen(filename, "a+");
- position = ftell(fp);
- fclose(fp);
- unlink(filename);
- if (position == 0)
- return 1;
- return 0;
- }
- ],
- [_cv_have_broken_glibc_fopen_append=no],
- [_cv_have_broken_glibc_fopen_append=yes ],
- AC_TRY_COMPILE([
- #include <features.h>
- ],[
- #if !__GLIBC_PREREQ(2,2)
- choke me
- #endif
- ],
- [_cv_have_broken_glibc_fopen_append=yes],
- [_cv_have_broken_glibc_fopen_append=no ])
- )])
- if test "$_cv_have_broken_glibc_fopen_append" = "yes"; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_BROKEN_GLIBC_FOPEN_APPEND,1, [Define if your glibc borks on fopen with mode a+])
- else
- AC_MSG_RESULT(no)
- fi
- ])
- dnl
- dnl PHP_FOPENCOOKIE
- dnl
- AC_DEFUN([PHP_FOPENCOOKIE], [
- AC_CHECK_FUNC(fopencookie, [have_glibc_fopencookie=yes])
- if test "$have_glibc_fopencookie" = "yes"; then
- dnl this comes in two flavors:
- dnl newer glibcs (since 2.1.2 ? )
- dnl have a type called cookie_io_functions_t
- AC_TRY_COMPILE([
- #define _GNU_SOURCE
- #include <stdio.h>
- ], [cookie_io_functions_t cookie;], [have_cookie_io_functions_t=yes], [])
- if test "$have_cookie_io_functions_t" = "yes"; then
- cookie_io_functions_t=cookie_io_functions_t
- have_fopen_cookie=yes
- dnl even newer glibcs have a different seeker definition...
- AC_TRY_RUN([
- #define _GNU_SOURCE
- #include <stdio.h>
- struct cookiedata {
- __off64_t pos;
- };
- __ssize_t reader(void *cookie, char *buffer, size_t size)
- { return size; }
- __ssize_t writer(void *cookie, const char *buffer, size_t size)
- { return size; }
- int closer(void *cookie)
- { return 0; }
- int seeker(void *cookie, __off64_t *position, int whence)
- { ((struct cookiedata*)cookie)->pos = *position; return 0; }
- cookie_io_functions_t funcs = {reader, writer, seeker, closer};
- main() {
- struct cookiedata g = { 0 };
- FILE *fp = fopencookie(&g, "r", funcs);
- if (fp && fseek(fp, 8192, SEEK_SET) == 0 && g.pos == 8192)
- exit(0);
- exit(1);
- }
- ], [
- cookie_io_functions_use_off64_t=yes
- ], [
- cookie_io_functions_use_off64_t=no
- ], [
- cookie_io_functions_use_off64_t=no
- ])
-
- else
- dnl older glibc versions (up to 2.1.2 ?)
- dnl call it _IO_cookie_io_functions_t
- AC_TRY_COMPILE([
- #define _GNU_SOURCE
- #include <stdio.h>
- ], [ _IO_cookie_io_functions_t cookie; ], [have_IO_cookie_io_functions_t=yes], [])
- if test "$have_cookie_io_functions_t" = "yes" ; then
- cookie_io_functions_t=_IO_cookie_io_functions_t
- have_fopen_cookie=yes
- fi
- fi
- if test "$have_fopen_cookie" = "yes" ; then
- AC_DEFINE(HAVE_FOPENCOOKIE, 1, [ ])
- AC_DEFINE_UNQUOTED(COOKIE_IO_FUNCTIONS_T, $cookie_io_functions_t, [ ])
- if test "$cookie_io_functions_use_off64_t" = "yes" ; then
- AC_DEFINE(COOKIE_SEEKER_USES_OFF64_T, 1, [ ])
- fi
- fi
- fi
- ])
- dnl -------------------------------------------------------------------------
- dnl Library/function existence and build sanity checks
- dnl -------------------------------------------------------------------------
- dnl
- dnl PHP_CHECK_LIBRARY(library, function [, action-found [, action-not-found [, extra-libs]]])
- dnl
- dnl Wrapper for AC_CHECK_LIB
- dnl
- AC_DEFUN([PHP_CHECK_LIBRARY], [
- save_old_LDFLAGS=$LDFLAGS
- ac_stuff="$5"
-
- save_ext_shared=$ext_shared
- ext_shared=yes
- PHP_EVAL_LIBLINE([$]ac_stuff, LDFLAGS)
- AC_CHECK_LIB([$1],[$2],[
- LDFLAGS=$save_old_LDFLAGS
- ext_shared=$save_ext_shared
- $3
- ],[
- LDFLAGS=$save_old_LDFLAGS
- ext_shared=$save_ext_shared
- unset ac_cv_lib_$1[]_$2
- $4
- ])dnl
- ])
- dnl
- dnl PHP_CHECK_FRAMEWORK(framework, function [, action-found [, action-not-found ]])
- dnl
- dnl El cheapo wrapper for AC_CHECK_LIB
- dnl
- AC_DEFUN([PHP_CHECK_FRAMEWORK], [
- save_old_LDFLAGS=$LDFLAGS
- LDFLAGS="-framework $1 $LDFLAGS"
- dnl supplying "c" to AC_CHECK_LIB is technically cheating, but
- dnl rewriting AC_CHECK_LIB is overkill and this only affects
- dnl the "checking.." output anyway.
- AC_CHECK_LIB(c,[$2],[
- LDFLAGS=$save_old_LDFLAGS
- $3
- ],[
- LDFLAGS=$save_old_LDFLAGS
- $4
- ])
- ])
- dnl
- dnl PHP_CHECK_FUNC_LIB(func, libs)
- dnl
- dnl This macro checks whether 'func' or '__func' exists
- dnl in the specified library.
- dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS.
- dnl This should be called in the ACTION-IF-NOT-FOUND part of PHP_CHECK_FUNC
- dnl
- dnl
- dnl autoconf undefines the builtin "shift" :-(
- dnl If possible, we use the builtin shift anyway, otherwise we use
- dnl the ubercool definition I have tested so far with FreeBSD/GNU m4
- ifdef([builtin],[builtin(define, phpshift, [builtin(shift, $@)])],[
- define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])))])])
- ])
- dnl
- AC_DEFUN([PHP_CHECK_FUNC_LIB],[
- ifelse($2,,:,[
- unset ac_cv_lib_$2[]_$1
- unset ac_cv_lib_$2[]___$1
- unset found
- AC_CHECK_LIB($2, $1, [found=yes], [
- AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
- ])
- if test "$found" = "yes"; then
- ac_libs=$LIBS
- LIBS="$LIBS -l$2"
- AC_TRY_RUN([main() { return (0); }],[found=yes],[found=no],[found=no])
- LIBS=$ac_libs
- fi
- if test "$found" = "yes"; then
- PHP_ADD_LIBRARY($2)
- PHP_DEF_HAVE($1)
- PHP_DEF_HAVE(lib$2)
- ac_cv_func_$1=yes
- else
- PHP_CHECK_FUNC_LIB($1,phpshift(phpshift($@)))
- fi
- ])
- ])
- dnl
- dnl PHP_CHECK_FUNC(func, ...)
- dnl
- dnl This macro checks whether 'func' or '__func' exists
- dnl in the default libraries and as a fall back in the specified library.
- dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS.
- dnl
- AC_DEFUN([PHP_CHECK_FUNC],[
- unset ac_cv_func_$1
- unset ac_cv_func___$1
- unset found
-
- AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
- case $found in
- yes[)]
- PHP_DEF_HAVE($1)
- ac_cv_func_$1=yes
- ;;
- ifelse($#,1,,[
- *[)] PHP_CHECK_FUNC_LIB($@) ;;
- ])
- esac
- ])
- dnl
- dnl PHP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs [, extra-source]])
- dnl
- dnl This macro checks whether build works and given function exists.
- dnl
- AC_DEFUN([PHP_TEST_BUILD], [
- old_LIBS=$LIBS
- LIBS="$4 $LIBS"
- AC_TRY_RUN([
- $5
- char $1();
- int main() {
- $1();
- return 0;
- }
- ], [
- LIBS=$old_LIBS
- $2
- ],[
- LIBS=$old_LIBS
- $3
- ],[
- LIBS=$old_LIBS
- ])
- ])
- dnl -------------------------------------------------------------------------
- dnl Platform characteristics checks
- dnl -------------------------------------------------------------------------
- dnl
- dnl PHP_SHLIB_SUFFIX_NAMES
- dnl
- dnl Determines link library suffix SHLIB_SUFFIX_NAME
- dnl which can be: .so, .sl or .dylib
- dnl
- dnl Determines shared library suffix SHLIB_DL_SUFFIX_NAME
- dnl suffix can be: .so or .sl
- dnl
- AC_DEFUN([PHP_SHLIB_SUFFIX_NAMES],[
- AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl
- PHP_SUBST_OLD(SHLIB_SUFFIX_NAME)
- PHP_SUBST_OLD(SHLIB_DL_SUFFIX_NAME)
- SHLIB_SUFFIX_NAME=so
- SHLIB_DL_SUFFIX_NAME=$SHLIB_SUFFIX_NAME
- case $host_alias in
- *hpux*[)]
- SHLIB_SUFFIX_NAME=sl
- SHLIB_DL_SUFFIX_NAME=sl
- ;;
- *darwin*[)]
- SHLIB_SUFFIX_NAME=dylib
- SHLIB_DL_SUFFIX_NAME=so
- ;;
- esac
- ])
- dnl
- dnl PHP_CHECK_64BIT([do if 32], [do if 64])
- dnl
- dnl This macro is used to detect if we're at 64-bit platform or not.
- dnl It could be useful for those external libs, that have different precompiled
- dnl versions in different directories.
- dnl
- AC_DEFUN([PHP_CHECK_64BIT],[
- AC_CHECK_SIZEOF(long int, 4)
- AC_MSG_CHECKING([checking if we're at 64-bit platform])
- if test "$ac_cv_sizeof_long_int" = "4" ; then
- AC_MSG_RESULT([no])
- $1
- else
- AC_MSG_RESULT([yes])
- $2
- fi
- ])
- dnl
- dnl PHP_C_BIGENDIAN
- dnl
- dnl Replacement macro for AC_C_BIGENDIAN
- dnl
- AC_DEFUN([PHP_C_BIGENDIAN],
- [AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php,
- [
- ac_cv_c_bigendian_php=unknown
- AC_TRY_RUN(
- [
- int main(void)
- {
- short one = 1;
- char *cp = (char *)&one;
- if (*cp == 0) {
- return(0);
- } else {
- return(1);
- }
- }
- ], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown])
- ])
- if test $ac_cv_c_bigendian_php = yes; then
- AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word])
- fi
- ])
- dnl -------------------------------------------------------------------------
- dnl Checks for programs: PHP_PROG_<program>
- dnl -------------------------------------------------------------------------
- dnl
- dnl PHP_PROG_SENDMAIL
- dnl
- dnl Search for the sendmail binary
- dnl
- AC_DEFUN([PHP_PROG_SENDMAIL], [
- PHP_ALT_PATH=/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib
- AC_PATH_PROG(PROG_SENDMAIL, sendmail,[], $PATH:$PHP_ALT_PATH)
- PHP_SUBST(PROG_SENDMAIL)
- ])
- dnl
- dnl PHP_PROG_AWK
- dnl
- dnl Some vendors force mawk before gawk; mawk is broken so we don't like that
- dnl
- AC_DEFUN([PHP_PROG_AWK], [
- AC_CHECK_PROGS(AWK, gawk nawk awk mawk, bork, /usr/xpg4/bin/:$PATH)
- case "$AWK" in
- *mawk)
- AC_MSG_WARN([mawk is known to have problems on some systems. You should install GNU awk])
- ;;
- *gawk)
- ;;
- bork)
- AC_MSG_ERROR([Could not find awk; Install GNU awk])
- ;;
- *)
- AC_MSG_CHECKING([if $AWK is broken])
- if ! $AWK 'function foo() {}' >/dev/null 2>&1 ; then
- AC_MSG_RESULT([yes])
- AC_MSG_ERROR([You should install GNU awk])
- else
- AC_MSG_RESULT([no])
- fi
- ;;
- esac
- PHP_SUBST(AWK)
- ])
- dnl
- dnl PHP_PROG_BISON
- dnl
- dnl Search for bison and check it's version
- dnl
- AC_DEFUN([PHP_PROG_BISON], [
- AC_PROG_YACC
- LIBZEND_BISON_CHECK
- PHP_SUBST(YACC)
- ])
- dnl
- dnl PHP_PROG_LEX
- dnl
- dnl Search for (f)lex and check it's version
- dnl
- AC_DEFUN([PHP_PROG_LEX], [
- dnl we only support certain flex versions
- flex_version_list="2.5.4"
-
- AC_PROG_LEX
- if test "$LEX" = "flex"; then
- dnl AC_DECL_YYTEXT is obsolete since autoconf 2.50 and merged into AC_PROG_LEX
- dnl this is what causes that annoying "PHP_PROG_LEX is expanded from" warning with autoconf 2.50+
- dnl it should be removed once we drop support of autoconf 2.13 (if ever)
- AC_DECL_YYTEXT
- :
- fi
- dnl ## Make flex scanners use const if they can, even if __STDC__ is not
- dnl ## true, for compilers like Sun's that only set __STDC__ true in
- dnl ## "limit-to-ANSI-standard" mode, not in "ANSI-compatible" mode
- AC_C_CONST
- if test "$ac_cv_c_const" = "yes" ; then
- LEX_CFLAGS="-DYY_USE_CONST"
- fi
- if test "$LEX" = "flex"; then
- AC_CACHE_CHECK([for flex version], php_cv_flex_version, [
- flex_version=`$LEX -V -v --version 2>/dev/null | $SED -e 's/^.* //'`
- php_cv_flex_version=invalid
- for flex_check_version in $flex_version_list; do
- if test "$flex_version" = "$flex_check_version"; then
- php_cv_flex_version="$flex_check_version (ok)"
- fi
- done
- ])
- else
- flex_version=none
- fi
-
- case $php_cv_flex_version in
- ""|invalid[)]
- if test -f "$abs_srcdir/Zend/zend_language_scanner.c" && test -f "$abs_srcdir/Zend/zend_ini_scanner.c"; then
- AC_MSG_WARN([flex versions supported for regeneration of the Zend/PHP parsers: $flex_version_list (found: $flex_version)])
- else
- flex_msg="Supported flex versions are: $flex_version_list"
- if test "$flex_version" = "none"; then
- flex_msg="flex not found. flex is required to generate the Zend/PHP parsers! $flex_msg"
- else
- flex_msg="Found invalid flex version: $flex_version. $flex_msg"
- fi
- AC_MSG_ERROR([$flex_msg])
- fi
- LEX="exit 0;"
- ;;
- esac
- PHP_SUBST(LEX)
- ])
- dnl
- dnl PHP_PROG_RE2C
- dnl
- dnl Search for the re2c binary and check the version
- dnl
- AC_DEFUN([PHP_PROG_RE2C],[
- AC_CHECK_PROG(RE2C, re2c, re2c)
- if test -n "$RE2C"; then
- AC_CACHE_CHECK([for re2c version], php_cv_re2c_version, [
- re2c_vernum=`$RE2C --vernum 2>/dev/null`
- if test -z "$re2c_vernum" || test "$re2c_vernum" -lt "1304"; then
- php_cv_re2c_version=invalid
- else
- php_cv_re2c_version="`$RE2C --version | cut -d ' ' -f 2 2>/dev/null` (ok)"
- fi
- ])
- fi
- case $php_cv_re2c_version in
- ""|invalid[)]
- AC_MSG_WARN([You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.])
- RE2C="exit 0;"
- ;;
- esac
- PHP_SUBST(RE2C)
- ])
- dnl -------------------------------------------------------------------------
- dnl Common setup macros: PHP_SETUP_<what>
- dnl -------------------------------------------------------------------------
- dnl
- dnl PHP_SETUP_ICU([shared-add])
- dnl
- dnl Common setup macro for ICU
- dnl
- AC_DEFUN([PHP_SETUP_ICU],[
- PHP_ARG_WITH(icu-dir,,
- [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no)
- if test "$PHP_ICU_DIR" = "no"; then
- PHP_ICU_DIR=DEFAULT
- fi
- if test "$PHP_ICU_DIR" = "DEFAULT"; then
- dnl Try to find icu-config
- AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin])
- else
- ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config"
- fi
- AC_MSG_CHECKING([for location of ICU headers and libraries])
- dnl Trust icu-config to know better what the install prefix is..
- icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null`
- if test "$?" != "0" || test -z "$icu_install_prefix"; then
- AC_MSG_RESULT([not found])
- AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.])
- else
- AC_MSG_RESULT([$icu_install_prefix])
- dnl Check ICU version
- AC_MSG_CHECKING([for ICU 4.0 or greater])
- icu_version_full=`$ICU_CONFIG --version`
- ac_IFS=$IFS
- IFS="."
- set $icu_version_full
- IFS=$ac_IFS
- icu_version=`expr [$]1 \* 1000 + [$]2`
- AC_MSG_RESULT([found $icu_version_full])
- if test "$icu_version" -lt "4000"; then
- AC_MSG_ERROR([ICU version 4.0 or later is required])
- fi
- ICU_VERSION=$icu_version
- ICU_INCS=`$ICU_CONFIG --cppflags-searchpath`
- ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio`
- PHP_EVAL_INCLINE($ICU_INCS)
- PHP_EVAL_LIBLINE($ICU_LIBS, $1)
- fi
- ])
- dnl
- dnl PHP_SETUP_KERBEROS(shared-add [, action-found [, action-not-found]])
- dnl
- dnl Common setup macro for kerberos
- dnl
- AC_DEFUN([PHP_SETUP_KERBEROS],[
- found_kerberos=no
- unset KERBEROS_CFLAGS
- unset KERBEROS_LIBS
- dnl First try to find krb5-config
- if test -z "$KRB5_CONFIG"; then
- AC_PATH_PROG(KRB5_CONFIG, krb5-config, no, [$PATH:/usr/kerberos/bin:/usr/local/bin])
- fi
- dnl If krb5-config is found try using it
- if test "$PHP_KERBEROS" != "no" && test -x "$KRB5_CONFIG"; then
- KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi`
- KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi`
- if test -n "$KERBEROS_LIBS"; then
- found_kerberos=yes
- PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1)
- PHP_EVAL_INCLINE($KERBEROS_CFLAGS)
- fi
- fi
- dnl If still not found use old skool method
- if test "$found_kerberos" = "no"; then
- if test "$PHP_KERBEROS" = "yes"; then
- PHP_KERBEROS="/usr/kerberos /usr/local /usr"
- fi
- for i in $PHP_KERBEROS; do
- if test -f $i/$PHP_LIBDIR/libkrb5.a || test -f $i/$PHP_LIBDIR/libkrb5.$SHLIB_SUFFIX_NAME; then
- PHP_KERBEROS_DIR=$i
- break
- fi
- done
- if test "$PHP_KERBEROS_DIR"; then
- found_kerberos=yes
- PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/$PHP_LIBDIR, $1)
- PHP_ADD_LIBRARY(gssapi_krb5, 1, $1)
- PHP_ADD_LIBRARY(krb5, 1, $1)
- PHP_ADD_LIBRARY(k5crypto, 1, $1)
- PHP_ADD_LIBRARY(com_err, 1, $1)
- PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include)
- fi
- fi
- if test "$found_kerberos" = "yes"; then
- ifelse([$2],[],:,[$2])
- ifelse([$3],[],,[else $3])
- fi
- ])
- dnl
- dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]])
- dnl
- dnl Common setup macro for openssl
- dnl
- AC_DEFUN([PHP_SETUP_OPENSSL],[
- found_openssl=no
- unset OPENSSL_INCDIR
- unset OPENSSL_LIBDIR
- dnl Empty variable means 'no'
- test -z "$PHP_OPENSSL" && PHP_OPENSSL=no
- test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no
- dnl Fallbacks for different configure options
- if test "$PHP_OPENSSL" != "no"; then
- PHP_OPENSSL_DIR=$PHP_OPENSSL
- elif test "$PHP_IMAP_SSL" != "no"; then
- PHP_OPENSSL_DIR=$PHP_IMAP_SSL
- fi
- dnl First try to find pkg-config
- if test -z "$PKG_CONFIG"; then
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
- fi
- dnl If pkg-config is found try using it
- if test "$PHP_OPENSSL_DIR" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then
- if $PKG_CONFIG --atleast-version=0.9.6 openssl; then
- found_openssl=yes
- OPENSSL_LIBS=`$PKG_CONFIG --libs openssl`
- OPENSSL_INCS=`$PKG_CONFIG --cflags-only-I openssl`
- OPENSSL_INCDIR=`$PKG_CONFIG --variable=includedir openssl`
- else
- AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.])
- fi
- if test -n "$OPENSSL_LIBS"; then
- PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1)
- fi
- if test -n "$OPENSSL_INCS"; then
- PHP_EVAL_INCLINE($OPENSSL_INCS)
- fi
- fi
- dnl If pkg-config fails for some reason, revert to the old method
- if test "$found_openssl" = "no"; then
-
- if test "$PHP_OPENSSL_DIR" = "yes"; then
- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
- fi
- for i in $PHP_OPENSSL_DIR; do
- if test -r $i/include/openssl/evp.h; then
- OPENSSL_INCDIR=$i/include
- fi
- if test -r $i/$PHP_LIBDIR/libssl.a -o -r $i/$PHP_LIBDIR/libssl.$SHLIB_SUFFIX_NAME; then
- OPENSSL_LIBDIR=$i/$PHP_LIBDIR
- fi
- test -n "$OPENSSL_INCDIR" && test -n "$OPENSSL_LIBDIR" && break
- done
- if test -z "$OPENSSL_INCDIR"; then
- AC_MSG_ERROR([Cannot find OpenSSL's <evp.h>])
- fi
- if test -z "$OPENSSL_LIBDIR"; then
- AC_MSG_ERROR([Cannot find OpenSSL's libraries])
- fi
- old_CPPFLAGS=$CPPFLAGS
- CPPFLAGS=-I$OPENSSL_INCDIR
- AC_MSG_CHECKING([for OpenSSL version])
- AC_EGREP_CPP(yes,[
- #include <openssl/opensslv.h>
- #if OPENSSL_VERSION_NUMBER >= 0x0090600fL
- yes
- #endif
- ],[
- AC_MSG_RESULT([>= 0.9.6])
- ],[
- AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.])
- ])
- CPPFLAGS=$old_CPPFLAGS
- PHP_ADD_INCLUDE($OPENSSL_INCDIR)
-
- PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [
- PHP_ADD_LIBRARY(crypto,,$1)
- ],[
- AC_MSG_ERROR([libcrypto not found!])
- ],[
- -L$OPENSSL_LIBDIR
- ])
- old_LIBS=$LIBS
- LIBS="$LIBS -lcrypto"
- PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [
- found_openssl=yes
- ],[
- AC_MSG_ERROR([libssl not found!])
- ],[
- -L$OPENSSL_LIBDIR
- ])
- LIBS=$old_LIBS
- PHP_ADD_LIBRARY(ssl,,$1)
- PHP_ADD_LIBRARY(crypto,,$1)
- PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1)
- fi
- if test "$found_openssl" = "yes"; then
- dnl For apache 1.3.x static build
- OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR
- AC_SUBST(OPENSSL_INCDIR_OPT)
- ifelse([$2],[],:,[$2])
- ifelse([$3],[],,[else $3])
- fi
- ])
- dnl
- dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]])
- dnl
- dnl Common setup macro for iconv
- dnl
- AC_DEFUN([PHP_SETUP_ICONV], [
- found_iconv=no
- unset ICONV_DIR
- # Create the directories for a VPATH build:
- $php_shtool mkdir -p ext/iconv
- echo > ext/iconv/php_have_bsd_iconv.h
- echo > ext/iconv/php_have_ibm_iconv.h
- echo > ext/iconv/php_have_glibc_iconv.h
- echo > ext/iconv/php_have_libiconv.h
- echo > ext/iconv/php_have_iconv.h
- echo > ext/iconv/php_php_iconv_impl.h
- echo > ext/iconv/php_iconv_aliased_libiconv.h
- echo > ext/iconv/php_php_iconv_h_path.h
- echo > ext/iconv/php_iconv_supports_errno.h
- dnl
- dnl Check libc first if no path is provided in --with-iconv
- dnl
- if test "$PHP_ICONV" = "yes"; then
- dnl Reset LIBS temporarily as it may have already been included
- dnl -liconv in.
- LIBS_save="$LIBS"
- LIBS=
- AC_CHECK_FUNC(iconv, [
- found_iconv=yes
- ],[
- AC_CHECK_FUNC(libiconv,[
- PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv])
- AC_DEFINE(HAVE_LIBICONV, 1, [ ])
- found_iconv=yes
- ])
- ])
- LIBS="$LIBS_save"
- fi
- dnl
- dnl Check external libs for iconv funcs
- dnl
- if test "$found_iconv" = "no"; then
- for i in $PHP_ICONV /usr/local /usr; do
- if test -r $i/include/giconv.h; then
- AC_DEFINE(HAVE_GICONV_H, 1, [ ])
- ICONV_DIR=$i
- iconv_lib_name=giconv
- break
- elif test -r $i/include/iconv.h; then
- ICONV_DIR=$i
- iconv_lib_name=iconv
- break
- fi
- done
- if test -z "$ICONV_DIR"; then
- AC_MSG_ERROR([Please specify the install prefix of iconv with --with-iconv=<DIR>])
- fi
-
- if test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.a ||
- test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.$SHLIB_SUFFIX_NAME
- then
- PHP_CHECK_LIBRARY($iconv_lib_name, libiconv, [
- found_iconv=yes
- PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv])
- AC_DEFINE(HAVE_LIBICONV,1,[ ])
- PHP_DEFINE([ICONV_ALIASED_LIBICONV],1,[ext/iconv])
- AC_DEFINE([ICONV_ALIASED_LIBICONV],1,[iconv() is aliased to libiconv() in -liconv])
- ], [
- PHP_CHECK_LIBRARY($iconv_lib_name, iconv, [
- found_iconv=yes
- ], [], [
- -L$ICONV_DIR/$PHP_LIBDIR
- ])
- ], [
- -L$ICONV_DIR/$PHP_LIBDIR
- ])
- fi
- fi
- if test "$found_iconv" = "yes"; then
- PHP_DEFINE(HAVE_ICONV,1,[ext/iconv])
- AC_DEFINE(HAVE_ICONV,1,[ ])
- if test -n "$ICONV_DIR"; then
- PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/$PHP_LIBDIR, $1)
- PHP_ADD_INCLUDE($ICONV_DIR/include)
- fi
- $2
- ifelse([$3],[],,[else $3])
- fi
- ])
- dnl
- dnl PHP_SETUP_LIBXML(shared-add [, action-found [, action-not-found]])
- dnl
- dnl Common setup macro for libxml
- dnl
- AC_DEFUN([PHP_SETUP_LIBXML], [
- AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
- [
- for i in $PHP_LIBXML_DIR /usr/local /usr; do
- if test -x "$i/bin/xml2-config"; then
- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
- break
- fi
- done
- ])
- if test -x "$ac_cv_php_xml2_config_path"; then
- XML2_CONFIG="$ac_cv_php_xml2_config_path"
- libxml_full_version=`$XML2_CONFIG --version`
- ac_IFS=$IFS
- IFS="."
- set $libxml_full_version
- IFS=$ac_IFS
- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
- if test "$LIBXML_VERSION" -ge "2006011"; then
- LIBXML_LIBS=`$XML2_CONFIG --libs`
- LIBXML_INCS=`$XML2_CONFIG --cflags`
- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
- PHP_EVAL_INCLINE($LIBXML_INCS)
- dnl Check that build works with given libs
- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
- PHP_TEST_BUILD(xmlInitParser,
- [
- php_cv_libxml_build_works=yes
- ], [
- AC_MSG_RESULT(no)
- AC_MSG_ERROR([build test failed. Please check the config.log for details.])
- ], [
- [$]$1
- ])
- ])
- if test "$php_cv_libxml_build_works" = "yes"; then
- AC_DEFINE(HAVE_LIBXML, 1, [ ])
- fi
- $2
- else
- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
- fi
- ifelse([$3],[],,[else $3])
- fi
- ])
- dnl -------------------------------------------------------------------------
- dnl Misc. macros
- dnl -------------------------------------------------------------------------
- dnl
- dnl PHP_INSTALL_HEADERS(path [, file ...])
- dnl
- dnl PHP header files to be installed
- dnl
- AC_DEFUN([PHP_INSTALL_HEADERS],[
- ifelse([$2],[],[
- for header_file in $1; do
- PHP_RUN_ONCE(INSTALLHEADERS, $header_file, [
- INSTALL_HEADERS="$INSTALL_HEADERS $header_file"
- ])
- done
- ], [
- header_path=$1
- for header_file in $2; do
- hp_hf="$header_path/$header_file"
- PHP_RUN_ONCE(INSTALLHEADERS, $hp_hf, [
- INSTALL_HEADERS="$INSTALL_HEADERS $hp_hf"
- ])
- done
- ])
- ])
- dnl
- dnl PHP_AP_EXTRACT_VERSION(/path/httpd)
- dnl
- dnl This macro is used to get a comparable
- dnl version for apache1/2.
- dnl
- AC_DEFUN([PHP_AP_EXTRACT_VERSION],[
- ac_output=`$1 -v 2>&1 | grep version | $SED -e 's/Oracle-HTTP-//'`
- ac_IFS=$IFS
- IFS="- /.
- "
- set $ac_output
- IFS=$ac_IFS
- APACHE_VERSION=`expr [$]4 \* 1000000 + [$]5 \* 1000 + [$]6`
- ])
- dnl
- dnl PHP_DEBUG_MACRO(filename)
- dnl
- AC_DEFUN([PHP_DEBUG_MACRO],[
- DEBUG_LOG=$1
- cat >$1 <<X
- CONFIGURE: $CONFIGURE_COMMAND
- CC: $CC
- CFLAGS: $CFLAGS
- CPPFLAGS: $CPPFLAGS
- CXX: $CXX
- CXXFLAGS: $CXXFLAGS
- INCLUDES: $INCLUDES
- LDFLAGS: $LDFLAGS
- LIBS: $LIBS
- DLIBS: $DLIBS
- SAPI: $PHP_SAPI
- PHP_RPATHS: $PHP_RPATHS
- uname -a: `uname -a`
- X
- cat >conftest.$ac_ext <<X
- main()
- {
- exit(0);
- }
- X
- (eval echo \"$ac_link\"; eval $ac_link && ./conftest) >>$1 2>&1
- rm -fr conftest*
- ])
- dnl
- dnl PHP_CONFIG_NICE(filename)
- dnl
- dnl Generates the config.nice file
- dnl
- AC_DEFUN([PHP_CONFIG_NICE],[
- AC_REQUIRE([AC_PROG_EGREP])
- AC_REQUIRE([LT_AC_PROG_SED])
- PHP_SUBST_OLD(EGREP)
- PHP_SUBST_OLD(SED)
- test -f $1 && mv $1 $1.old
- rm -f $1.old
- cat >$1<<EOF
- #! /bin/sh
- #
- # Created by configure
- EOF
- for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS EXTRA_LDFLAGS_PROGRAM LIBS CC CXX; do
- eval val=\$$var
- if test -n "$val"; then
- echo "$var='$val' \\" >> $1
- fi
- done
- echo "'[$]0' \\" >> $1
- if test `expr -- [$]0 : "'.*"` = 0; then
- CONFIGURE_COMMAND="$CONFIGURE_COMMAND '[$]0'"
- else
- CONFIGURE_COMMAND="$CONFIGURE_COMMAND [$]0"
- fi
- for arg in $ac_configure_args; do
- if test `expr -- $arg : "'.*"` = 0; then
- if test `expr -- $arg : "-.*"` = 0 && test `expr -- $arg : ".*=.*"` = 0; then
- continue;
- fi
- echo "'[$]arg' \\" >> $1
- CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '[$]arg'"
- else
- if test `expr -- $arg : "'-.*"` = 0 && test `expr -- $arg : "'.*=.*"` = 0; then
- continue;
- fi
- echo "[$]arg \\" >> $1
- CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS [$]arg"
- fi
- done
- echo '"[$]@"' >> $1
- chmod +x $1
- CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS"
- PHP_SUBST_OLD(CONFIGURE_COMMAND)
- PHP_SUBST_OLD(CONFIGURE_OPTIONS)
- ])
- dnl
- dnl PHP_CHECK_CONFIGURE_OPTIONS
- dnl
- AC_DEFUN([PHP_CHECK_CONFIGURE_OPTIONS],[
- for arg in $ac_configure_args; do
- case $arg in
- --with-*[)]
- arg_name="`echo [$]arg | $SED -e 's/--with-/with-/g' -e 's/=.*//g'`"
- ;;
- --without-*[)]
- arg_name="`echo [$]arg | $SED -e 's/--without-/with-/g' -e 's/=.*//g'`"
- ;;
- --enable-*[)]
- arg_name="`echo [$]arg | $SED -e 's/--enable-/enable-/g' -e 's/=.*//g'`"
- ;;
- --disable-*[)]
- arg_name="`echo [$]arg | $SED -e 's/--disable-/enable-/g' -e 's/=.*//g'`"
- ;;
- *[)]
- continue
- ;;
- esac
- case $arg_name in
- # Allow --disable-all / --enable-all
- enable-all[)];;
- # Allow certain libtool options
- enable-libtool-lock | with-pic | with-tags | enable-shared | enable-static | enable-fast-install | with-gnu-ld[)];;
- # Allow certain TSRM options
- with-tsrm-pth | with-tsrm-st | with-tsrm-pthreads[)];;
- # Allow certain Zend options
- with-zend-vm | enable-maintainer-zts | enable-inline-optimization[)];;
- # All the rest must be set using the PHP_ARG_* macros
- # PHP_ARG_* macros set php_enable_<arg_name> or php_with_<arg_name>
- *[)]
- # Options that exist before PHP 6
- if test "$PHP_MAJOR_VERSION" -lt "6"; then
- case $arg_name in
- enable-zend-multibyte[)] continue;;
- esac
- fi
- is_arg_set=php_[]`echo [$]arg_name | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-' 'abcdefghijklmnopqrstuvwxyz_'`
- if eval test "x\$$is_arg_set" = "x"; then
- PHP_UNKNOWN_CONFIGURE_OPTIONS="$PHP_UNKNOWN_CONFIGURE_OPTIONS
- [$]arg"
- fi
- ;;
- esac
- done
- ])
- dnl
- dnl PHP_CHECK_PDO_INCLUDES([found [, not-found]])
- dnl
- AC_DEFUN([PHP_CHECK_PDO_INCLUDES],[
- AC_CACHE_CHECK([for PDO includes], pdo_cv_inc_path, [
- AC_MSG_CHECKING([for PDO includes])
- if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then
- pdo_cv_inc_path=$abs_srcdir/ext
- elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then
- pdo_cv_inc_path=$abs_srcdir/ext
- elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then
- pdo_cv_inc_path=$prefix/include/php/ext
- fi
- ])
- if test -n "$pdo_cv_inc_path"; then
- ifelse([$1],[],:,[$1])
- else
- ifelse([$2],[],[AC_MSG_ERROR([Cannot find php_pdo_driver.h.])],[$2])
- fi
- ])
- dnl
- dnl PHP_DETECT_ICC
- dnl Detect Intel C++ Compiler and unset $GCC if ICC found
- AC_DEFUN([PHP_DETECT_ICC],
- [
- ICC="no"
- AC_MSG_CHECKING([for icc])
- AC_EGREP_CPP([^__INTEL_COMPILER], [__INTEL_COMPILER],
- ICC="no"
- AC_MSG_RESULT([no]),
- ICC="yes"
- GCC="no"
- AC_MSG_RESULT([yes])
- )
- ])
- dnl PHP_DETECT_SUNCC
- dnl Detect if the systems default compiler is suncc.
- dnl We also set some useful CFLAGS if the user didn't set any
- AC_DEFUN([PHP_DETECT_SUNCC],[
- SUNCC="no"
- AC_MSG_CHECKING([for suncc])
- AC_EGREP_CPP([^__SUNPRO_C], [__SUNPRO_C],
- SUNCC="no"
- AC_MSG_RESULT([no]),
- SUNCC="yes"
- GCC="no"
- test -n "$auto_cflags" && CFLAGS="-O -xs -xstrconst -zlazyload"
- GCC=""
- AC_MSG_RESULT([yes])
- )
- ])
- dnl
- dnl PHP_CRYPT_R_STYLE
- dnl detect the style of crypt_r() is any is available
- dnl see APR_CHECK_CRYPT_R_STYLE() for original version
- dnl
- AC_DEFUN([PHP_CRYPT_R_STYLE],
- [
- AC_CACHE_CHECK([which data struct is used by crypt_r], php_cv_crypt_r_style,[
- php_cv_crypt_r_style=none
- AC_TRY_COMPILE([
- #define _REENTRANT 1
- #include <crypt.h>
- ],[
- CRYPTD buffer;
- crypt_r("passwd", "hash", &buffer);
- ],
- php_cv_crypt_r_style=cryptd)
- if test "$php_cv_crypt_r_style" = "none"; then
- AC_TRY_COMPILE([
- #define _REENTRANT 1
- #include <crypt.h>
- ],[
- struct crypt_data buffer;
- crypt_r("passwd", "hash", &buffer);
- ],
- php_cv_crypt_r_style=struct_crypt_data)
- fi
- if test "$php_cv_crypt_r_style" = "none"; then
- AC_TRY_COMPILE([
- #define _REENTRANT 1
- #define _GNU_SOURCE
- #include <crypt.h>
- ],[
- struct crypt_data buffer;
- crypt_r("passwd", "hash", &buffer);
- ],
- php_cv_crypt_r_style=struct_crypt_data_gnu_source)
- fi
- ])
- if test "$php_cv_crypt_r_style" = "cryptd"; then
- AC_DEFINE(CRYPT_R_CRYPTD, 1, [Define if crypt_r has uses CRYPTD])
- fi
- if test "$php_cv_crypt_r_style" = "struct_crypt_data" -o "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then
- AC_DEFINE(CRYPT_R_STRUCT_CRYPT_DATA, 1, [Define if crypt_r uses struct crypt_data])
- fi
- if test "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then
- AC_DEFINE(CRYPT_R_GNU_SOURCE, 1, [Define if struct crypt_data requires _GNU_SOURCE])
- fi
- if test "$php_cv_crypt_r_style" = "none"; then
- AC_MSG_ERROR([Unable to detect data struct used by crypt_r])
- fi
- ])
- dnl
- dnl PHP_TEST_WRITE_STDOUT
- dnl
- AC_DEFUN([PHP_TEST_WRITE_STDOUT],[
- AC_CACHE_CHECK(whether writing to stdout works,ac_cv_write_stdout,[
- AC_TRY_RUN([
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
- #endif
- #define TEXT "This is the test message -- "
- main()
- {
- int n;
- n = write(1, TEXT, sizeof(TEXT)-1);
- return (!(n == sizeof(TEXT)-1));
- }
- ],[
- ac_cv_write_stdout=yes
- ],[
- ac_cv_write_stdout=no
- ],[
- ac_cv_write_stdout=no
- ])
- ])
- if test "$ac_cv_write_stdout" = "yes"; then
- AC_DEFINE(PHP_WRITE_STDOUT, 1, [whether write(2) works])
- fi
- ])
- dnl
- dnl PHP_INIT_DTRACE(providerdesc, header-file, sources [, module])
- dnl
- AC_DEFUN([PHP_INIT_DTRACE],[
- dnl Set paths properly when called from extension
- case "$4" in
- ""[)] ac_srcdir="$abs_srcdir/"; unset ac_bdir;;
- /*[)] ac_srcdir=`echo "$4"|cut -c 2-`"/"; ac_bdir=$ac_srcdir;;
- *[)] ac_srcdir="$abs_srcdir/$1/"; ac_bdir="$4/";;
- esac
- dnl providerdesc
- ac_provsrc=$1
- old_IFS=[$]IFS
- IFS=.
- set $ac_provsrc
- ac_provobj=[$]1
- IFS=$old_IFS
- dnl header-file
- ac_hdrobj=$2
- dnl Add providerdesc.o or .lo into global objects when needed
- case $host_alias in
- *freebsd*)
- PHP_GLOBAL_OBJS="[$]PHP_GLOBAL_OBJS [$]ac_bdir[$]ac_provsrc.o"
- PHP_LDFLAGS="$PHP_LDFLAGS -lelf"
- ;;
- *solaris*)
- PHP_GLOBAL_OBJS="[$]PHP_GLOBAL_OBJS [$]ac_bdir[$]ac_provsrc.lo"
- ;;
- *linux*)
- PHP_GLOBAL_OBJS="[$]PHP_GLOBAL_OBJS [$]ac_bdir[$]ac_provsrc.lo"
- ;;
- esac
- dnl DTrace objects
- old_IFS=[$]IFS
- for ac_src in $3; do
- IFS=.
- set $ac_src
- ac_obj=[$]1
- IFS=$old_IFS
- PHP_DTRACE_OBJS="[$]PHP_DTRACE_OBJS [$]ac_bdir[$]ac_obj.lo"
- done;
- case [$]php_sapi_module in
- shared[)]
- for ac_lo in $PHP_DTRACE_OBJS; do
- dtrace_objs="[$]dtrace_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`"
- done;
- ;;
- *[)]
- dtrace_objs='$(PHP_DTRACE_OBJS:.lo=.o)'
- ;;
- esac
- dnl Generate Makefile.objects entries
- dnl The empty $ac_provsrc command stops an implicit circular dependency
- dnl in GNU Make which causes the .d file to be overwritten (Bug 61268)
- cat>>Makefile.objects<<EOF
- $abs_srcdir/$ac_provsrc:;
- $ac_bdir[$]ac_hdrobj: $abs_srcdir/$ac_provsrc
- CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[$]ac_provsrc -o \$[]@.bak && \$(SED) -e 's,PHP_,DTRACE_,g' \$[]@.bak > \$[]@
- \$(PHP_DTRACE_OBJS): $ac_bdir[$]ac_hdrobj
- EOF
- case $host_alias in
- *solaris*|*linux*)
- dtrace_prov_name="`echo $ac_provsrc | $SED -e 's#\(.*\)\/##'`.o"
- dtrace_lib_dir="`echo $ac_bdir[$]ac_provsrc | $SED -e 's#\(.*\)/[^/]*#\1#'`/.libs"
- dtrace_d_obj="`echo $ac_bdir[$]ac_provsrc | $SED -e 's#\(.*\)/\([^/]*\)#\1/.libs/\2#'`.o"
- dtrace_nolib_objs='$(PHP_DTRACE_OBJS:.lo=.o)'
- for ac_lo in $PHP_DTRACE_OBJS; do
- dtrace_lib_objs="[$]dtrace_lib_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`"
- done;
- dnl Always attempt to create both PIC and non-PIC DTrace objects (Bug 63692)
- cat>>Makefile.objects<<EOF
- $ac_bdir[$]ac_provsrc.lo: \$(PHP_DTRACE_OBJS)
- echo "[#] Generated by Makefile for libtool" > \$[]@
- @test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir
- if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $abs_srcdir/$ac_provsrc $dtrace_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\]
- echo "pic_object=['].libs/$dtrace_prov_name[']" >> \$[]@ [;\\]
- else [\\]
- echo "pic_object='none'" >> \$[]@ [;\\]
- fi
- if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $abs_srcdir/$ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\]
- echo "non_pic_object=[']$dtrace_prov_name[']" >> \$[]@ [;\\]
- else [\\]
- echo "non_pic_object='none'" >> \$[]@ [;\\]
- fi
- EOF
- ;;
- *)
- cat>>Makefile.objects<<EOF
- $ac_bdir[$]ac_provsrc.o: \$(PHP_DTRACE_OBJS)
- CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o \$[]@ -s $abs_srcdir/$ac_provsrc $dtrace_objs
- EOF
- ;;
- esac
- ])
- dnl
- dnl PHP_CHECK_STDINT_TYPES
- dnl
- AC_DEFUN([PHP_CHECK_STDINT_TYPES], [
- AC_CHECK_SIZEOF([short], 2)
- AC_CHECK_SIZEOF([int], 4)
- AC_CHECK_SIZEOF([long], 4)
- AC_CHECK_SIZEOF([long long], 8)
- AC_CHECK_TYPES([int8, int16, int32, int64, int8_t, int16_t, int32_t, int64_t, uint8, uint16, uint32, uint64, uint8_t, uint16_t, uint32_t, uint64_t, u_int8_t, u_int16_t, u_int32_t, u_int64_t], [], [], [
- #if HAVE_STDINT_H
- # include <stdint.h>
- #endif
- #if HAVE_SYS_TYPES_H
- # include <sys/types.h>
- #endif
- ])
- AC_DEFINE([PHP_HAVE_STDINT_TYPES], [1], [Checked for stdint types])
- ])
|