This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

php-4.1.0 on Cygwin



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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]