I am attempting to build php-4.1.0 on Cygwin. So far I have had to make the following changes to get things to compile. I am almost certain that this is the Wrong Way(TM) to solve this problem, so if anyone could suggest the Right Way(TM) before I send these patches to the PHP guys, I'd appreciate it. Also, read on about _imp__ craziness...
---cut here--- --- php-4.1.0/ext/openssl/openssl.c.orig Tue Dec 11 14:52:34 2001 +++ php-4.1.0/ext/openssl/openssl.c Tue Dec 11 14:58:38 2001 @@ -24,6 +24,7 @@ #include "config.h" #endif + #include "php.h" #include "php_openssl.h" @@ -39,6 +40,12 @@ #include <openssl/pem.h> #include <openssl/err.h> +/* Hack for Cygwin. Without this, timezone is a function */ +#if defined __CYGWIN__ +#define timezone ((long int) _timezone) +#endif + + static unsigned char arg2of3_force_ref[] = { 3, BYREF_NONE, BYREF_FORCE, BYREF_NONE }; static unsigned char arg2of4_force_ref[] = --- php-4.1.0/ext/standard/datetime.c.orig Tue Dec 11 14:58:16 2001 +++ php-4.1.0/ext/standard/datetime.c Tue Dec 11 14:59:02 2001 @@ -35,6 +35,11 @@ #include "php_parsedate.h" +/* Hack for Cygwin. Without this, timezone is a function */ +#if defined __CYGWIN__ +#define timezone ((long int) _timezone) +#endif + char *mon_full_names[] = { "January", "February", "March", "April", ---cut here--- Now I get to a link stage, and I get: /bin/sh /home/ryans/src/php-4.1.0/cygwin-build/libtool --silent --mode=link gcc -I. -I/home/ryans/src/php-4.1.0/ -I/home/ryans/src/php-4.1.0/cygwin-build/main -I/home/ryans/src/php-4.1.0 -I/home/ryans/src/php-4.1.0/cygwin-build/Zend -I/home/ryans/src/php-4.1.0/ext/mysql/libmysql -I/home/ryans/src/php-4.1.0/ext/xml/expat -I/home/ryans/src/php-4.1.0/main -I/home/ryans/src/php-4.1.0/Zend -I/home/ryans/src/php-4.1.0/TSRM -I/home/ryans/src/php-4.1.0/cygwin-build/TSRM -g -O2 -o php -export-dynamic stub.lo libphp4.la Warning: resolving _stdscr by linking to __imp__stdscr (auto-import) ./.libs/libphp4.a(xml.o): In function `zm_info_xml': /home/ryans/src/php-4.1.0/ext/xml/xml.c:237: undefined reference to `_imp__php_XML_ExpatVersion' ./.libs/libphp4.a(xml.o): In function `xml_parser_dtor': /home/ryans/src/php-4.1.0/ext/xml/xml.c:304: undefined reference to `_imp__php_XML_ParserFree' ./.libs/libphp4.a(xml.o): In function `zif_xml_parser_create': /home/ryans/src/php-4.1.0/ext/xml/xml.c:1080: undefined reference to `_imp__php_XML_ParserCreate' /home/ryans/src/php-4.1.0/ext/xml/xml.c:1084: undefined reference to `_imp__php_XML_SetUserData' *** snip so my question is, where does that _imp__ come from? Something to do with DLLs I can guess, but I'm a DLL dummy on Winblows. How do I either get rid of that _imp__ or how do I properly add it to the php_XML_* functions? -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/