]> granicus.if.org Git - php/commitdiff
Introduce AC_ADD_* macros
authorSascha Schumann <sas@php.net>
Sun, 20 Jun 1999 18:52:46 +0000 (18:52 +0000)
committerSascha Schumann <sas@php.net>
Sun, 20 Jun 1999 18:52:46 +0000 (18:52 +0000)
The use of AC_EXPAND_PATH makes it possible to continue
to use relative paths when configuring PHP.
(e.g. --with-apache=../apache-1.3.x works again)

Makefile.in
acinclude.m4
configure.in.in
ext/ldap/config.m4
ext/mcrypt/config.m4
ext/mhash/config.m4
ext/msql/config.m4
ext/mysql/config.m4
ext/pgsql/config.m4
ext/snmp/config.m4

index e80e23c8a22737c3d8133eed137a80aa2f870df1..a87358fe0af7c72f1be27cd2326f0bf2140a5442 100644 (file)
@@ -53,13 +53,13 @@ LDFLAGS_SHLIB = @LDFLAGS_SHLIB@
 LDFLAGS_SHLIB_EXPORT = @LDFLAGS_SHLIB_EXPORT@
 CPPFLAGS = @CPPFLAGS@
 CFLAGS = @CFLAGS@ $(CFLAGS_SHLIB) $(CPPFLAGS) $(INCLUDE) @DEBUG_CFLAGS@ @STRONGHOLD@ $(PROF_CFLAGS)
-LDFLAGS = @LDFLAGS@ $(LDFLAGS_SHLIB) $(LDFLAGS_SHLIB_EXPORT) -L$(ZEND_DIR)
+LDFLAGS = @RPATHS@ @LDFLAGS@ $(LDFLAGS_SHLIB) $(LDFLAGS_SHLIB_EXPORT) -L$(ZEND_DIR)
 REGCFLAGS = $(CFLAGS)
 RANLIB = @RANLIB@
 YACC = @YACC@
 MAINT = @MAINT@
 APXS = @APXS@
-APXS_LDFLAGS = $(EXTRA_LIBS) $(LIBS)
+APXS_LDFLAGS = @RPATHS@ $(EXTRA_LIBS) $(LIBS)
 WARNING_LEVEL = @WARNING_LEVEL@
 
 SOURCE = main.c internal_functions.c snprintf.c php3_sprintf.c \
index e116f9542de978eb579daf872970b2bb63706ab2..3863030f1a5cca458ffb1f2b7eb29433cb8d130b 100644 (file)
@@ -2,6 +2,84 @@ dnl $Id$
 dnl
 dnl This file contains local autoconf functions.
 
+dnl
+dnl AC_PHP_ONCE(namespace, variable, code)
+dnl
+dnl execute code, if variable is not set in namespace
+dnl
+AC_DEFUN(AC_PHP_ONCE,[
+  unique=`echo $ac_n "$2$ac_c" | tr -c a-zA-Z0-9 x`
+  cmd="echo $ac_n \"\$$1$unique$ac_c\""
+  if test -n "$unique" && test "`eval $cmd`" = "" ; then
+    eval "$1$unique=set"
+    $3
+  fi
+])
+
+dnl
+dnl AC_EXPAND_PATH(path, variable)
+dnl
+dnl expands path to an absolute path and assigns it to variable
+dnl
+AC_DEFUN(AC_EXPAND_PATH,[
+  if echo "$1" | grep -v '^/' >/dev/null ; then
+    $2="`pwd`/$1"
+  else
+    $2="$1"
+  fi
+  eval "echo \"made from $1 \$$2\""
+])
+
+dnl
+dnl AC_ADD_LIBPATH(path)
+dnl
+dnl add a library to linkpath/runpath
+dnl
+AC_DEFUN(AC_ADD_LIBPATH,[
+  AC_EXPAND_PATH($1, ai_p)
+  AC_PHP_ONCE(LIBPATH, $ai_p, [
+    EXTRA_LIBS="$EXTRA_LIBS -L$ai_p"
+    if test -n "$APXS" ; then
+      RPATHS="$RPATHS ${apxs_runpath_switch}$ai_p'"
+    else
+      RPATHS="$RPATHS ${ld_runpath_switch}$ai_p"
+    fi
+  ])
+])
+
+dnl
+dnl AC_ADD_INCLUDE(path)
+dnl
+dnl add a include path
+dnl
+AC_DEFUN(AC_ADD_INCLUDE,[
+  AC_EXPAND_PATH($1, ai_p)
+  AC_PHP_ONCE(INCLUDEPATH, $ai_p, [
+    INCLUDES="$INCLUDES -I$ai_p"
+  ])
+])
+
+dnl
+dnl AC_ADD_LIBRARY(library)
+dnl
+dnl add a library to the link line
+dnl
+AC_DEFUN(AC_ADD_LIBRARY,[
+  AC_PHP_ONCE(LIBRARY, $1, [
+    EXTRA_LIBS="$EXTRA_LIBS -l$1"
+  ])
+])
+
+dnl
+dnl AC_ADD_LIBRARY_WITH_PATH(library, path)
+dnl
+dnl add a library to the link line and path to linkpath/runpath
+dnl
+AC_DEFUN(AC_ADD_LIBRARY_WITH_PATH,[
+  AC_ADD_LIBPATH($2)
+  AC_ADD_LIBRARY($1)
+])
+
 
 dnl
 dnl Check for cc option
