[PyKDE] SIP Cygwin support [PATCH]

Yaakov S (Cygwin Ports) yselkowitz at users.sourceforge.net
Sun Oct 23 22:26:48 BST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm attaching a patch for sip-4.3.1 which fixes compilation on Cygwin
with our X11 port of Qt3.  With this patch to sip, PyQt builds OOTB.

Cygwin packages are available at:
ftp://sunsite.dk/projects/cygwinports/release/KDE/qscintilla/
ftp://sunsite.dk/projects/cygwinports/release/python/sip/
ftp://sunsite.dk/projects/cygwinports/release/python/pyqt/

Or, using Cygwin setup.exe, by adding the following server:
ftp://sunsite.dk/projects/cygwinports/


Yaakov
Cygwin Ports
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDXAAXpiWmPGlmQSMRAs1aAJ415gRR7jYaXbozIc9dA5JfCBLl9QCg4j2M
JrXoUXFUWCgA+RYSZ5/WoYY=
=Ln3x
-----END PGP SIGNATURE-----
-------------- next part --------------
diff -urN -x .build -x .inst -x .sinst -x configure -x Makefile.in -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache sip-4.3.1-orig/siputils.py sip-4.3.1/siputils.py
--- sip-4.3.1-orig/siputils.py	2005-09-10 11:31:24.000000000 -0500
+++ sip-4.3.1/siputils.py	2005-10-23 15:55:01.619125000 -0500
@@ -322,6 +322,11 @@
         if self._python:
             incdir.append(self.config.py_inc_dir)
 
+            if sys.platform == "cygwin":
+                libdir.append(self.config.py_lib_dir)
+                py_lib = "python%u.%u" % ((self.config.py_version >> 16), ((self.config.py_version >> 8) & 0xff))
+                libs.append(self.platform_lib(py_lib))
+
             if sys.platform == "win32":
                 libdir.append(self.config.py_lib_dir)
 
@@ -1048,6 +1053,8 @@
         if not self.static:
             if self.generator == "MINGW" and self.config.sip_version < 0x040000:
                 self.LFLAGS.append("-Wl,--out-implib,%s.a" % self._target)
+            elif sys.platform == "cygwin":
+                self.LFLAGS.append("-Wl,--out-implib,lib%s.dll.a" % self._target)
             elif self.optional_string("AIX_SHLIB"):
                 # AIX needs a lot of special handling.
                 if self.required_string('LINK') == 'g++':
@@ -1140,6 +1147,8 @@
         else:
             if sys.platform == "win32":
                 ext = "pyd"
+            elif sys.platform == "cygwin":
+                ext = "dll"
             elif sys.platform == "darwin":
                 ext = "so"
             else:
@@ -1325,6 +1334,9 @@
         if sys.platform == "win32":
             exe = exe + ".exe"
 
+        if sys.platform == "cygwin":
+            exe = exe + ".exe"
+
         # The command line.
         build = []
 
@@ -1417,6 +1429,9 @@
         if sys.platform == "win32":
             target = target + ".exe"
 
+        if sys.platform == "cygwin":
+            target = target + ".exe"
+
         mfile.write("TARGET = %s\n" % target)
         mfile.write("OFILES = %s\n" % self._build["objects"])
         mfile.write("HFILES = %s\n" % self._build["headers"])
diff -urN -x .build -x .inst -x .sinst -x configure -x Makefile.in -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache sip-4.3.1-orig/specs/cygwin-g++ sip-4.3.1/specs/cygwin-g++
--- sip-4.3.1-orig/specs/cygwin-g++	2005-09-10 11:31:24.000000000 -0500
+++ sip-4.3.1/specs/cygwin-g++	2005-10-23 15:55:01.634750000 -0500
@@ -22,7 +22,7 @@
 QMAKE_CFLAGS_WARN_OFF	= -w
 QMAKE_CFLAGS_RELEASE	= -O2
 QMAKE_CFLAGS_DEBUG	= -g
-QMAKE_CFLAGS_SHLIB	=
+QMAKE_CFLAGS_SHLIB	= -DPIC
 QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
 QMAKE_CFLAGS_THREAD	= -D_REENTRANT
 
@@ -41,7 +41,7 @@
 QMAKE_LIBDIR		=
 QMAKE_INCDIR_X11	= /usr/X11R6/include
 QMAKE_LIBDIR_X11	= /usr/X11R6/lib
-QMAKE_INCDIR_QT		= $(QTDIR)/include
+QMAKE_INCDIR_QT		= /usr/include/qt3
 QMAKE_LIBDIR_QT		= $(QTDIR)/lib
 QMAKE_INCDIR_OPENGL	= /usr/X11R6/include
 QMAKE_LIBDIR_OPENGL	= /usr/X11R6/lib
@@ -51,16 +51,16 @@
 QMAKE_LFLAGS		=
 QMAKE_LFLAGS_RELEASE	=
 QMAKE_LFLAGS_DEBUG	=
-QMAKE_LFLAGS_SHLIB	= -shared
+QMAKE_LFLAGS_SHLIB	= -shared -Wl,--enable-auto-image-base
 QMAKE_LFLAGS_PLUGIN	= $$QMAKE_LFLAGS_SHLIB
-QMAKE_LFLAGS_SONAME	= -Wl,-soname,
+QMAKE_LFLAGS_SONAME	= 
 QMAKE_LFLAGS_THREAD	=
-QMAKE_RPATH		= -Wl,-rpath,
+QMAKE_RPATH		= 
 QMAKE_CYGWIN_SHLIB	= 1
 QMAKE_CYGWIN_EXE	= 1
  
 QMAKE_LIBS		=
-QMAKE_LIBS_DYNLOAD	= -ldl
+QMAKE_LIBS_DYNLOAD	= 
 QMAKE_LIBS_X11		= -lXext -lX11
 QMAKE_LIBS_X11SM	= -lSM -lICE
 QMAKE_LIBS_QT		= -lqt


More information about the PyQt mailing list