shouldn't autotools take care about these differences? On 4/30/08, Christopher Thompson <[EMAIL PROTECTED]> wrote: > Please be gentle, I have very little experience developing on OS X. To be > honest, the whole dylib thing seems messy and confusing to me, compared to > the fairly straight-forward Linux style .so approach. > > > Expected behavior: > Able to configure and build on OS X with: > ./configure --enable-embed > > Actual behavior: > http://bugs.php.net/bug.php?id=44462 > > Suspected problem: > Trying to build .so instead of .dylib on OS X. > > Suggested solution: > See patch below. This makes it possible to do: > ./configure --enable-embed=dylib > I did this instead of fixing --enable-embed=shared because the build > process appears to be fundamentally different. > > NOTE! Once applying the patch, you need to do: > aclocal > autoconf > ./configure --enable-embed=dylib > > If you don't do aclocal to regenerate the necessary files, things break. > > > diff -urN php-5.2.5.clean/Makefile.global php-5.2.5/Makefile.global > --- php-5.2.5.clean/Makefile.global 2007-08-03 08:01:56.000000000 -0600 > +++ php-5.2.5/Makefile.global 2008-04-29 16:44:36.000000000 -0600 > @@ -17,6 +17,10 @@ > $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath > $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) > $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ > [EMAIL PROTECTED](LIBTOOL) --silent --mode=install cp $@ > $(phptempdir)/$@ > >/dev/null 2>&1 > > +libphp$(PHP_MAJOR_VERSION).dylib: $(PHP_GLOBAL_OBJS) > $(PHP_SAPI_OBJS) > + $(LIBTOOL) --mode=link $(CC) -dynamiclib -install_name > $(INSTALL_ROOT)$(prefix)/lib/$@ -current_version $(PHP_VERSION) > -compatibility_version $(PHP_MAJOR_VERSION) -undefined dynamic_lookup > $(PHP_RPATHS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) > $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ > + [EMAIL PROTECTED](LIBTOOL) --silent --mode=install cp $@ > $(phptempdir)/$@ > >/dev/null 2>&1 > + > libs/libphp$(PHP_MAJOR_VERSION).bundle: > $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) > $(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) > $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) > $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ > libs/libphp$(PHP_MAJOR_VERSION).so > > diff -urN php-5.2.5.clean/acinclude.m4 php-5.2.5/acinclude.m4 > --- php-5.2.5.clean/acinclude.m4 2007-08-20 08:28:45.000000000 -0600 > +++ php-5.2.5/acinclude.m4 2008-04-29 16:44:44.000000000 -0600 > @@ -799,6 +799,15 @@ > ]) > > dnl > +dnl PHP_BUILD_DYLIB > +dnl > +AC_DEFUN([PHP_BUILD_DYLIB],[ > + PHP_BUILD_PROGRAM > + OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.dylib] > + php_build_target=static > +]) > + > +dnl > dnl PHP_BUILD_BUNDLE > dnl > AC_DEFUN([PHP_BUILD_BUNDLE],[ > @@ -885,6 +894,7 @@ > case "$2" in > static[)] PHP_BUILD_STATIC;; > shared[)] PHP_BUILD_SHARED;; > + dylib[)] PHP_BUILD_DYLIB;; > bundle[)] PHP_BUILD_BUNDLE;; > program[)] PHP_BUILD_PROGRAM($5);; > esac > diff -urN php-5.2.5.clean/configure.in php-5.2.5/configure.in > --- php-5.2.5.clean/configure.in 2007-11-08 07:44:11.000000000 -0600 > +++ php-5.2.5/configure.in 2008-04-29 16:44:52.000000000 -0600 > @@ -252,6 +252,7 @@ > dnl paths to the targets are relative to the build directory > > SAPI_SHARED=libs/libphp[]$PHP_MAJOR_VERSION[.]$SHLIB_DL_SUFFIX_NAME > SAPI_STATIC=libs/libphp[]$PHP_MAJOR_VERSION[.a] > +SAPI_DYLIB=libs/libphp[]$PHP_MAJOR_VERSION[.]$SHLIB_SUFFIX_NAME > SAPI_LIBTOOL=libphp[]$PHP_MAJOR_VERSION[.la] > > PHP_CONFIGURE_PART(Configuring SAPI modules) > diff -urN php-5.2.5.clean/sapi/embed/config.m4 > php-5.2.5/sapi/embed/config.m4 > --- php-5.2.5.clean/sapi/embed/config.m4 2007-07-11 > 17:20:36.000000000 -0600 > +++ php-5.2.5/sapi/embed/config.m4 2008-04-29 16:45:06.000000000 -0600 > @@ -4,7 +4,7 @@ > > PHP_ARG_ENABLE(embed,, > [ --enable-embed[=TYPE] EXPERIMENTAL: Enable building of embedded SAPI > library > - TYPE is either 'shared' or 'static'. > [TYPE=shared]], no, no) > + TYPE is 'shared', 'static', or 'dylib'. > [TYPE=shared]], no, no) > > AC_MSG_CHECKING([for embedded SAPI library support]) > > @@ -18,6 +18,10 @@ > PHP_EMBED_TYPE=static > INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; > \$(INSTALL) -m 0644 $SAPI_STATIC \$(INSTALL_ROOT)\$(prefix)/lib" > ;; > + dylib) > + PHP_EMBED_TYPE=dylib > + INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; > \$(INSTALL) -m 0644 $SAPI_DYLIB \$(INSTALL_ROOT)\$(prefix)/lib" > + ;; > *) > PHP_EMBED_TYPE=no > ;; > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >
-- Alexey Zakhlestin http://blog.milkfarmsoft.com/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php