[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