[Issue N11069] Question about qt cygwin port
Ralf Habacker
kde-cygwin@mail.kde.org
Thu, 5 Dec 2002 09:33:12 +0100
This is a multi-part message in MIME format.
------=_NextPart_000_011B_01C29C41.54B39DE0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
> Sure, it's just that buying another vmware licence and the commercial
> Cygwin version,
you need no license for cygwin. :-)
> installing the environment, porting Qt need lots of resources.
Mostly work is already done. See below
>
>
> > BTW: Currently we are working on the port for qt3.1. If we are ready,
> > I will
> > send you the remaining patches.
>
> Fine. If possible I would prefer following these steps:
>
> 1) Get configure to run. This should already be the case. If not I would
> be interested in feedback. Relevant patches would be immediately
> applied to Qt 3.1.
it runs already. Only mkspecs/cygwin-g++ patches. See mkspecs_cygwin_310rc1.dif
One note: the qmake.conf contains the following as backward compatibility to
recent cygwin ld
# activate both below if implib for dlls are needed
#QMAKE_CYGWIN_IMPLIB = 1
#QMAKE_LFLAGS_SHLIB = -shared -Wl,--out-implib=$(TARGETI)
> 2) Get Qt to build. This should almost be the case. I would be
> interested in feedback. Relevant patches would be applied to Qt 3.1.
See file root_cygwin_310rc1.dif.
Additional there are some patches to qmake. While patching it i recognized an
incompatibility problem with the unix generator.
In all targets except shared library the TARGET macros is defined to the
absolute path of the installed library.
makefile(unix - app)
QMAKE_TARGET = moc
TARGET = ../../bin/moc
...
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)
...
Only for the shared library handles this in another way.
makefile(unix - shared lib/plugin)
QMAKE_TARGET = qt-mt
DESTDIR = ../lib/
TARGET = libqt-mt.so.3.1.0
[1]^^^^^^^^
TARGETA = ../lib/libqt-mt.a
TARGETD = libqt-mt.so.3.1.0
TARGET0 = libqt-mt.so
TARGET1 = libqt-mt.so.3
TARGET2 = libqt-mt.so.3.1
all: Makefile ../lib/libqt-mt.prl ../lib/$(TARGET)
^^^^^^[2]
../lib/$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
[2]^^^^^^^^
test -d ../lib/ || mkdir -p ../lib/
-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
-ln -s $(TARGET) $(TARGET0)
-ln -s $(TARGET) $(TARGET1)
-ln -s $(TARGET) $(TARGET2)
-$(DEL_FILE) ../lib/$(TARGET)
-$(DEL_FILE) ../lib/$(TARGET0)
-$(DEL_FILE) ../lib/$(TARGET1)
-$(DEL_FILE) ../lib/$(TARGET2)
-$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) ../lib/
The problem is, that cygwin need to install the shared library in the bin dir,
which conflicts with [1] [2].
If the destination dir would be added to TARGET the if would be easeier. (The
uses TARGET macro should be replaced with the TARGETD, which is the same.
TARGET = ../lib/libqt-mt.so.3.1.0
[1] ^^^^
TARGETA = ../lib/libqt-mt.a
TARGETD = libqt-mt.so.3.1.0
TARGET0 = libqt-mt.so
TARGET1 = libqt-mt.so.3
TARGET2 = libqt-mt.so.3.1
all: Makefile ../lib/libqt-mt.prl $(TARGET)
^^^[2]
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
[2]^^^
-$(DEL_FILE) $(TARGETD) $(TARGET0) $(TARGET1) $(TARGET2)
^
$(LINK) $(LFLAGS) -o $(TARGETD) $(OBJECTS) $(OBJMOC) $(LIBS)
^
-ln -s $(TARGETD) $(TARGET0)
^
-ln -s $(TARGETD) $(TARGET1)
^
-ln -s $(TARGETD) $(TARGET2)
^
-$(DEL_FILE) ../lib/$(TARGET)
-$(DEL_FILE) ../lib/$(TARGET0)
-$(DEL_FILE) ../lib/$(TARGET1)
-$(DEL_FILE) ../lib/$(TARGET2)
-$(MOVE) $(TARGETD) $(TARGET0) $(TARGET1) $(TARGET2) ../lib/
^
If you like I can prepare a patch for this.
Ralf
------=_NextPart_000_011B_01C29C41.54B39DE0
Content-Type: application/octet-stream;
name="mkspecs_cygwin_310rc1.dif"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="mkspecs_cygwin_310rc1.dif"
Index: mkspecs/cygwin-g++/qmake.conf=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
RCS file: /cvsroot/kde-cygwin/qt-3/mkspecs/cygwin-g++/qmake.conf,v=0A=
retrieving revision 1.1.1.1=0A=
retrieving revision 1.1.2.4=0A=
diff -u -3 -p -B -r1.1.1.1 -r1.1.2.4=0A=
--- mkspecs/cygwin-g++/qmake.conf 13 Nov 2002 14:52:09 -0000 1.1.1.1=0A=
+++ mkspecs/cygwin-g++/qmake.conf 30 Nov 2002 23:26:16 -0000 1.1.2.4=0A=
@@ -48,17 +47,20 @@ QMAKE_LINK =3D g++=0A=
QMAKE_LINK_SHLIB =3D g++=0A=
QMAKE_LFLAGS =3D=0A=
QMAKE_LFLAGS_RELEASE =3D=0A=
-QMAKE_LFLAGS_DEBUG =3D=0A=
-QMAKE_LFLAGS_SHLIB =3D -shared=0A=
+QMAKE_LFLAGS_DEBUG =3D -g=0A=
+QMAKE_LFLAGS_SHLIB =3D -shared =0A=
QMAKE_LFLAGS_PLUGIN =3D $$QMAKE_LFLAGS_SHLIB=0A=
-QMAKE_LFLAGS_SONAME =3D -Wl,-soname,=0A=
+QMAKE_LFLAGS_SONAME =3D =0A=
QMAKE_LFLAGS_THREAD =3D=0A=
QMAKE_RPATH =3D -Wl,-rpath,=0A=
QMAKE_CYGWIN_SHLIB =3D 1=0A=
+# activate both below if implib for dlls are needed=0A=
+#QMAKE_CYGWIN_IMPLIB =3D 1=0A=
+#QMAKE_LFLAGS_SHLIB =3D -shared -Wl,--out-implib=3D$(TARGETI)=0A=
=0A=
QMAKE_LIBS =3D=0A=
QMAKE_LIBS_DYNLOAD =3D -ldl=0A=
-QMAKE_LIBS_X11 =3D -lXext -lX11=0A=
+QMAKE_LIBS_X11 =3D -lGL -lXext -lX11=0A=
QMAKE_LIBS_X11SM =3D -lSM -lICE=0A=
QMAKE_LIBS_QT =3D -lqt=0A=
QMAKE_LIBS_QT_THREAD =3D -lqt-mt=0A=
Index: mkspecs/cygwin-g++/qplatformdefs.h=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
RCS file: /cvsroot/kde-cygwin/qt-3/mkspecs/cygwin-g++/qplatformdefs.h,v=0A=
retrieving revision 1.1.1.1=0A=
retrieving revision 1.1.2.1=0A=
diff -u -3 -p -B -r1.1.1.1 -r1.1.2.1=0A=
--- mkspecs/cygwin-g++/qplatformdefs.h 13 Nov 2002 14:52:09 -0000 1.1.1.1=0A=
+++ mkspecs/cygwin-g++/qplatformdefs.h 28 Nov 2002 16:35:01 -0000 1.1.2.1=0A=
@@ -57,6 +57,8 @@=0A=
// or Don Berstein's djbdns:=0A=
// http://cr.yp.to/djbdns.html=0A=
// provide this functionality, but not necessarily under the Cygwin =
license...=0A=
+// =0A=
+// note: The cygwin port is now using the win32 dns stuff provided with =
qt3=0A=
#include <netinet/in.h>=0A=
=0A=
=0A=
------=_NextPart_000_011B_01C29C41.54B39DE0
Content-Type: application/octet-stream;
name="root_cygwin_310rc1.dif"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="root_cygwin_310rc1.dif"
Index: configure=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
RCS file: /cvsroot/kde-cygwin/qt-3/configure,v=0A=
retrieving revision 1.1.1.3=0A=
retrieving revision 1.3.4.1=0A=
diff -u -3 -p -B -r1.1.1.3 -r1.3.4.1=0A=
--- configure 13 Nov 2002 14:51:38 -0000 1.1.1.3=0A=
+++ configure 21 Nov 2002 06:56:20 -0000 1.3.4.1=0A=
@@ -1258,6 +1258,9 @@ if [ -z "$PLATFORM" ]; then=0A=
- Also available for Linux: linux-kcc linux-icc linux-cxx=0A=
"=0A=
;;=0A=
+ CYGWIN*:*)=0A=
+ PLATFORM=3Dcygwin-g++=0A=
+ ;;=0A=
SunOS:5*)=0A=
#PLATFORM=3Dsolaris-g++=0A=
PLATFORM=3Dsolaris-cc=0A=
------=_NextPart_000_011B_01C29C41.54B39DE0
Content-Type: application/octet-stream;
name="qmake_cygwin_310rc1.dif"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="qmake_cygwin_310rc1.dif"
Index: GNUmakefile.in=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
RCS file: /cvsroot/kde-cygwin/qt-3/qmake/GNUmakefile.in,v=0A=
retrieving revision 1.1.1.3=0A=
retrieving revision 1.2.4.3=0A=
diff -u -3 -p -B -u -b -r1.1.1.3 -r1.2.4.3=0A=
--- GNUmakefile.in 13 Nov 2002 14:52:14 -0000 1.1.1.3=0A=
+++ GNUmakefile.in 29 Nov 2002 13:02:03 -0000 1.2.4.3=0A=
@@ -18,9 +18,16 @@ CFLAGS=3D@QMAKE_CFLAGS@ -I. -Igenerators -=0A=
CXXFLAGS=3D $(CFLAGS)=0A=
LFLAGS=3D@QMAKE_LFLAGS@=0A=
=0A=
+# check if windows based system =0A=
+ifdef PATHEXT=0A=
+QMAKE=3Dqmake.exe =0A=
+else=0A=
+QMAKE=3Dqmake=0A=
+endif =0A=
+=0A=
#if cc isn't gcc I need to use the bad makefile=0A=
ifeq ($(CC),gcc)=0A=
-all: qmake=0A=
+all: $(QMAKE)=0A=
DEPDIR:=3D$(shell [ -d .deps ] || mkdir -p .deps)=0A=
-include $(OBJS:.o=3D.dep)=0A=
else=0A=
@@ -28,16 +35,16 @@ all: uqmake=0A=
endif=0A=
=0A=
uqmake:=0A=
- $(MAKE) -f Makefile qmake=0A=
+ $(MAKE) -f Makefile $(QMAKE)=0A=
=0A=
-qmake: $(OBJS) $(QTOBJS)=0A=
+$(QMAKE): $(OBJS) $(QTOBJS)=0A=
$(CXX) -o $@ $^ $(LFLAGS)=0A=
rm -f @BUILD_PATH@/bin/$@=0A=
ln -s @BUILD_PATH@/qmake/$@ @BUILD_PATH@/bin/$@=0A=
=0A=
install: all=0A=
[ -d @QT_INSTALL_BINS@ ] || mkdir -p @QT_INSTALL_BINS@=0A=
- -cp -f @BUILD_PATH@/bin/qmake @QT_INSTALL_BINS@=0A=
+ -cp -f @BUILD_PATH@/bin/$(QMAKE) @QT_INSTALL_BINS@=0A=
[ -d @QT_INSTALL_DATA@ ] || mkdir -p @QT_INSTALL_DATA@=0A=
-cp -r -f @SOURCE_PATH@/mkspecs @QT_INSTALL_DATA@=0A=
=0A=
@@ -45,7 +52,7 @@ clean::=0A=
rm -f $(OBJS) $(QTOBJS)=0A=
=0A=
distclean:: clean=0A=
- rm -rf qmake .deps=0A=
+ rm -rf $(QMAKE) .deps=0A=
=0A=
# don't use optimization for these=0A=
projectgenerator.o: projectgenerator.cpp=0A=
Index: project.h=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
RCS file: /cvsroot/kde-cygwin/qt-3/qmake/project.h,v=0A=
retrieving revision 1.1.1.3=0A=
diff -u -3 -p -B -u -b -r1.1.1.3 project.h=0A=
--- project.h 13 Nov 2002 14:52:15 -0000 1.1.1.3=0A=
+++ project.h 1 Dec 2002 13:25:29 -0000=0A=
@@ -1,5 +1,5 @@=0A=
=
/************************************************************************=
****=0A=
-** =0A=
+** $Id: project.h,v 1.2.4.1 2002/11/21 06:57:20 tanner Exp $=0A=
**=0A=
** Definition of ________ class.=0A=
**=0A=
@@ -62,6 +62,7 @@ public:=0A=
QString configFile();=0A=
=0A=
bool isEmpty(const QString &v);=0A=
+ bool isDefined(const QString &v);=0A=
QStringList &values(const QString &v);=0A=
QString first(const QString &v);=0A=
QMap<QString, QStringList> &variables();=0A=
@@ -91,6 +92,9 @@ inline QString QMakeProject::configFile(=0A=
=0A=
inline bool QMakeProject::isEmpty(const QString &v)=0A=
{ return !vars.contains(v) || vars[v].isEmpty(); }=0A=
+=0A=
+inline bool QMakeProject::isDefined(const QString &v)=0A=
+{ return vars.contains(v) && !vars[v].isEmpty(); }=0A=
=0A=
inline QStringList &QMakeProject::values(const QString &v)=0A=
{ return vars[v]; }=0A=
Index: generators/unix/unixmake2.cpp=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
RCS file: /cvsroot/kde-cygwin/qt-3/qmake/generators/unix/unixmake2.cpp,v=0A=
retrieving revision 1.1.1.3=0A=
diff -u -3 -p -B -u -b -r1.1.1.3 unixmake2.cpp=0A=
--- generators/unix/unixmake2.cpp 13 Nov 2002 14:52:16 -0000 1.1.1.3=0A=
+++ generators/unix/unixmake2.cpp 1 Dec 2002 13:25:36 -0000=0A=
@@ -218,7 +218,10 @@ UnixMakefileGenerator::writeMakeParts(QT=0A=
t << "TARGETD =3D " << var("TARGET") << endl;=0A=
} else if (!project->isActiveConfig("staticlib") && =
project->variables()["QMAKE_APP_FLAG"].isEmpty()) {=0A=
t << "TARGETA =3D " << var("TARGETA") << endl;=0A=
- if (project->isEmpty("QMAKE_HPUX_SHLIB")) {=0A=
+ if (!project->isEmpty("QMAKE_CYGWIN_SHLIB") ) {=0A=
+ t << "TARGETI =3D " << var("TARGET_I") << endl;=0A=
+ t << "TARGETL =3D " << var("TARGET_L") << endl;=0A=
+ } else if (project->isEmpty("QMAKE_HPUX_SHLIB")) {=0A=
t << "TARGETD =3D " << var("TARGET_x.y.z") << endl;=0A=
t << "TARGET0 =3D " << var("TARGET_") << endl;=0A=
t << "TARGET1 =3D " << var("TARGET_x") << endl;=0A=
@@ -382,7 +385,7 @@ UnixMakefileGenerator::writeMakeParts(QT=0A=
<< endl << endl;=0A=
=0A=
//real target=0A=
- t << var("TARGET") << ": " << " " << incr_deps << " " << =
var("TARGETDEPS") << "\n\t";=0A=
+ t << "$(TARGET): " << " " << incr_deps << " " << =
var("TARGETDEPS") << "\n\t";=0A=
if(!destdir.isEmpty())=0A=
t << "\n\t" << "test -d " << destdir << " || mkdir -p " << destdir << =
"\n\t";=0A=
if(!project->isEmpty("QMAKE_PRE_LINK"))=0A=
@@ -453,19 +456,22 @@ UnixMakefileGenerator::writeMakeParts(QT=0A=
}=0A=
=0A=
t << "all: " << " " << deps << " " << varGlue("ALL_DEPS",""," ","")=0A=
- << " " << var("DESTDIR_TARGET") << endl << endl;=0A=
+ << " $(TARGET)" << endl << endl;=0A=
=0A=
//real target=0A=
- t << var("DESTDIR_TARGET") << ": " << incr_deps << " $(SUBLIBS) " =
<<=0A=
+ t << "$(TARGET): " << incr_deps << " $(SUBLIBS) " <<=0A=
var("TARGETDEPS");=0A=
} else {=0A=
t << "all: " << deps << " " << varGlue("ALL_DEPS",""," ","") << " =
" <<=0A=
- var("DESTDIR_TARGET") << endl << endl;=0A=
- t << var("DESTDIR_TARGET") << ": $(UICDECLS) $(OBJECTS) $(OBJMOC) =
$(SUBLIBS) " <<=0A=
+ " $(TARGET)" << endl << endl;=0A=
+ t << "$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS) " <<=0A=
var("TARGETDEPS");=0A=
}=0A=
if(!destdir.isEmpty())=0A=
t << "\n\t" << "test -d " << destdir << " || mkdir -p " << destdir;=0A=
+ if (!project->isEmpty("QMAKE_CYGWIN_SHLIB") ) =0A=
+ t << "\n\t" << "test -d " << var("DLLDESTDIR") << " || mkdir -p =
" << var("DLLDESTDIR");=0A=
+=0A=
if(!project->isEmpty("QMAKE_PRE_LINK"))=0A=
t << "\n\t" << var("QMAKE_PRE_LINK");=0A=
=0A=
@@ -474,25 +480,39 @@ UnixMakefileGenerator::writeMakeParts(QT=0A=
<< "-$(DEL_FILE) $(TARGET)" << "\n\t"=0A=
<< var("QMAKE_LINK_SHLIB_CMD");=0A=
if(!destdir.isEmpty())=0A=
+ // FIXME: this seems obsolate to me because target is linked into =
DESTDIR=0A=
t << "\n\t"=0A=
<< "-$(MOVE) $(TARGET) " << var("DESTDIR");=0A=
if(!project->isEmpty("QMAKE_POST_LINK"))=0A=
t << "\n\t" << var("QMAKE_POST_LINK") << "\n\t";=0A=
t << endl << endl;=0A=
} else if(project->isEmpty("QMAKE_HPUX_SHLIB")) {=0A=
+=0A=
+ if (!project->isEmpty("QMAKE_CYGWIN_SHLIB") ) =0A=
+ t << "\n\t"=0A=
+ << "-$(DEL_FILE) $(TARGET) $(TARGETA) $(TARGETI) $(TARGETL) " =
<< "\n\t"=0A=
+ << var("QMAKE_LINK_SHLIB_CMD") << "\n\t";=0A=
+ else =0A=
t << "\n\t"=0A=
<< "-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)" << =
"\n\t"=0A=
<< var("QMAKE_LINK_SHLIB_CMD") << "\n\t";=0A=
+=0A=
+ if (project->isEmpty("QMAKE_CYGWIN_SHLIB") ) =0A=
t << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET0)") << =
"\n\t"=0A=
<< varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET1)") << =
"\n\t"=0A=
<< varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET2)");=0A=
+ else if (project->isEmpty("QMAKE_CYGWIN_IMPLIB") )=0A=
+ t << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGETL)") =
<< "\n\t";=0A=
+ =0A=
if(!destdir.isEmpty())=0A=
+ if (project->isEmpty("QMAKE_CYGWIN_SHLIB") ) =0A=
t << "\n\t"=0A=
<< "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET)\n\t"=0A=
<< "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET0)\n\t"=0A=
<< "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET1)\n\t"=0A=
<< "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET2)\n\t"=0A=
<< "-$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) " << =
var("DESTDIR");=0A=
+ =0A=
if(!project->isEmpty("QMAKE_POST_LINK"))=0A=
t << "\n\t" << var("QMAKE_POST_LINK");=0A=
t << endl << endl;=0A=
@@ -711,9 +731,13 @@ UnixMakefileGenerator::writeMakeParts(QT=0A=
project->isActiveConfig("resource_fork") && =
!project->isActiveConfig("console"))=0A=
t << "\t-$(DEL_FILE) -r " << destdir.section(Option::dir_sep, 0, -4) =
<< "\n";=0A=
else=0A=
- t << "\t-$(DEL_FILE) " << destdir << "$(TARGET)" << " " << "$(TARGET)" =
<< "\n";=0A=
+ // FIXME: This may be rearranged to TARGET TARGETI in one line and =
TARGETA in another line =0A=
+ t << "\t-$(DEL_FILE) $(TARGET)" << "\n";=0A=
if(!project->isActiveConfig("staticlib") && =
project->variables()["QMAKE_APP_FLAG"].isEmpty() &&=0A=
!project->isActiveConfig("plugin"))=0A=
+ if (!project->isEmpty("QMAKE_CYGWIN_SHLIB") ) =0A=
+ t << "\t-$(DEL_FILE) " "$(TARGETA) " << "$(TARGETI) " << =
"$(TARGETL) " << "\n";=0A=
+ else =0A=
t << "\t-$(DEL_FILE) " << destdir << "$(TARGET0) " << destdir << =
"$(TARGET1) "=0A=
<< destdir << "$(TARGET2) $(TARGETA)" << "\n";=0A=
t << endl << endl;=0A=
@@ -971,6 +995,25 @@ void UnixMakefileGenerator::init2()=0A=
project->first("VER_PAT"));=0A=
}=0A=
project->variables()["TARGET"] =3D =
project->variables()["TARGET_x.y.z"];=0A=
+=0A=
+ } else if ( !project->isEmpty("QMAKE_CYGWIN_SHLIB") ) {=0A=
+ project->variables()["DLLDESTDIR"] =3D project->first ("DESTDIR");=0A=
+ project->variables()["DLLDESTDIR"].first ().replace ("lib", =
"bin");=0A=
+ project->variables()["TARGET_"].append("lib" + =
project->first("TARGET") + ".a");=0A=
+ =
project->variables()["TARGET_x"].append(project->first("DLLDESTDIR") + =
"cyg" + =0A=
+ project->first("TARGET") + "-" + project->first("VER_MAJ") + =
"." +=0A=
+ project->first("QMAKE_EXTENSION_SHLIB"));=0A=
+=0A=
+ project->variables()["TARGET_I"].append(project->first("DESTDIR") =
+ "lib" + =0A=
+ project->first("TARGET") + "." + =
project->first("QMAKE_EXTENSION_SHLIB") + ".a");=0A=
+=0A=
+ project->variables()["TARGET_L"].append(project->first("DESTDIR") =
+ "lib" + =0A=
+ project->first("TARGET") + "." + =
project->first("QMAKE_EXTENSION_SHLIB"));=0A=
+=0A=
+ project->variables()["TARGET"] =3D project->first("DLLDESTDIR") + =
"cyg" + =0A=
+ project->first("TARGET") + "-" + project->first("VER_MAJ") + =
"." +=0A=
+ project->first("QMAKE_EXTENSION_SHLIB");=0A=
+ =0A=
} else {=0A=
project->variables()["TARGET_"].append("lib" + =
project->first("TARGET") + "." +=0A=
project->first("QMAKE_EXTENSION_SHLIB"));=0A=
------=_NextPart_000_011B_01C29C41.54B39DE0--