On Wed, Feb 29, 2012 at 10:06 PM, Christian Ferrari <cam...@yahoo.com>wrote:
> >> >>>>> > Dear all, > > >> > >> > > >> >>> > >> >>>>> > I'm asking your help because I'm not > > able to > >> > solve an > >> >> issue > >> >>>> probably > >> >>>>> related to some foolish mistake I have not yet > > discovered. > >> >>>>> > I'm trying to develop an experimental > > extension to > >> >> interface LIXA > >> >>>>> library (http:/lixa.sourceforge.net/). > >> >>>>> > > >> >>>>> > I have created the basic stuff (config.m4, > > lixa.c, > >> > php_lixa.h > >> >> and so > >> >>>> on). > >> >>>>> > > >> >>>>> > If I use this sequence from the ext/lixa > > directory: > >> >>>>> > > >> >>>>> > /opt/php/bin/phpize > >> >>>>> > ./configure --help > >> >>>>> > > >> >>>>> > I can see the lixa extension is available: > >> >>>>> > > >> >>>>> > [...] > >> >>>>> > Optional Packages: > >> >>>>> > --with-PACKAGE[=ARG] use PACKAGE > > [ARG=yes] > >> >>>>> > --without-PACKAGE do not use PACKAGE > > (same as > >> >>>> --with-PACKAGE=no) > >> >>>>> > --with-libdir=NAME Look for libraries > > in .../NAME > >> > > >> >> rather than > >> >>>>> .../lib > >> >>>>> > --with-php-config=PATH Path to php-config > > php-config > >> >>>>> > --with-lixa=FILE Include LIXA > > support. File is > >> > the > >> >> path to > >> >>>>> lixa-config > >> >>>>> > > >> >>>>> > [...] > >> >>>>> > > >> >>>>> > and I can compile with: > >> >>>>> > > >> >>>>> > ./configure > > --with-lixa=/opt/lixa/bin/lixa-config > >> >>>>> --with-php-config=/opt/php/bin/php-config > >> >>>>> > > >> >>>>> > the build process runs as expected and the > > extension is > >> >> available > >> >>>> after > >> >>>>> an addition to php.ini > >> > (extension=[...]/ext/lixa/modules/lixa.so). > >> >>>>> > >> >>>>> Great, you are done. Why do you want to go any > > further than > >> > this? > >> >> You > >> >>>>> built your extension and it is available from PHP > > exactly > >> > like any > >> >> pecl > >> >>>>> extension. > >> >>>>> > >> >>>> > >> >>>> and if you're using apache, reboot it and check your > > phpinfo() > >> > page > >> >> for > >> >>>> your extension. > >> >>>> if you're connected up via the command line you can > > run > >> > "php > >> >> -m" > >> >>>> to see if > >> >>>> your modules exists. > >> >>>> > >> >>>> > >> >>>>> > >> >>>>> -Rasmus > >> >>>>> > >> >>> > >> >>> Dear all, > >> >>> I would like to see my extension as any other extension, > > like MySQL, > >> >> PostgreSQL, Oracle and so on because: > >> >>> 1. LIXA itself is useless without those resource managers > >> >>> 2. I need to patch other extensions to implement the > > interfaces > >> > between > >> >> LIXA and MySQL/PostgreSQL/Oracle. > >> >>> What's the difference between an "internal" > > extension > >> > (like > >> >>> MySQL/PostgreSQL/Oracle) and an "external" > > extension as the > >> > one I > >> >>> produced? > >> >>> Thanks in advance, your help is precious. > >> >> > >> >> > >> >> The PHP source archive bundles several extensions under the ext/ > >> >> directory, these are the extensions are listed when you run > >> >> ./configure --help > >> >> > >> >> I don't understand why you want your extension to show up > > there, but > >> >> to do so you have to place your extension in that folder and run > >> >> ./buildconf --force > >> >> PHP will not automatically scan your filesystem for possible > > extension > >> >> directories to list them under ./configure > >> >> I'm sure you have seen, and used, http://pecl.php.net - these > >> >> extensions don't show up when you build PHP. > >> >> > >> >> The standard way to build "external" extensions however > > is to use > >> >> pecl, or manually build them as shared modules (as you did > > first). > >> >> > >> >> > >> >> -Hannes > >> >> > >> > > >> > That's the point: I tryed > >> > ./buildconf --force > >> > but it didn't include my extension. > >> > > >> > This is an excerpt from my initial post: > >> > > >> >> If I use this sequence from the PHP root directory: > >> > > >> >> ./buildconf --force > >> >> as described here: > >> > talks.somabo.de/200510_zend_conf_php_extension_development.pdf > >> > > >> >> I cannot see "lixa" as an available option of my > > configure: > >> > > >> >> ./configure --help|grep lixa > >> >> is empty. > >> > > >> >> If I try to build PHP anyway, I obtain: > >> > > >> >> tiian@mojan:~/src/swig/php5.4-201202241630$ ./configure > >> > --with-lixa=/opt/lixa/bin/lixa-config > >> >> configure: WARNING: unrecognized options: --with-lixa > >> > > >> > Do you have any idea how to debug why "buildconf --force" > > does not > >> > pick-up my extension? > >> > > > > You should rm -f configure manually before invoking buildconf --force. It > > wont overwrite configure by itself. > > > > Julien.P > > > > Dear Julien, > your suggestion is precious but unfortunately some more files must be > deleted. > After a bit of hacking I've found out this working sequence: > > tiian@mojan:~/php5.4-201202241630$ rm configure autom4te.cache/* > Yes I forgot about those, but your are right :) Autotools are little complicated when you want to dive into them. One may read http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool or paper http://shop.oreilly.com/product/9781593272067.do for deeper help and understanding :) Julien.P > tiian@mojan:~/php5.4-201202241630$ ./buildconf --force > Forcing buildconf > rebuilding configure > rebuilding main/php_config.h.in > tiian@mojan:~/php5.4-201202241630$ ./configure --help|grep lixa > --with-lixa=FILE Include LIXA support. File is the path to > lixa-config program > > Thanks again for your needful help! > Regards > Ch.F. > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >