QT 3.0
Ralf Habacker
kde-cygwin@mail.kde.org
Thu, 18 Apr 2002 21:57:30 +0200
This is a multi-part message in MIME format.
------=_NextPart_000_0041_01C1E724.097BC5F0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
> -----Original Message-----
> From: kde-cygwin-admin@mail.kde.org
> [mailto:kde-cygwin-admin@mail.kde.org]On Behalf Of Chris January
> Sent: Tuesday, April 16, 2002 7:04 PM
> To: kde-cygwin@mail.kde.org
> Subject: Re: QT 3.0
>
>
> > > Basically with QT 3 there has been a move from the previous
> configuration
> > > scripts to qmake. This causes some problems with Cygwin because Cygwin
> > > requires a special set of steps to be taken in order to produce shared
> > > libraries and these aren't supported by qmake. The DLL links using the
> qmake
> > > generated Makefile, but is useless since it doesn't have a .DLL suffix.
> I
> > > have produced my own script which creates a qt-mt-3-0.dll but this is
> only a
> > > temporary fix. So what I'm asking is if anyone has any ideas on how to
> solve
> > > this problem.
> > Yes, I have a patched qt3-cygwin release with native qdir/qfile support.
> > You can get qt-3 in the next few days from cvs.
> How did you link the DLL?
With ld, of course. Im not sure, what you like to hear with this question.
I have created a mkspec/cygwin-g++/dir and have patched qmake. See the
appended patch of the head release of anoncvs.kde.orgs qt-copy dir
Ralf
------=_NextPart_000_0041_01C1E724.097BC5F0
Content-Type: application/octet-stream;
name="qt_copy_3_cygwin.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="qt_copy_3_cygwin.patch"
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: /home/kde/qt-copy/configure,v=0A=
retrieving revision 1.36=0A=
diff -u -b -B -r1.36 configure=0A=
--- configure 22 Mar 2002 20:33:36 -0000 1.36=0A=
+++ configure 18 Apr 2002 19:20:13 -0000=0A=
@@ -939,6 +939,9 @@=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=
Index: qmake/generators/unix/unixmake.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: /home/kde/qt-copy/qmake/generators/unix/unixmake.cpp,v=0A=
retrieving revision 1.15=0A=
diff -u -b -B -r1.15 unixmake.cpp=0A=
--- qmake/generators/unix/unixmake.cpp 15 Mar 2002 19:31:26 -0000 1.15=0A=
+++ qmake/generators/unix/unixmake.cpp 18 Apr 2002 19:21:26 -0000=0A=
@@ -71,7 +71,11 @@=0A=
}=0A=
=0A=
if( project->isEmpty("QMAKE_EXTENSION_SHLIB") )=0A=
+#ifdef __CYGWIN__=0A=
+ project->variables()["QMAKE_EXTENSION_SHLIB"].append( "dll" );=0A=
+#else=0A=
project->variables()["QMAKE_EXTENSION_SHLIB"].append( "so" );=0A=
+#endif =0A=
if( project->isEmpty("QMAKE_COPY_FILE") )=0A=
project->variables()["QMAKE_COPY_FILE"].append( "$(COPY) -p" );=0A=
if( project->isEmpty("QMAKE_COPY_DIR") )=0A=
@@ -365,6 +369,7 @@=0A=
uninst.append("\n\t");=0A=
uninst.append("-$(DEL_FILE) \"" + dst_prl + "\"");=0A=
}=0A=
+#ifndef __CYGWIN__=0A=
if(!project->isActiveConfig("staticlib")) {=0A=
if(project->isActiveConfig("plugin")) {=0A=
} else if ( !project->isEmpty("QMAKE_HPUX_SHLIB") ) {=0A=
@@ -372,6 +377,7 @@=0A=
}else=0A=
links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)";=0A=
}=0A=
+#endif =0A=
}=0A=
QString src_targ =3D target;=0A=
if(!destdir.isEmpty())=0A=
Index: qmake/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: /home/kde/qt-copy/qmake/generators/unix/unixmake2.cpp,v=0A=
retrieving revision 1.15=0A=
diff -u -b -B -r1.15 unixmake2.cpp=0A=
--- qmake/generators/unix/unixmake2.cpp 15 Mar 2002 19:31:26 -0000 1.15=0A=
+++ qmake/generators/unix/unixmake2.cpp 18 Apr 2002 19:21:29 -0000=0A=
@@ -35,6 +35,13 @@=0A=
**=0A=
**********************************************************************/=0A=
=0A=
+/* cygwin notes =0A=
+ =0A=
+ TARGET - absolute path for shared library =0A=
+ TARGETA - absolute path for static library =0A=
+ TARGET0 - absolute path for shared import library =0A=
+*/=0A=
+=0A=
#include "unixmake.h"=0A=
#include "option.h"=0A=
#include <qregexp.h>=0A=
@@ -214,14 +221,23 @@=0A=
t << "DESTDIR =3D " << var("DESTDIR") << endl;=0A=
t << "TARGET =3D " << var("TARGET") << endl;=0A=
if(project->isActiveConfig("plugin") ) {=0A=
- t << "TARGETD =3D " << var("TARGET") << endl;=0A=
+#ifdef __CYGWIN__=0A=
+ t << "TARGETA =3D " << var("TARGET_.a") << endl;=0A=
+ t << "TARGET0 =3D " << var("TARGET_.dll.a") << endl;=0A=
+#else =0A=
+ t << "TARGETD =3D " << var("TARGET_x") << endl;=0A=
+#endif=0A=
} else if (!project->isActiveConfig("staticlib") && =
project->variables()["QMAKE_APP_FLAG"].isEmpty()) {=0A=
t << "TARGETA =3D " << var("TARGETA") << endl;=0A=
if(project->variables()["QMAKE_HPUX_SHLIBS"].isEmpty()) {=0A=
+#ifdef __CYGWIN__=0A=
+ t << "TARGET0 =3D " << var("TARGET_.dll.a") << endl;=0A=
+#else =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=
t << "TARGET2 =3D " << var("TARGET_x.y") << endl;=0A=
+#endif =0A=
}=0A=
else {=0A=
t << "TARGETD =3D " << var("TARGET_x") << endl;=0A=
@@ -469,9 +485,11 @@=0A=
t << "\n\t"=0A=
<< "-rm -f $(TARGET)" << "\n\t"=0A=
<< var("QMAKE_LINK_SHLIB_CMD");=0A=
+#ifndef __CYGWIN__=0A=
if(!destdir.isEmpty())=0A=
t << "\n\t"=0A=
<< "-mv $(TARGET) " << var("DESTDIR");=0A=
+#endif =0A=
if(!project->isEmpty("QMAKE_POST_LINK"))=0A=
t << "\n\t" << var("QMAKE_POST_LINK") << "\n\t";=0A=
t << endl << endl;=0A=
@@ -479,6 +497,7 @@=0A=
t << "\n\t"=0A=
<< "-rm -f $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)" << "\n\t"=0A=
<< var("QMAKE_LINK_SHLIB_CMD") << "\n\t";=0A=
+#ifndef __CYGWIN__=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=
@@ -489,6 +508,7 @@=0A=
<< "-rm -f " << var("DESTDIR") << "$(TARGET1)\n\t"=0A=
<< "-rm -f " << var("DESTDIR") << "$(TARGET2)\n\t"=0A=
<< "-mv $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) " << =
var("DESTDIR");=0A=
+#endif =0A=
if(!project->isEmpty("QMAKE_POST_LINK"))=0A=
t << "\n\t" << var("QMAKE_POST_LINK");=0A=
t << endl << endl;=0A=
@@ -497,11 +517,13 @@=0A=
<< "-rm -f $(TARGET) $(TARGET0)" << "\n\t"=0A=
<< var("QMAKE_LINK_SHLIB_CMD") << "\n\t";=0A=
t << varGlue("QMAKE_LN_SHLIB",""," "," $(TARGET) $(TARGET0)");=0A=
+#ifndef __CYGWIN__=0A=
if(!destdir.isEmpty())=0A=
t << "\n\t"=0A=
<< "-rm -f " << var("DESTDIR") << "$(TARGET)\n\t"=0A=
<< "-rm -f " << var("DESTDIR") << "$(TARGET0)\n\t"=0A=
<< "-mv $(TARGET) $(TARGET0) " << var("DESTDIR");=0A=
+#endif =0A=
if(!project->isEmpty("QMAKE_POST_LINK"))=0A=
t << "\n\t" << var("QMAKE_POST_LINK");=0A=
t << endl << endl;=0A=
@@ -640,11 +662,19 @@=0A=
if(!destdir.isEmpty() && destdir.right(1) !=3D Option::dir_sep)=0A=
destdir +=3D Option::dir_sep;=0A=
t << "distclean: " << "clean\n\t"=0A=
+#ifdef __CYGWIN=0A=
+ << "-rm -f " << destdir << "$(TARGET) $(TARGET0) \n\t";=0A=
+#else =0A=
<< "-rm -f " << destdir << "$(TARGET)" << " " << "$(TARGET)" << =
"\n\t";=0A=
+#endif =0A=
if(!project->isActiveConfig("staticlib") && =
project->variables()["QMAKE_APP_FLAG"].isEmpty() &&=0A=
!project->isActiveConfig("plugin"))=0A=
+#ifdef __CYGWIN=0A=
+ t << "-rm -f $(TARGETA)\n\t";=0A=
+#else=0A=
t << "-rm -f " << destdir << "$(TARGET0) " << destdir << "$(TARGET1) "=0A=
<< destdir << "$(TARGET2) $(TARGETA)" << "\n\t";=0A=
+#endif =0A=
t << endl << endl;=0A=
=0A=
if ( !project->isEmpty("PRECOMPH") ) {=0A=
@@ -794,12 +824,19 @@=0A=
else=0A=
project->variables()["QMAKE_AR_CMD"].append("$(AR) $(TARGETA) =
$(OBJECTS) $(OBJMOC)");=0A=
if( project->isActiveConfig("plugin") ) {=0A=
+#ifdef __CYGWIN__=0A=
+ project->variables()["TARGET_"].append(project->first("DESTDIR") + =
project->first("TARGET") + "-" + project->first("VER_MAJ") + "." + =
project->first("QMAKE_EXTENSION_SHLIB"));=0A=
+ =
project->variables()["TARGET_.dll.a"].append(project->first("DESTDIR") + =
"lib" + project->first("TARGET") + ".dll.a");=0A=
+ project->variables()["TARGET_.a"].append(project->first("DESTDIR") =
+ "lib" + project->first("TARGET") + ".a");=0A=
+ project->variables()["TARGET"] =3D project->variables()["TARGET_"];=0A=
+#else =0A=
project->variables()["TARGET_x.y.z"].append("lib" +=0A=
project->first("TARGET") + "." + =
project->first("QMAKE_EXTENSION_SHLIB"));=0A=
project->variables()["TARGET_x"].append("lib" + =
project->first("TARGET") + "." +=0A=
project->first("QMAKE_EXTENSION_SHLIB") +=0A=
"." + project->first("VER_MAJ"));=0A=
project->variables()["TARGET"] =3D =
project->variables()["TARGET_x.y.z"];=0A=
+#endif =0A=
if(project->isActiveConfig("qt"))=0A=
project->variables()["DEFINES"].append("QT_PLUGIN");=0A=
} else if ( !project->variables()["QMAKE_HPUX_SHLIB"].isEmpty() ) {=0A=
@@ -822,6 +859,12 @@=0A=
project->first("VER_PAT"));=0A=
project->variables()["TARGET"] =3D =
project->variables()["TARGET_x.y.z"];=0A=
} else {=0A=
+#ifdef __CYGWIN__=0A=
+ =
project->variables()["TARGET_"].append(project->first("DLLDESTDIR") + =
"/" + project->first("TARGET") + "-" + project->first("VER_MAJ") + "." + =
project->first("QMAKE_EXTENSION_SHLIB"));=0A=
+ =
project->variables()["TARGET_.dll.a"].append(project->first("DESTDIR") + =
"lib" + project->first("TARGET") + ".dll.a");=0A=
+ =
project->variables()["TARGET_.a"].append(project->first("DESTDIR") + =
"lib" + project->first("TARGET") + ".a");=0A=
+ project->variables()["TARGET"] =3D =
project->variables()["TARGET_"];=0A=
+#else =0A=
project->variables()["TARGET_"].append("lib" + =
project->first("TARGET") + "." +=0A=
project->first("QMAKE_EXTENSION_SHLIB"));=0A=
project->variables()["TARGET_x"].append("lib" + =
project->first("TARGET") + "." +=0A=
@@ -839,6 +882,7 @@=0A=
project->first("VER_MIN") + "." +=0A=
project->first("VER_PAT"));=0A=
project->variables()["TARGET"] =3D =
project->variables()["TARGET_x.y.z"];=0A=
+#endif =0A=
}=0A=
project->variables()["QMAKE_LN_SHLIB"].append("-ln -s");=0A=
project->variables()["DESTDIR_TARGET"].append("$(TARGET)");=0A=
Index: src/kernel/qapplication.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: /home/kde/qt-copy/src/kernel/qapplication.cpp,v=0A=
retrieving revision 1.48=0A=
diff -u -b -B -r1.48 qapplication.cpp=0A=
--- src/kernel/qapplication.cpp 15 Mar 2002 19:31:40 -0000 1.48=0A=
+++ src/kernel/qapplication.cpp 18 Apr 2002 19:22:07 -0000=0A=
@@ -3906,3 +3906,140 @@=0A=
#endif // QT_NO_SM_SUPPORT=0A=
#endif //QT_NO_SESSIONMANAGER=0A=
=0A=
+#if defined(Q_OS_CYGWIN)=0A=
+#include <windows.h>=0A=
+=0A=
+Qt::WindowsVersion QApplication::winVersion()=0A=
+{=0A=
+ OSVERSIONINFOA osvi;=0A=
+ BOOL bOsVersionInfoEx;=0A=
+=0A=
+ // Try calling GetVersionEx using the OSVERSIONINFOEX structure.=0A=
+ //=0A=
+ // If that fails, try using the OSVERSIONINFO structure.=0A=
+=0A=
+ ZeroMemory(&osvi, sizeof(OSVERSIONINFOA));=0A=
+ osvi.dwOSVersionInfoSize =3D sizeof(OSVERSIONINFOA);=0A=
+=0A=
+ if( !(bOsVersionInfoEx =3D GetVersionEx ((OSVERSIONINFO *) &osvi)) )=0A=
+ {=0A=
+ // If OSVERSIONINFOEX doesn't work, try OSVERSIONINFO.=0A=
+=0A=
+ osvi.dwOSVersionInfoSize =3D sizeof (OSVERSIONINFO);=0A=
+ if (! GetVersionEx ( (OSVERSIONINFO *) &osvi) ) =0A=
+ return WV_DOS_based;=0A=
+ }=0A=
+=0A=
+ switch (osvi.dwPlatformId)=0A=
+ {=0A=
+ case VER_PLATFORM_WIN32_NT:=0A=
+=0A=
+ // Test for the product.=0A=
+=0A=
+ if ( osvi.dwMajorVersion <=3D 4 )=0A=
+ return WV_NT;=0A=
+ // printf("Microsoft Windows NT ");=0A=
+=0A=
+ if ( osvi.dwMajorVersion =3D=3D 5 && osvi.dwMinorVersion =
=3D=3D 0 )=0A=
+ return WV_2000;=0A=
+ // printf ("Microsoft Windows 2000 ");=0A=
+=0A=
+ if ( osvi.dwMajorVersion =3D=3D 5 && osvi.dwMinorVersion =
=3D=3D 1 )=0A=
+ return WV_XP;=0A=
+ // printf ("Microsoft Windows XP ");=0A=
+=0A=
+=0A=
+ // Test for product type.=0A=
+#if 0=0A=
+ if( bOsVersionInfoEx )=0A=
+ {=0A=
+ if ( osvi.wProductType =3D=3D VER_NT_WORKSTATION )=0A=
+ {=0A=
+ if( osvi.wSuiteMask & VER_SUITE_PERSONAL )=0A=
+ // printf ( "Personal " );=0A=
+ else=0A=
+ // printf ( "Professional " );=0A=
+ }=0A=
+=0A=
+ else if ( osvi.wProductType =3D=3D VER_NT_SERVER )=0A=
+ {=0A=
+ if( osvi.wSuiteMask & VER_SUITE_DATACENTER )=0A=
+ // printf ( "DataCenter Server " );=0A=
+ else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )=0A=
+ // printf ( "Advanced Server " );=0A=
+ else=0A=
+ // printf ( "Server " );=0A=
+ }=0A=
+ }=0A=
+ else=0A=
+ {=0A=
+ HKEY hKey;=0A=
+ char szProductType[80];=0A=
+ DWORD dwBufLen;=0A=
+=0A=
+ RegOpenKeyEx( HKEY_LOCAL_MACHINE,=0A=
+ "SYSTEM\\CurrentControlSet\\Control\\ProductOptions",=0A=
+ 0, KEY_QUERY_VALUE, &hKey );=0A=
+ RegQueryValueEx( hKey, "ProductType", NULL, NULL,=0A=
+ (LPBYTE) szProductType, &dwBufLen);=0A=
+ RegCloseKey( hKey );=0A=
+ if ( lstrcmpi( "WINNT", szProductType) =3D=3D 0 )=0A=
+ // printf( "Professional " );=0A=
+ if ( lstrcmpi( "LANMANNT", szProductType) =3D=3D 0 )=0A=
+ // printf( "Server " );=0A=
+ if ( lstrcmpi( "SERVERNT", szProductType) =3D=3D 0 )=0A=
+ // printf( "Advanced Server " );=0A=
+ }=0A=
+#endif =0A=
+=0A=
+ // Display version, service pack (if any), and build number.=0A=
+#if 0=0A=
+ if ( osvi.dwMajorVersion <=3D 4 )=0A=
+ {=0A=
+ printf ("version %d.%d %s (Build %d)\n",=0A=
+ osvi.dwMajorVersion,=0A=
+ osvi.dwMinorVersion,=0A=
+ osvi.szCSDVersion,=0A=
+ osvi.dwBuildNumber & 0xFFFF);=0A=
+ }=0A=
+ else=0A=
+ { =0A=
+ printf ("%s (Build %d)\n",=0A=
+ osvi.szCSDVersion,=0A=
+ osvi.dwBuildNumber & 0xFFFF);=0A=
+ }=0A=
+#endif =0A=
+ break;=0A=
+=0A=
+ case VER_PLATFORM_WIN32_WINDOWS:=0A=
+=0A=
+ if (osvi.dwMajorVersion =3D=3D 4 && osvi.dwMinorVersion =3D=3D =
0)=0A=
+ {=0A=
+ return WV_95;=0A=
+ // printf ("Microsoft Windows 95 ");=0A=
+ // if ( osvi.szCSDVersion[1] =3D=3D 'C' || =
osvi.szCSDVersion[1] =3D=3D 'B' )=0A=
+ // printf("OSR2 " );=0A=
+ } =0A=
+=0A=
+ if (osvi.dwMajorVersion =3D=3D 4 && osvi.dwMinorVersion =3D=3D =
10)=0A=
+ {=0A=
+ return WV_98;=0A=
+ // printf ("Microsoft Windows 98 ");=0A=
+ // if ( osvi.szCSDVersion[1] =3D=3D 'A' )=0A=
+ // printf("SE " );=0A=
+ } =0A=
+=0A=
+ if (osvi.dwMajorVersion =3D=3D 4 && osvi.dwMinorVersion =3D=3D =
90)=0A=
+ {=0A=
+ return WV_Me;=0A=
+ // printf ("Microsoft Windows Me ");=0A=
+ } =0A=
+ break;=0A=
+=0A=
+ case VER_PLATFORM_WIN32s:=0A=
+ return WV_32s;=0A=
+ // printf ("Microsoft Win32s ");=0A=
+ break;=0A=
+ }=0A=
+}=0A=
+#endif =0A=
Index: src/kernel/qapplication.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: /home/kde/qt-copy/src/kernel/qapplication.h,v=0A=
retrieving revision 1.44=0A=
diff -u -b -B -r1.44 qapplication.h=0A=
--- src/kernel/qapplication.h 15 Mar 2002 19:31:40 -0000 1.44=0A=
+++ src/kernel/qapplication.h 18 Apr 2002 19:22:08 -0000=0A=
@@ -202,7 +202,12 @@=0A=
static int wheelScrollLines();=0A=
#endif=0A=
static void setGlobalStrut( const QSize & );=0A=
+=0A=
+#ifdef Q_OS_CYGWIN_=0A=
+ static QSize &globalStrut();=0A=
+#else=0A=
static QSize globalStrut();=0A=
+#endif =0A=
=0A=
#ifndef QT_NO_COMPONENT=0A=
static void setLibraryPaths(const QStringList &);=0A=
@@ -249,6 +254,10 @@=0A=
void winFocus( QWidget *, bool );=0A=
static void winMouseButtonUp();=0A=
#endif=0A=
+=0A=
+#if defined(Q_OS_CYGWIN)=0A=
+ static WindowsVersion winVersion();=0A=
+#endif =0A=
=0A=
#ifndef QT_NO_SESSIONMANAGER=0A=
// session management=0A=
Index: src/network/qdns.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: /home/kde/qt-copy/src/network/qdns.cpp,v=0A=
retrieving revision 1.24=0A=
diff -u -b -B -r1.24 qdns.cpp=0A=
--- src/network/qdns.cpp 15 Mar 2002 19:31:55 -0000 1.24=0A=
+++ src/network/qdns.cpp 18 Apr 2002 19:23:25 -0000=0A=
@@ -2069,7 +2069,7 @@=0A=
}=0A=
#endif=0A=
=0A=
-#if defined(Q_OS_UNIX)=0A=
+#if defined(Q_OS_UNIX) && !defined(Q_OS_CYGWIN)=0A=
=0A=
#if defined(Q_DNS_SYNCHRONOUS)=0A=
void QDns::doSynchronousLookup()=0A=
@@ -2211,7 +2211,11 @@=0A=
}=0A=
}=0A=
=0A=
-#elif defined(Q_OS_WIN32)=0A=
+#elif defined(Q_OS_WIN32) || defined(Q_OS_CYGWIN)=0A=
+=0A=
+#if defined(Q_OS_CYGWIN)=0A=
+#include <windows.h>=0A=
+#endif =0A=
=0A=
#if defined(Q_DNS_SYNCHRONOUS)=0A=
void QDns::doSynchronousLookup()=0A=
Index: src/tools/qglobal.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: /home/kde/qt-copy/src/tools/qglobal.h,v=0A=
retrieving revision 1.44=0A=
diff -u -b -B -r1.44 qglobal.h=0A=
--- src/tools/qglobal.h 15 Mar 2002 19:32:04 -0000 1.44=0A=
+++ src/tools/qglobal.h 18 Apr 2002 19:23:29 -0000=0A=
@@ -153,6 +153,9 @@=0A=
#elif defined(__svr4__)=0A=
/* generic fallback for the rest of svr4 systems, e.g. g++ on =
UnixWare7.*/=0A=
# define Q_OS_SVR4=0A=
+#elif defined(__CYGWIN__)=0A=
+# define Q_OS_CYGWIN=0A=
+# define Q_OS_LINUX=0A=
#else=0A=
# error "Qt has not been ported to this OS - talk to =
qt-bugs@trolltech.com"=0A=
#endif=0A=
--- /dev/null Thu Apr 18 19:32:15 2002=0A=
+++ mkspecs/cygwin-g++/qmake.conf Tue Apr 2 20:10:18 2002=0A=
@@ -0,0 +1,79 @@=0A=
+#=0A=
+# $Id$=0A=
+#=0A=
+# qmake configuration for cygwin-g++=0A=
+#=0A=
+=0A=
+MAKEFILE_GENERATOR =3D UNIX=0A=
+TEMPLATE =3D app=0A=
+CONFIG +=3D qt warn_on release incremental=0A=
+=0A=
+QMAKE_CC =3D gcc=0A=
+QMAKE_LEX =3D flex=0A=
+QMAKE_LEXFLAGS =3D =0A=
+QMAKE_YACC =3D yacc=0A=
+QMAKE_YACCFLAGS =3D -d=0A=
+QMAKE_CFLAGS =3D -pipe=0A=
+QMAKE_CFLAGS_DEPS =3D -M=0A=
+QMAKE_CFLAGS_WARN_ON =3D -Wall -W=0A=
+QMAKE_CFLAGS_WARN_OFF =3D=0A=
+QMAKE_CFLAGS_RELEASE =3D -O2=0A=
+QMAKE_CFLAGS_DEBUG =3D -g=0A=
+QMAKE_CFLAGS_SHLIB =3D =0A=
+QMAKE_CFLAGS_YACC =3D -Wno-unused -Wno-parentheses=0A=
+QMAKE_CFLAGS_THREAD =3D -D_REENTRANT=0A=
+=0A=
+QMAKE_CXX =3D g++=0A=
+QMAKE_CXXFLAGS_DEPS =3D $$QMAKE_CFLAGS_DEPS=0A=
+QMAKE_CXXFLAGS =3D $$QMAKE_CFLAGS=0A=
+QMAKE_CXXFLAGS_WARN_ON =3D $$QMAKE_CFLAGS_WARN_ON=0A=
+QMAKE_CXXFLAGS_WARN_OFF =3D $$QMAKE_CFLAGS_WARN_OFF=0A=
+QMAKE_CXXFLAGS_RELEASE =3D $$QMAKE_CFLAGS_RELEASE=0A=
+QMAKE_CXXFLAGS_DEBUG =3D $$QMAKE_CFLAGS_DEBUG=0A=
+QMAKE_CXXFLAGS_SHLIB =3D $$QMAKE_CFLAGS_SHLIB=0A=
+QMAKE_CXXFLAGS_YACC =3D $$QMAKE_CFLAGS_YACC=0A=
+QMAKE_CXXFLAGS_THREAD =3D $$QMAKE_CFLAGS_THREAD=0A=
+=0A=
+QMAKE_INCDIR =3D=0A=
+QMAKE_LIBDIR =3D=0A=
+QMAKE_INCDIR_X11 =3D /usr/X11R6/include=0A=
+QMAKE_LIBDIR_X11 =3D /usr/X11R6/lib=0A=
+QMAKE_INCDIR_QT =3D $(QTDIR)/include=0A=
+QMAKE_LIBDIR_QT =3D $(QTDIR)/lib=0A=
+QMAKE_INCDIR_OPENGL =3D /usr/X11R6/include=0A=
+QMAKE_LIBDIR_OPENGL =3D /usr/X11R6/lib=0A=
+=0A=
+QMAKE_LINK =3D g++=0A=
+QMAKE_LINK_SHLIB =3D g++=0A=
+QMAKE_LFLAGS =3D -Wl,--enable-auto-import =0A=
+QMAKE_LFLAGS_RELEASE =3D=0A=
+QMAKE_LFLAGS_DEBUG =3D -g=0A=
+QMAKE_LFLAGS_SHLIB =3D -shared -Wl,--export-all-symbols =
-Wl,--out-implib,$(TARGET0)=0A=
+QMAKE_LFLAGS_PLUGIN =3D -shared -Wl,--export-all-symbols =
-Wl,--out-implib,$(TARGET0) =0A=
+QMAKE_LFLAGS_SONAME =3D =0A=
+QMAKE_LFLAGS_THREAD =3D=0A=
+QMAKE_RPATH =3D -Wl,-rpath,=0A=
+QMAKE_CYGWIN_SHLIB =3D 1=0A=
+=0A=
+QMAKE_LIBS =3D =0A=
+QMAKE_LIBS_DYNLOAD =3D -ldl=0A=
+QMAKE_LIBS_X11 =3D -lXext -lX11=0A=
+QMAKE_LIBS_X11SM =3D -lICE -lSM=0A=
+QMAKE_LIBS_QT =3D -lqt=0A=
+QMAKE_LIBS_QT_THREAD =3D -lqt-mt=0A=
+QMAKE_LIBS_OPENGL =3D -lGLU -lGL -lXmu=0A=
+QMAKE_LIBS_OPENGL_QT =3D -lGL -lXmu=0A=
+QMAKE_LIBS_THREAD =3D -lpthread=0A=
+=0A=
+QMAKE_MOC =3D $(QTDIR)/bin/moc=0A=
+QMAKE_UIC =3D $(QTDIR)/bin/uic=0A=
+=0A=
+QMAKE_AR =3D ar cqs=0A=
+QMAKE_RANLIB =3D=0A=
+=0A=
+QMAKE_TAR =3D tar -cf=0A=
+QMAKE_GZIP =3D gzip -9f=0A=
+=0A=
+QMAKE_COPY =3D cp -f=0A=
+QMAKE_MOVE =3D mv=0A=
+QMAKE_DEL =3D rm -f=0A=
--- /dev/null Thu Apr 18 19:32:29 2002=0A=
+++ mkspecs/cygwin-g++/qplatformdefs.h Tue Apr 2 10:48:16 2002=0A=
@@ -0,0 +1,100 @@=0A=
+#ifndef QPLATFORMDEFS_H=0A=
+#define QPLATFORMDEFS_H=0A=
+=0A=
+// Get Qt defines/settings=0A=
+=0A=
+#include "qglobal.h"=0A=
+=0A=
+// Set any POSIX/XOPEN defines at the top of this file to turn on =
specific APIs=0A=
+=0A=
+// DNS system header files are a mess!=0A=
+// <resolv.h> includes <arpa/nameser.h>. <arpa/nameser.h> is using=0A=
+// 'u_char' and includes <sys/types.h>. Now the problem is that=0A=
+// <sys/types.h> defines 'u_char' only if __USE_BSD is defined.=0A=
+// __USE_BSD is defined in <features.h> if _BSD_SOURCE is defined.=0A=
+#ifndef _BSD_SOURCE=0A=
+# define _BSD_SOURCE=0A=
+#endif=0A=
+=0A=
+// 1) need to reset default environment if _BSD_SOURCE is defined=0A=
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0=0A=
+// 3) it seems older glibc need this to include the X/Open stuff=0A=
+#ifndef _GNU_SOURCE=0A=
+# define _GNU_SOURCE=0A=
+#endif=0A=
+=0A=
+#include <unistd.h>=0A=
+=0A=
+=0A=
+// We are hot - unistd.h should have turned on the specific APIs we =
requested=0A=
+=0A=
+=0A=
+#ifdef QT_THREAD_SUPPORT=0A=
+#include <pthread.h>=0A=
+#endif=0A=
+=0A=
+#include <dirent.h>=0A=
+#include <fcntl.h>=0A=
+#include <grp.h>=0A=
+#include <pwd.h>=0A=
+#include <signal.h>=0A=
+=0A=
+#include <sys/types.h>=0A=
+#include <sys/ioctl.h>=0A=
+#include <sys/ipc.h>=0A=
+#include <sys/time.h>=0A=
+#include <sys/shm.h>=0A=
+#include <sys/socket.h>=0A=
+#include <sys/stat.h>=0A=
+#include <sys/wait.h>=0A=
+=0A=
+// DNS header files are not fully covered by X/Open specifications.=0A=
+// In particular nothing is said about res_* :/=0A=
+// Header files <netinet/in.h> and <arpa/nameser.h> are not included=0A=
+// by <resolv.h> on older versions of the GNU C library. Note that=0A=
+// <arpa/nameser.h> must be included before <resolv.h>.=0A=
+#include <netinet/in.h>=0A=
+#if !defined(Q_OS_CYGWIN)=0A=
+#include <arpa/nameser.h>=0A=
+#include <resolv.h>=0A=
+#endif =0A=
+=0A=
+#define QT_STATBUF struct stat=0A=
+#define QT_STATBUF4TSTAT struct stat=0A=
+#define QT_STAT ::stat=0A=
+#define QT_FSTAT ::fstat=0A=
+#define QT_STAT_REG S_IFREG=0A=
+#define QT_STAT_DIR S_IFDIR=0A=
+#define QT_STAT_MASK S_IFMT=0A=
+#define QT_STAT_LNK S_IFLNK=0A=
+#define QT_FILENO fileno=0A=
+#define QT_OPEN ::open=0A=
+#define QT_CLOSE ::close=0A=
+#define QT_LSEEK ::lseek=0A=
+#define QT_READ ::read=0A=
+#define QT_WRITE ::write=0A=
+#define QT_ACCESS ::access=0A=
+#define QT_GETCWD ::getcwd=0A=
+#define QT_CHDIR ::chdir=0A=
+#define QT_MKDIR ::mkdir=0A=
+#define QT_RMDIR ::rmdir=0A=
+#define QT_OPEN_RDONLY O_RDONLY=0A=
+#define QT_OPEN_WRONLY O_WRONLY=0A=
+#define QT_OPEN_RDWR O_RDWR=0A=
+#define QT_OPEN_CREAT O_CREAT=0A=
+#define QT_OPEN_TRUNC O_TRUNC=0A=
+#define QT_OPEN_APPEND O_APPEND=0A=
+=0A=
+#define QT_SIGNAL_RETTYPE void=0A=
+#define QT_SIGNAL_ARGS int=0A=
+#define QT_SIGNAL_IGNORE SIG_IGN=0A=
+=0A=
+#define QT_SOCKLEN_T socklen_t=0A=
+=0A=
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >=3D 500)=0A=
+#define QT_SNPRINTF ::snprintf=0A=
+#define QT_VSNPRINTF ::vsnprintf=0A=
+#endif=0A=
+=0A=
+=0A=
+#endif // QPLATFORMDEFS_H=0A=
--- /dev/null Thu Apr 18 19:33:46 2002=0A=
+++ config.cygwin Mon Apr 1 16:46:19 2002=0A=
@@ -0,0 +1,8 @@=0A=
+# wished release configure =0A=
+# libpng has configure error if using qt-libpng=0A=
+# for threads add -lcygwin =0A=
+#./configure -qt-zlib -qt-gif -system-libpng -qt-jpeg -qt-libmng =
-no-g++-exceptions -thread=0A=
+=0A=
+# currently config =0A=
+# libpng has configure error if using -qt-libpng=0A=
+./configure -platform cygwin-g++ -plugin-imgfmt-mng -thread -no-stl =
-system-zlib -qt-gif -system-libpng -system-libjpeg -qt-libmng =
-no-g++-exceptions -no-xft -no-xkb=0A=
------=_NextPart_000_0041_01C1E724.097BC5F0--