qt-3 qmake porting problems was "qt 3.1 port planing"

Ralf Habacker kde-cygwin@mail.kde.org
Thu, 28 Nov 2002 23:31:40 +0100


> So it seems to me to use the original qt3.1.0rc1 qt sources (without
> the #ifdef
> __CYGWIN__ patches) and build only the left things.
>
> If you build the src/Makefile with the original qmake
>
> $ qmake qt.pro
>
> you will find the following part in the makefile
>
> DESTDIR  = ../lib/
> TARGET   = libqt-mt.dll.3.1.0
> TARGETA	= ../lib/libqt-mt.a
> TARGETD	= libqt-mt.dll.3.1.0
> TARGET0	= libqt-mt.dll
> TARGET1	= libqt-mt.dll.3
> TARGET2	= libqt-mt.dll.3.1
>
> <snip>
>
> all: Makefile ../lib/libqt-mt.prl ../lib/$(TARGET)
>
> ../lib/$(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
> 	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 main task is to build the dll into the bin dir and to create an import
> library in the lib dir.
>
> Makefile should contain
>
> DESTDIR  = ../lib/
> DLLDESTDIR  = ../bin/
> TARGET   	= ../bin/libqt-mt-3.dll
> TARGETA	= ../lib/libqt-mt.a
> TARGET0	= ../lib/libqt-mt.dll.a
> <snip>
>
> all: Makefile ../lib/libqt-mt.prl $(TARGET)
>
> $(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
> 	test -d ../lib/ || mkdir -p ../lib/
> 	test -d ../bin/ || mkdir -p ../bin/
> 	-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGETA)
> 	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
>
>
> Additional qt-3/mkspecs/qmake.conf should contain a line
>
> QMAKE_LFLAGS_SHLIB	= -shared -Wl,--out-implib=$(TARGET0)
>
The needed patches (with little changes) for archiving this functionality are in
the cvs.

Is anyone there, who can verfiy this ?

Ralf