Re: [PHP-DEV] Bug in building standalone DSO modules From: Petr Cech (cech <email protected>)
Date: 05/15/01

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 <email protected>

Try: cat /dev/urandom | perl

-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>