index f987d54784076b51952338eb3f0e792dc3e117f8..5e707495210906c281383a5b15642ea3d4f05547 100644 (file)
@@ -333,7 +333,7 @@ AC_ARG_WITH(apxs,
     if test "$withval" = "yes"; then
         withval=apxs
     fi
-    APXS="$withval"
+    AC_EXPAND_PATH($withval, APXS)
     APXS_LDFLAGS="@SYBASE_LFLAGS@ @SYBASE_LIBS@ @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@"
     APACHE_INCLUDE="-I`$APXS -q INCLUDEDIR`"
     BINNAME=libphp4.so
@@ -372,6 +372,7 @@ AC_ARG_WITH(shared-apache,
        fi
        if test "$withval" != "no"; then
          if test -f $withval/src/include/httpd.h; then
+        AC_EXPAND_PATH($withval, withval)
            APACHE_INCLUDE="-I$withval/src/include -I$withval/src/os/unix"
            APACHE_TARGET=$withval/src/modules/php4
                if test ! -d $APACHE_TARGET; then
@@ -429,6 +430,7 @@ AC_ARG_WITH(apache,
        fi
        if test "$withval" != "no"; then
 # For Apache 1.2.x
+      AC_EXPAND_PATH($withval, withval)
          if test -f $withval/src/httpd.h; then 
            APACHE_INCLUDE=-I$withval/src
            APACHE_TARGET=$withval/src
@@ -866,6 +868,7 @@ AC_SUBST(PROG_SENDMAIL)
 AC_SUBST(CFLAGS_SHLIB)
 AC_SUBST(LDFLAGS_SHLIB)
 AC_SUBST(LDFLAGS_SHLIB_EXPORT)
+AC_SUBST(RPATHS)
 
 PHP_BUILD_DATE=`date '+%Y-%m-%d'`
 AC_SUBST(PHP_BUILD_DATE)
index d966fb8d8ae78bf20e8d65a971d87bd0b11d848b..8e87299d8a1be6a3c3a995125c9391a006388692 100644 (file)
@@ -35,36 +35,33 @@ dnl I have tested Solaris, and it doesn't, but others may.  Add
 dnl these here if necessary.   -RL
 
        if test `uname` = "Linux"; then
-               LDAP_PTHREAD="-lpthread"
+               LDAP_PTHREAD="pthread"
        else
                LDAP_PTHREAD=
        fi
 
        if test -f $LDAP_LIBDIR/liblber.a; then
                LDAP_LIBS="-lldap -llber"
+        AC_ADD_LIBRARY(ldap)
+        AC_ADD_LIBRARY(lber)
        elif test -f $LDAP_LIBDIR/libldapssl30.so; then
-               LDAP_LIBS="-lldapssl30 $LDAP_PTHREAD"
+        AC_ADD_LIBRARY(ldapssl30)
+        AC_ADD_LIBRARY($LDAP_PTHREAD)
                AC_DEFINE(HAVE_NSLDAP)
        elif test -f $LDAP_LIBDIR/libldapssl30.sl; then
-               LDAP_LIBS="-lldapssl30"
+        AC_ADD_LIBRARY(ldapssl30)
                AC_DEFINE(HAVE_NSLDAP)
        elif test -f $LDAP_LIBDIR/libldap30.so; then
-               LDAP_LIBS="-lldap30 $LDAP_PTHREAD"
+        AC_ADD_LIBRARY(ldap30)
+        AC_ADD_LIBRARY($LDAP_PTHREAD)
                AC_DEFINE(HAVE_NSLDAP)
        elif test -f $LDAP_LIBDIR/libldap30.sl; then
-               LDAP_LIBS="-lldap30"
+        AC_ADD_LIBRARY(ldap30)
                AC_DEFINE(HAVE_NSLDAP)
        fi  
 
-       LDAP_INCLUDE=-I$LDAP_INCDIR
-       if test -n "$APXS"; then
-           LDAP_LFLAGS="-L$LDAP_LIBDIR ${apxs_runpath_switch}$LDAP_LIBDIR'"
-       else
-           LDAP_LFLAGS="-L$LDAP_LIBDIR ${ld_runpath_switch}$LDAP_LIBDIR"
-       fi
-
-       INCLUDES="$INCLUDES $LDAP_INCLUDE"
-       EXTRA_LIBS="$EXTRA_LIBS $LDAP_LFLAGS $LDAP_LIBS"
+    AC_ADD_INCLUDE($LDAP_INCDIR)
+    AC_ADD_LIBPATH($LDAP_LIBDIR)
 
     AC_DEFINE(HAVE_LDAP)
 
index 1b20490d89bb796b2de79eace9304ff565a86dd4..530e118a0450fe012ab06a3bb867b544c79846ac 100644 (file)
@@ -16,8 +16,8 @@ AC_ARG_WITH(mcrypt,
     if test "$MCRYPT_DIR" = ""; then
       AC_MSG_ERROR(Please reinstall libmcrypt - I cannot find mcrypt.h)
     fi
-    INCLUDES="$INCLUDES -I$MCRYPT_DIR/include"
-    EXTRA_LIBS="$EXTRA_LIBS -L$MCRYPT_DIR/lib -lmcrypt"
+    AC_ADD_INCLUDE($MCRYPT_DIR/include)
+    AC_ADD_LIBRARY_WITH_PATH(mcrypt, $MCRYPT_DIR/lib)
 
     AC_DEFINE(HAVE_LIBMCRYPT)
 
index 5a19821462d50a3bebdc15965dce3f3d7283c9df..92c03d4abdba7aea80d9dbe254fecb2f09786936 100644 (file)
@@ -16,8 +16,8 @@ AC_ARG_WITH(mhash,
     if test "$MHASH_DIR" = ""; then
       AC_MSG_ERROR(Please reinstall libmhash - I cannot find mhash.h)
     fi
-    INCLUDES="$INCLUDES -I$MHASH_DIR/include"
-    EXTRA_LIBS="$EXTRA_LIBS -L$MHASH_DIR/lib -lmhash"
+    AC_ADD_INCLUDE($MHASH_DIR/include)
+    AC_ADD_LIBRARY_WITH_PATH(mhash, $MHASH_DIR/lib)
 
     AC_DEFINE(HAVE_LIBMHASH)
 
index 4d88952aa1778fc127f0218915985fc048c46134..f2087ea05be6e6a72792fa9486eeb7bb13b4425d 100644 (file)
@@ -32,9 +32,8 @@ AC_ARG_WITH(msql,
       MSQL_INCDIR=$withval/include
       MSQL_LIBDIR=$withval/lib
     fi
-    MSQL_INCLUDE=-I$MSQL_INCDIR
-    MSQL_LFLAGS=-L$MSQL_LIBDIR
-    MSQL_LIBS=-lmsql
+    AC_ADD_LIBRARY_WITH_PATH(msql, $MSQL_LIBDIR)
+    AC_ADD_INCLUDE($MSQL_INCDIR)
     AC_DEFINE(HAVE_MSQL)
     AC_MSG_RESULT(yes)
     PHP_EXTENSION(msql)
@@ -45,5 +44,3 @@ AC_ARG_WITH(msql,
 ],[
   AC_MSG_RESULT(no)
 ])
-EXTRA_LIBS="$EXTRA_LIBS $MSQL_LFLAGS $MSQL_LIBS"
-INCLUDES="$INCLUDES $MSQL_INCLUDE"
index 4a20d509574e46c848e3a3b9f799b97841131c19..999677eab4175f2265987686943672d56b7c3b40 100644 (file)
@@ -50,8 +50,8 @@ AC_ARG_WITH(mysql,
                AC_DEFINE(HAVE_MYSQL)
                AC_MSG_RESULT(yes)
 
-               EXTRA_LIBS="$EXTRA_LIBS $MYSQL_LFLAGS $MYSQL_LIBS"
-               INCLUDES="$INCLUDES $MYSQL_INCLUDE"
+               AC_ADD_LIBRARY_WITH_PATH(mysqlclient, $MYSQL_LIBDIR)
+        AC_ADD_INCLUDE($MYSQL_INCDIR)
                PHP_EXTENSION(mysql)
 
                dnl check for errmsg.h, which isn't installed by some versions of 3.21
index 22aa33ceb6226233f5bcb22a48afdff3d1b71fa5..bd83c2794ebc7ada7b738dbe18a67cff88c8f7b6 100644 (file)
@@ -18,6 +18,8 @@ AC_ARG_WITH(pgsql,
     PGSQL_INCLUDE=-I$PGSQL_INCDIR
     PGSQL_LFLAGS=-L$PGSQL_LIBDIR
     PGSQL_LIBS=-lpq
+    AC_ADD_LIBRARY_WITH_PATH(pq, $PGSQL_LIBDIR)
+    AC_ADD_INCLUDE($PGSQL_INCDIR)
 
     old_CFLAGS=$CFLAGS; old_LDFLAGS=$LDFLAGS; old_LIBS=$LIBS
     CFLAGS="$CFLAGS $PGSQL_INCLUDE"
@@ -28,8 +30,6 @@ AC_ARG_WITH(pgsql,
     AC_CHECK_FUNC(PQcmdTuples,AC_DEFINE(HAVE_PQCMDTUPLES))
     CFLAGS=$old_CFLAGS; LDFLAGS=$old_LDFLAGS; LIBS=$old_LIBS
     PHP_EXTENSION(pgsql)
-    EXTRA_LIBS="$EXTRA_LIBS $PGSQL_LFLAGS $PGSQL_LIBS"
-    INCLUDES="$INCLUDES $PGSQL_INCLUDE"
   else
     AC_MSG_RESULT(no)
   fi
index e7a5fab7f53669410d95089d4db33645fa49c09f..07473fd9c8ac3a257dc9f357836ee8a0975ed513 100644 (file)
@@ -18,14 +18,11 @@ AC_ARG_WITH(snmp,
       test -d $withval/include/ucd-snmp && SNMP_INCDIR=$withval/include/ucd-snmp
       SNMP_LIBDIR=$withval/lib
     fi
-    SNMP_INCLUDE=-I$SNMP_INCDIR
-    SNMP_LFLAGS=-L$SNMP_LIBDIR
-    SNMP_LIBS="-lsnmp"
     AC_DEFINE(HAVE_SNMP)
     AC_MSG_RESULT(yes)
     PHP_EXTENSION(snmp)
-    EXTRA_LIBS="$EXTRA_LIBS $SNMP_LFLAGS $SNMP_LIBS"
-    INCLUDES="$INCLUDES $SNMP_INCLUDE"
+    AC_ADD_LIBRARY_WITH_PATH(snmp, $SNMP_LIBDIR)
+    AC_ADD_INCLUDE($SNMP_INCDIR)
   else
     AC_MSG_RESULT(no)
   fi