Re: Bug in building standalone DSO modules
| From: | Petr Cech | Date: | Tue, 15 May 2001 08:53:23 +0000 |
| Subject: | Re: Bug in building standalone DSO modules | ||
| References: | 1 2 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-55318@lists.php.net to get a copy of this message | ||
On Tue, May 15, 2001 at 11:44:38AM +0300 , Alexander Bokovoy wrote:
> On Tue, May 15, 2001 at 10:35:37AM +0200, Petr Cech wrote:
> > Hi,
> > I've been strugling for some time with the possibility of building some
> > extension not inside of ext/ dir, but using phpize to just add some module
> > later. Strangely, it didn't work - mostly. configure was created, Makefiles,
> > config.h ... Just great, but the resulting .so did not. But only in some
> > modules. And I fond also why:
> >
> > Modules don't #include config.h generated by the ./configure - including
> > this right at the top fixes the problems.
> >
> > So, putting in every module and having phpize generate -DHAVE_CONFIG_H would
> > make it really painless for everyone to build his favorite extension
> >
> > #ifdef HAVE_CONFIG_H
> > #include "config.h"
> > #endif
> Another way (without changing extension) is to run configure as
> CFLAGS="$CFLAGS -DHAVE_FOO=1 -DCOMPILE_DL_FOO=1" ./configure [options]
this can work with simple, no config, extensions. But of course it doesn't
catch things like pgsql's configure searching for
AC_CHECK_LIB(pq, PQcmdTuples,AC_DEFINE(HAVE_PQCMDTUPLES,1,[ ]))
AC_CHECK_LIB(pq, PQoidValue,AC_DEFINE(HAVE_PQOIDVALUE,1,[ ]))
AC_CHECK_LIB(pq, PQclientEncoding,AC_DEFINE(HAVE_PQCLIENTENCODING,1,[ ]))
AC_CHECK_LIB(pq, pg_encoding_to_char,AC_DEFINE(HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT,1,[ ]))
which get into the config.h. Defining them by hand is IMHO really not the
way, this should be done.
Petr Cech
--
Debian GNU/Linux maintainer - www.debian.{org,cz}
cech@atrey.karlin.mff.cuni.cz
Try: cat /dev/urandom | perl