Hey.

While I am creating a small build tool and learning more about Clang/GCC and 
the various linkers, I came across the differences between shared/dynamic 
libraries, plugins and executables on the various platforms. That made me 
wonder, how PHP’s plugins are compiled.

For instance, if one had `enable-curl=shared` turned on, with the CGI and CLI 
SAPI, we’d get two binaries and a shared object - a „bundle“ on OS X. But, 
there are two ways to compile php_curl.so :

        -bundle -bundle_loader /path/to/php
or
        -bundle -undefined dynamic_lookup

Both are only needed if unresolved symbols occur, though. In my test-run with a 
plugin framework, I ran into this issue. By Apple’s docs, one basically needs 
-bundle and „flags and switches that one would use during the compilation of an 
executable“.

Which of the above methods are mainly used for PHP’s shared extensions? I would 
go and try and dig my way thru Make and Autoconf/phpize - but my make-fu is far 
beyond what I would need here, only to find one single answer. :)

Kind regards, Ingwie
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to