summaryrefslogtreecommitdiffhomepage
path: root/aclocal.m4
diff options
context:
space:
mode:
authorpp <pp@455248ca-bdda-0310-9134-f4ebb693071a>2004-05-19 04:59:31 +0000
committerpp <pp@455248ca-bdda-0310-9134-f4ebb693071a>2004-05-19 04:59:31 +0000
commitd0a9b9a03fc7ae74ef8a64593ac6b592526ec4d5 (patch)
treee03d2a7fac8c7619f1286545f717ef7ee3866cd6 /aclocal.m4
- initial import
git-svn-id: https://siedziba.pl:790/svn/repos/php-imlib/trunk@7 455248ca-bdda-0310-9134-f4ebb693071a
Diffstat (limited to 'aclocal.m4')
-rw-r--r--aclocal.m47708
1 files changed, 7708 insertions, 0 deletions
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..72e47ac
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,7708 @@
+# generated automatically by aclocal 1.7.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+dnl $Id: acinclude.m4,v 1.218.2.31 2003/10/03 04:29:24 sniper Exp $
+dnl
+dnl This file contains local autoconf functions.
+
+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)
+ sed -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments
+])
+
+AC_DEFUN(PHP_PROG_RE2C,[
+ AC_CHECK_PROG(RE2C, re2c, re2c, [exit 0;])
+])
+
+dnl PHP_DEFINE(WHAT[, value])
+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])[" > include/php_]translit($1,A-Z,a-z)[.h]
+])
+
+dnl PHP_INIT_BUILD_SYSTEM
+dnl
+AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[
+test -d include || mkdir include
+> Makefile.objects
+> Makefile.fragments
+dnl We need to play tricks here to avoid matching the egrep line itself
+pattern=define
+egrep $pattern'.*include/php' $srcdir/configure|sed 's/.*>//'|xargs touch 2>/dev/null
+])
+
+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 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,cli,PHP_CLI_OBJS,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 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. Should not be
+dnl 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" ;;
+ *.cpp[)] 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 Disable building CLI
+dnl
+AC_DEFUN([PHP_DISABLE_CLI],[
+ disable_cli=1
+])
+
+dnl
+dnl Separator into the configure --help display.
+dnl
+AC_DEFUN([PHP_HELP_SEPARATOR],[
+AC_ARG_ENABLE([],[
+$1
+],[])
+])
+
+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
+ TSRM_CHECK_GCC_ARG(-rdynamic, gcc_rdynamic=yes)
+ if test "$gcc_rdynamic" = "yes"; then
+ PHP_LDFLAGS="$PHP_LDFLAGS -rdynamic"
+ fi
+ fi
+])
+
+AC_DEFUN([PHP_REMOVE_USR_LIB],[
+ unset ac_new_flags
+ for i in [$]$1; do
+ case [$]i in
+ -L/usr/lib|-L/usr/lib/[)] ;;
+ *[)] ac_new_flags="[$]ac_new_flags [$]i" ;;
+ esac
+ done
+ $1=[$]ac_new_flags
+])
+
+dnl PHP_EVAL_LIBLINE(LINE, 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
+ -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 PHP_EVAL_INCLINE(LINE)
+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
+])
+
+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
+])
+
+AC_DEFUN([PHP_SHLIB_SUFFIX_NAME],[
+ PHP_SUBST(SHLIB_SUFFIX_NAME)
+ SHLIB_SUFFIX_NAME=so
+ case $host_alias in
+ *hpux*[)]
+ SHLIB_SUFFIX_NAME=sl
+ ;;
+ *darwin*[)]
+ SHLIB_SUFFIX_NAME=dylib
+ ;;
+ esac
+])
+
+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*
+])
+
+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
+ ])
+])
+
+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
+])
+
+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
+])
+
+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
+])
+
+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_LIBGCC_LIBPATH(gcc)
+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([,])
+])
+
+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])
+])
+
+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_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)])
+])
+
+AC_DEFUN([PHP_REAL_ARG_WITH],[
+ifelse([$2],,,[AC_MSG_CHECKING([$2])])
+AC_ARG_WITH($1,[$3],$5=[$]withval,
+[
+ $5=ifelse($4,,no,$4)
+
+ if test "$PHP_ENABLE_ALL" && test "$6" = "yes"; then
+ $5=$PHP_ENABLE_ALL
+ fi
+])
+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_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z-,A-Z_),[ifelse($5,,yes,$5)])
+])
+
+AC_DEFUN([PHP_REAL_ARG_ENABLE],[
+ifelse([$2],,,[AC_MSG_CHECKING([$2])])
+AC_ARG_ENABLE($1,[$3],$5=[$]enableval,
+[
+ $5=ifelse($4,,no,$4)
+
+ if test "$PHP_ENABLE_ALL" && test "$6" = "yes"; then
+ $5=$PHP_ENABLE_ALL
+ fi
+])
+PHP_ARG_ANALYZE($5,[$2],$6)
+])
+
+AC_DEFUN([PHP_MODULE_PTR],[
+ EXTRA_MODULE_PTRS="$EXTRA_MODULE_PTRS $1,"
+])
+
+AC_DEFUN([PHP_CONFIG_NICE],[
+ 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 LIBS CC CXX; do
+ eval val=\$$var
+ if test -n "$val"; then
+ echo "$var='$val' \\" >> $1
+ fi
+ done
+
+ for arg in [$]0 "[$]@"; do
+ echo "'[$]arg' \\" >> $1
+ done
+ echo '"[$]@"' >> $1
+ chmod +x $1
+])
+
+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
+])
+])
+ 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
+])
+
+AC_DEFUN([PHP_SUBST],[
+ PHP_VAR_SUBST="$PHP_VAR_SUBST $1"
+])
+
+AC_DEFUN([PHP_SUBST_OLD],[
+ PHP_SUBST($1)
+ AC_SUBST($1)
+])
+
+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 PHP_CONFIGURE_PART(MESSAGE)
+dnl Idea borrowed from mm
+AC_DEFUN([PHP_CONFIGURE_PART],[
+ AC_MSG_RESULT()
+ AC_MSG_RESULT([${T_MD}$1${T_ME}])
+])
+
+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)
+if test -n "$PROG_SENDMAIL"; then
+ AC_DEFINE(HAVE_SENDMAIL,1,[whether you have sendmail])
+fi
+])
+
+AC_DEFUN([PHP_RUNPATH_SWITCH],[
+dnl check for -R, etc. switch
+AC_MSG_CHECKING([if compiler supports -R])
+AC_CACHE_VAL(php_cv_cc_dashr,[
+ SAVE_LIBS=$LIBS
+ LIBS="-R /usr/lib $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/lib $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
+])
+
+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
+])
+
+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_SET_SYM_FILE(path)
+dnl
+dnl set the path of the file which contains the symbol export list
+dnl
+AC_DEFUN([PHP_SET_SYM_FILE],
+[
+ PHP_SYM_FILE=$1
+])
+
+dnl
+dnl PHP_BUILD_THREAD_SAFE
+dnl
+AC_DEFUN([PHP_BUILD_THREAD_SAFE],[
+ enable_experimental_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
+])
+
+AC_DEFUN([PHP_REQUIRE_CXX],[
+ if test -z "$php_cxx_done"; then
+ AC_PROG_CXX
+ AC_PROG_CXXCPP
+ php_cxx_done=yes
+ fi
+])
+
+dnl
+dnl PHP_BUILD_SHARED
+dnl
+AC_DEFUN([PHP_BUILD_SHARED],[
+ PHP_BUILD_PROGRAM
+ OVERALL_TARGET=libphp4.la
+ php_build_target=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=libphp4.la
+ php_build_target=static
+])
+
+dnl
+dnl PHP_BUILD_BUNDLE
+dnl
+AC_DEFUN([PHP_BUILD_BUNDLE],[
+ PHP_BUILD_PROGRAM
+ OVERALL_TARGET=libs/libphp4.bundle
+ php_build_target=static
+])
+
+dnl
+dnl PHP_BUILD_PROGRAM
+dnl
+AC_DEFUN([PHP_BUILD_PROGRAM],[
+ OVERALL_TARGET=[]ifelse($1,,php,$1)
+ 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
+
+ shared_c_pre='$(LIBTOOL) --mode=compile $(CC)'
+ shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -prefer-pic'
+ shared_c_post=
+ shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
+ shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -prefer-pic'
+ shared_cxx_post=
+ shared_lo=lo
+
+ php_build_target=program
+])
+
+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 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
+dnl PHP_ADD_LIBPATH(path[, shared-libadd])
+dnl
+dnl add a library to linkpath/runpath
+dnl
+AC_DEFUN([PHP_ADD_LIBPATH],[
+ if 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="$ld_runpath_switch$ai_p -L$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
+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
+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)
+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.
+
+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.
+
+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 add a (Darwin / Mac OS X) framework path and the
+dnl framework itself to the link and include lines.
+AC_DEFUN([PHP_ADD_FRAMEWORK_WITH_PATH], [
+ PHP_ADD_FRAMEWORKPATH($2)
+ PHP_ADD_FRAMEWORK($1)
+])
+
+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 Check for cc option
+dnl
+AC_DEFUN([PHP_CHECK_CC_OPTION],[
+ echo "main(){return 0;}" > conftest.$ac_ext
+ opt=$1
+ changequote({,})
+ var=`echo $opt|sed 's/[^a-zA-Z0-9]/_/g'`
+ changequote([,])
+ AC_MSG_CHECKING([if compiler supports -$1 really])
+ ac_php_compile="${CC-cc} -$opt -o conftest $CFLAGS $CPPFLAGS conftest.$ac_ext 2>&1"
+ if eval $ac_php_compile 2>&1 | egrep "$opt" > /dev/null 2>&1 ; then
+ eval php_cc_$var=no
+ AC_MSG_RESULT([no])
+ else
+ if eval ./conftest 2>/dev/null ; then
+ eval php_cc_$var=yes
+ AC_MSG_RESULT([yes])
+ else
+ eval php_cc_$var=no
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ rm -rf conftest*
+])
+
+AC_DEFUN([PHP_REGEX],[
+
+if test "$REGEX_TYPE" = "php"; then
+ AC_DEFINE(HSREGEX,1,[ ])
+ AC_DEFINE(REGEX,1,[ ])
+ PHP_ADD_SOURCES(regex, regcomp.c regexec.c regerror.c regfree.c)
+elif test "$REGEX_TYPE" = "system"; then
+ AC_DEFINE(REGEX,0,[ ])
+fi
+
+AC_MSG_CHECKING([which regex library to use])
+AC_MSG_RESULT([$REGEX_TYPE])
+])
+
+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 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 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 PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx)
+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],[
+ PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.la"
+ PHP_SUBST($2)
+ cat >>Makefile.objects<<EOF
+\$(phplibdir)/$1.la: $3/$1.la
+ \$(LIBTOOL) --mode=install cp $3/$1.la \$(phplibdir)
+
+$3/$1.la: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES)
+ \$(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)
+
+EOF
+])
+
+dnl
+dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, build-target]]])
+dnl
+dnl Selects the SAPI name and type (static, shared, programm)
+dnl and optionally also the source-files for the SAPI-specific
+dnl objects.
+dnl
+AC_DEFUN([PHP_SELECT_SAPI],[
+ PHP_SAPI=$1
+
+ case "$2" in
+ static[)] PHP_BUILD_STATIC;;
+ shared[)] PHP_BUILD_SHARED;;
+ bundle[)] PHP_BUILD_BUNDLE;;
+ program[)] PHP_BUILD_PROGRAM($5);;
+ esac
+
+ 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],[
+ BUILD_DIR="$BUILD_DIR $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]]]])
+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