]> granicus.if.org Git - php/commitdiff
rewrote configuration script
authorDavid Eriksson <eriksson@php.net>
Thu, 9 Aug 2001 21:53:50 +0000 (21:53 +0000)
committerDavid Eriksson <eriksson@php.net>
Thu, 9 Aug 2001 21:53:50 +0000 (21:53 +0000)
ext/satellite/Makefile.in
ext/satellite/config.m4

index fe927ac83487fd9e27c14641b232984bd51869c0..d22ace34b5398031ea67996cff8209477c997fee 100644 (file)
@@ -44,11 +44,10 @@ LTLIBRARY_SOURCES     = \
        typecode.c \
        typemanager.c \
        zval_to_namedvalue.c
-LTLIBRARY_SHARED_NAME = satellite.la
 
-#LTLIBRARY_SHARED_LIBADD = `orbit-config --libs client` `libIDL-config --libs`
-LTLIBRARY_LDFLAGS=`orbit-config --libs client` `libIDL-config --libs`
+LTLIBRARY_SHARED_NAME = satellite.la
+LTLIBRARY_SHARED_LIBADD = $(SATELLITE_SHARED_LIBADD)
 
-EXTRA_CFLAGS = -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations `orbit-config --cflags client` `libIDL-config --cflags` 
+EXTRA_CFLAGS = -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations
 
 include $(top_srcdir)/build/dynlib.mk
index d9eb2ce69f66ff2d6d8353f3d37c873d21a97096..ca3fecae0ff30f1b8173d13cdb4f6294f43524eb 100644 (file)
@@ -1,40 +1,76 @@
 dnl $Id$
+dnl vim: syntax=config
 
-dnl My first config.m4 - be nice to me... :-)
+dnl My first config.m4 - now much improved... :-)
 
-PHP_ARG_ENABLE(satellite, whether to enable CORBA support via Satellite,
+PHP_ARG_WITH(satellite, whether to enable CORBA support via Satellite,
 dnl Make sure that the comment is aligned:
-[  --enable-satellite      Enable CORBA support via Satellite (Requires ORBit)])
+[  --with-satellite[=DIR]  Enable CORBA support via Satellite (EXPERIMENTIAL)
+                          DIR is the base directory for ORBit])
 
 if test "$PHP_SATELLITE" != "no"; then
+  
+  dnl So, we have an extension called satellite
+       PHP_EXTENSION(satellite, $ext_shared)
 
-       dnl check for orbit-config
-       AC_PATH_PROG(orbit_config, "orbit-config")
-       
-       if test -z "$orbit_config"; then
-               AC_MSG_ERROR(Cannot find orbit-config, install ORBit!)
-       fi
+  dnl We want to use these variables in Makefile.in
+  PHP_SUBST(SATELLITE_SHARED_LIBADD)
 
-       dnl check for symbol giop_skip_atexit in libIIOP
-       AC_CHECK_LIB(IIOP, giop_skip_atexit, [true], [
-               AC_MSG_ERROR([You need a CVS version of ORBit, please read ext/satellite/README])
-               ], `$orbit_config --libs client`)
+  dnl Now, where is ORBit?
+  AC_MSG_CHECKING(for ORBit)
+
+  dnl These directories look reasonable
+  for i in $PHP_SATELLITE /usr/local/orbit /usr/local /usr; do
+
+    dnl Does this look like an ORBit installation?
+    if test -e $i/include/orb/orbit.h; then
+
+      dnl Save directory and report result
+      ORBIT_PATH=$i
+      AC_MSG_RESULT(found in $i)
 
-       dnl ORBIT_CFLAGS=`$orbit_config --cflags client`
-       dnl ORBIT_LIBS=`$orbit_config --libs client`
+    fi
+  done
 
-       dnl check for libIDL-config
-       AC_PATH_PROG(libidl_config, "libIDL-config")
+  dnl Abort if the loop above failed
+  if test -z "$ORBIT_PATH"; then
+    AC_MSG_RESULT(not found)
+    AC_MSG_ERROR(Please (re)install ORBit)
+  fi
 
-       if test -z "libidl_config"; then
-               AC_MSG_ERROR(Cannot find libIDL-config, install libIDL!)
-       fi
+       dnl
+       dnl SATELLITE_CONFIG(config-name, path, [extra], message)
+       dnl
+       AC_DEFUN(SATELLITE_CONFIG,[
 
-       dnl LIBIDL_CFLAGS=`$libidl_config --cflags`
-       dnl LIBIDL_LIBS=`$libidl_config --libs`
+               dnl look for config program
+               AC_PATH_PROG(satellite_$1, $1-config, , $2)
+               if test -z "$satellite_$1"; then 
+                       AC_MSG_ERROR($4)
+               fi
 
-       dnl CFLAGS="$CFLAGS $ORBIT_CFLAGS $LIBIDL_CFLAGS"
+               dnl get cflags
+               satellite_cflags=`$satellite_$1 --cflags $3`
+               if test -z "$satellite_cflags"; then
+                       AC_MSG_ERROR($4)
+               fi
+               PHP_EVAL_INCLINE($satellite_cflags)
+       
+               dnl get libs
+               satellite_libs=`$satellite_$1 --libs $3`
+               if test -z "$satellite_libs"; then
+                       AC_MSG_ERROR($4)
+               fi
+               PHP_EVAL_LIBLINE($satellite_libs)
+       ])
+       
+       SATELLITE_CONFIG(orbit, $ORBIT_PATH/bin, [client], [Please (re)install ORBit])
+       SATELLITE_CONFIG(libIDL, $ORBIT_PATH/bin, , [Please (re)install libIDL])
+       
+       dnl check for symbol giop_skip_atexit in libIIOP
+       AC_CHECK_LIB(IIOP, giop_skip_atexit, [true], [
+               AC_MSG_ERROR([You need a CVS version of ORBit, please read ext/satellite/README])
+               ], "$ORBIT_LIBS" )
 
-  AC_DEFINE(HAVE_SATELLITE, 1, [CORBA support enabled via Satellite])
-  PHP_EXTENSION(satellite, $ext_shared)
+  AC_DEFINE(HAVE_SATELLITE,1,[ ])
 fi