Index: /trunk/mkspecs/os2-g++/qmake.conf
===================================================================
--- /trunk/mkspecs/os2-g++/qmake.conf	(revision 15)
+++ /trunk/mkspecs/os2-g++/qmake.conf	(revision 16)
@@ -1,106 +1,108 @@
 #
-# qmake configuration for win32-g++
+# qmake configuration for os2-g++
 #
-# Written for MinGW
+# Written for Innotek GCC/kLib and IBM ILINK
 #
 
-MAKEFILE_GENERATOR	= MINGW
-TEMPLATE		= app
-CONFIG			+= qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
-QT			+= core gui
-DEFINES			+= UNICODE QT_LARGEFILE_SUPPORT
-QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32
+MAKEFILE_GENERATOR  = GNUMAKE
+TEMPLATE        = app
+CONFIG          += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target
+QT              += core gui
+# @todo 
+#DEFINES         += QT_LARGEFILE_SUPPORT
+#QMAKE_COMPILER_DEFINES  += __GNUC__ OS2
 
-QMAKE_EXT_OBJ           = .o
-QMAKE_EXT_RES           = _res.o
+QMAKE_EXT_OBJ           = .obj
+QMAKE_EXT_RES           = _res.obj
 
-QMAKE_CC		= gcc
-QMAKE_LEX		= flex
-QMAKE_LEXFLAGS		=
-QMAKE_YACC		= byacc
-QMAKE_YACCFLAGS		= -d
-QMAKE_CFLAGS		=
-QMAKE_CFLAGS_DEPS	= -M
-QMAKE_CFLAGS_WARN_ON	= -Wall
-QMAKE_CFLAGS_WARN_OFF	= -w
-QMAKE_CFLAGS_RELEASE	= -O2
-QMAKE_CFLAGS_DEBUG	= -g
-QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
+QMAKE_CC                = gcc
+QMAKE_LEX               = flex
+QMAKE_LEXFLAGS          =
+QMAKE_YACC              = byacc
+QMAKE_YACCFLAGS         = -d
+QMAKE_CFLAGS            = -Zomf
+QMAKE_CFLAGS_DEPS       = -M
+QMAKE_CFLAGS_WARN_ON    = -Wall
+QMAKE_CFLAGS_WARN_OFF   = -w
+QMAKE_CFLAGS_RELEASE    = -s -O2
+QMAKE_CFLAGS_DEBUG      = -g
+QMAKE_CFLAGS_YACC       = -Wno-unused -Wno-parentheses
 
-QMAKE_CXX		= g++
-QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
-QMAKE_CXXFLAGS_DEPS	= $$QMAKE_CFLAGS_DEPS
-QMAKE_CXXFLAGS_WARN_ON	= $$QMAKE_CFLAGS_WARN_ON
-QMAKE_CXXFLAGS_WARN_OFF	= $$QMAKE_CFLAGS_WARN_OFF
-QMAKE_CXXFLAGS_RELEASE	= $$QMAKE_CFLAGS_RELEASE
-QMAKE_CXXFLAGS_DEBUG	= $$QMAKE_CFLAGS_DEBUG
-QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
-QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD
-QMAKE_CXXFLAGS_RTTI_ON	= -frtti
-QMAKE_CXXFLAGS_RTTI_OFF	= -fno-rtti
-QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
+QMAKE_CXX               = g++
+QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS     = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_RTTI_ON  = -frtti
+QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions
 QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
 
-QMAKE_INCDIR		=
-QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
-QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR        =
+QMAKE_INCDIR_QT     = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT     = $$[QT_INSTALL_LIBS]
 
-QMAKE_RUN_CC		= $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
-QMAKE_RUN_CC_IMP	= $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
-QMAKE_RUN_CXX		= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
-QMAKE_RUN_CXX_IMP	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+QMAKE_RUN_CC        = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CC_IMP    = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+QMAKE_RUN_CXX       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CXX_IMP   = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
 
-QMAKE_LINK		= g++
-QMAKE_LINK_C		= gcc
-QMAKE_LFLAGS		= -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
-QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
+QMAKE_LINK          = g++
+QMAKE_LINK_C        = gcc
+QMAKE_LFLAGS        = -Zomf -Zstack 0x2000 -Zmap
+QMAKE_LFLAGS_EXCEPTIONS_ON =
 QMAKE_LFLAGS_EXCEPTIONS_OFF =
-QMAKE_LFLAGS_RELEASE	= -Wl,-s
-QMAKE_LFLAGS_DEBUG	=
-QMAKE_LFLAGS_CONSOLE	= -Wl,-subsystem,console
-QMAKE_LFLAGS_WINDOWS	= -Wl,-subsystem,windows
-QMAKE_LFLAGS_DLL        = -shared
-QMAKE_LINK_OBJECT_MAX	= 10
-QMAKE_LINK_OBJECT_SCRIPT= object_script
+QMAKE_LFLAGS_RELEASE    = -s -Zlinker /EXEPACK:2
+QMAKE_LFLAGS_DEBUG      =
+QMAKE_LFLAGS_CONSOLE    = -Zlinker /PM:VIO
+QMAKE_LFLAGS_WINDOWS    = -Zlinker /PM:PM -Zno-fork
+QMAKE_LFLAGS_DLL        = -Zdll
+# @todo
+#QMAKE_LINK_OBJECT_MAX   = 10
+#QMAKE_LINK_OBJECT_SCRIPT= object_script
 
 
-QMAKE_LIBS		=
-QMAKE_LIBS_CORE         = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
-QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
-QMAKE_LIBS_NETWORK      = -lws2_32
-QMAKE_LIBS_OPENGL       = -lopengl32 -lglu32 -lgdi32 -luser32
-QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
-QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
+QMAKE_LIBS              =
+QMAKE_LIBS_CORE         = -lregistry.dll -lsocket
+QMAKE_LIBS_GUI          =
+QMAKE_LIBS_NETWORK      =
+QMAKE_LIBS_OPENGL       =
+QMAKE_LIBS_COMPAT       =
+QMAKE_LIBS_QT_ENTRY     =
 
 !isEmpty(QMAKE_SH) {
     MINGW_IN_SHELL      = 1
-	QMAKE_DIR_SEP		= /
-	QMAKE_COPY		= cp
-	QMAKE_COPY_DIR		= xcopy /s /q /y /i
-	QMAKE_MOVE		= mv
-	QMAKE_DEL_FILE		= rm
-	QMAKE_MKDIR		= mkdir
-	QMAKE_DEL_DIR		= rmdir
-    QMAKE_CHK_DIR_EXISTS = test -d
+    QMAKE_DIR_SEP       = /
+    QMAKE_COPY          = cp
+    QMAKE_COPY_DIR      = xcopy /s /q /y /i
+    QMAKE_MOVE          = mv
+    QMAKE_DEL_FILE      = rm
+    QMAKE_MKDIR         = mkdir
+    QMAKE_DEL_DIR       = rmdir
+    QMAKE_CHK_DIR_EXISTS    = test -d
 } else {
-	QMAKE_COPY		= copy /y
-	QMAKE_COPY_DIR		= xcopy /s /q /y /i
-	QMAKE_MOVE		= move
-	QMAKE_DEL_FILE		= del
-	QMAKE_MKDIR		= mkdir
-	QMAKE_DEL_DIR		= rmdir
-    QMAKE_CHK_DIR_EXISTS	= if not exist
+    QMAKE_COPY          = copy /y
+    QMAKE_COPY_DIR      = xcopy /s /q /y /i
+    QMAKE_MOVE          = move
+    QMAKE_DEL_FILE      = del
+    QMAKE_MKDIR         = mkdir
+    QMAKE_DEL_DIR       = rmdir
+    QMAKE_CHK_DIR_EXISTS    = if not exist
 }
 
-QMAKE_MOC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
-QMAKE_UIC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
-QMAKE_IDC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
+QMAKE_MOC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
+QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
+QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
 
-QMAKE_IDL		= midl
-QMAKE_LIB		= ar -ru
-QMAKE_RC		= windres
-QMAKE_ZIP		= zip -r -9
+QMAKE_IDL       =
+QMAKE_LIB       = emxomfar r
+QMAKE_RC        = rc
+QMAKE_ZIP       = zip -r -9
 
-QMAKE_STRIP		= strip
-QMAKE_STRIPFLAGS_LIB 	+= --strip-unneeded
+QMAKE_STRIP     = strip
+QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
 load(qt_config)
Index: /trunk/mkspecs/os2-g++/qplatformdefs.h
===================================================================
--- /trunk/mkspecs/os2-g++/qplatformdefs.h	(revision 15)
+++ /trunk/mkspecs/os2-g++/qplatformdefs.h	(revision 16)
@@ -43,17 +43,9 @@
 #define QPLATFORMDEFS_H
 
-#ifdef UNICODE
-#ifndef _UNICODE
-#define _UNICODE
-#endif
-#endif
-
 // Get Qt defines/settings
 
 #include "qglobal.h"
 
-#include <tchar.h>
 #include <io.h>
-#include <direct.h>
 #include <stdio.h>
 #include <fcntl.h>
@@ -61,75 +53,51 @@
 #include <sys/stat.h>
 #include <stdlib.h>
-#include <windows.h>
-#include <limits.h>
-
-#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500)
-typedef enum {
-    NameUnknown		  = 0, 
-    NameFullyQualifiedDN  = 1, 
-    NameSamCompatible	  = 2, 
-    NameDisplay		  = 3, 
-    NameUniqueId	  = 6, 
-    NameCanonical	  = 7, 
-    NameUserPrincipal	  = 8, 
-    NameCanonicalEx	  = 9, 
-    NameServicePrincipal  = 10, 
-    NameDnsDomain	  = 12
-} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
-#endif
 
 #define Q_FS_FAT
+// @todo
+//#ifdef QT_LARGEFILE_SUPPORT
+//#define QT_STATBUF		struct _stati64		// non-ANSI defs
+//#define QT_STATBUF4TSTAT	struct _stati64		// non-ANSI defs
+//#define QT_STAT			::_stati64
+//#define QT_FSTAT		::_fstati64
+//#else
+#define QT_STATBUF		struct stat
+#define QT_STATBUF4TSTAT	struct stat
+#define QT_STAT			::stat
+#define QT_FSTAT		::fstat
+//#endif
+#define QT_STAT_REG		S_IFREG
+#define QT_STAT_DIR		S_IFDIR
+#define QT_STAT_MASK		S_IFMT
+#if defined(_S_IFLNK)
+#  define QT_STAT_LNK		S_IFLNK
+#endif
+#define QT_FILENO		fileno
+#define QT_OPEN			::open
+#define QT_CLOSE		::close
 #ifdef QT_LARGEFILE_SUPPORT
-#define QT_STATBUF		struct _stati64		// non-ANSI defs
-#define QT_STATBUF4TSTAT	struct _stati64		// non-ANSI defs
-#define QT_STAT			::_stati64
-#define QT_FSTAT		::_fstati64
+#define QT_LSEEK		::lseeki64
+#define QT_TSTAT		::stati64
 #else
-#define QT_STATBUF		struct _stat		// non-ANSI defs
-#define QT_STATBUF4TSTAT	struct _stat		// non-ANSI defs
-#define QT_STAT			::_stat
-#define QT_FSTAT		::_fstat
+#define QT_LSEEK		::lseek
+#define QT_TSTAT		::stat
 #endif
-#define QT_STAT_REG		_S_IFREG
-#define QT_STAT_DIR		_S_IFDIR
-#define QT_STAT_MASK		_S_IFMT
-#if defined(_S_IFLNK)
-#  define QT_STAT_LNK		_S_IFLNK
-#endif
-#define QT_FILENO		_fileno
-#define QT_OPEN			::_open
-#define QT_CLOSE		::_close
-#ifdef QT_LARGEFILE_SUPPORT
-#define QT_LSEEK		::_lseeki64
-#ifndef UNICODE
-#define QT_TSTAT		::_stati64
-#else
-#define QT_TSTAT		::_wstati64
-#endif
-#else
-#define QT_LSEEK		::_lseek
-#ifndef UNICODE
-#define QT_TSTAT		::_stat
-#else
-#define QT_TSTAT		::_wstat
-#endif
-#endif
-#define QT_READ			::_read
-#define QT_WRITE		::_write
-#define QT_ACCESS		::_access
-#define QT_GETCWD		::_getcwd
-#define QT_CHDIR		::_chdir
-#define QT_MKDIR		::_mkdir
-#define QT_RMDIR		::_rmdir
+#define QT_READ			::read
+#define QT_WRITE		::write
+#define QT_ACCESS		::access
+#define QT_GETCWD		::_getcwd2 // returns the drive letter with path
+#define QT_CHDIR		::_chdir2 // change the current drive if present
+#define QT_MKDIR(name)	::mkdir(name,0)
+#define QT_RMDIR		::rmdir
 #define QT_OPEN_LARGEFILE       0
-#define QT_OPEN_RDONLY		_O_RDONLY
-#define QT_OPEN_WRONLY		_O_WRONLY
-#define QT_OPEN_RDWR		_O_RDWR
-#define QT_OPEN_CREAT		_O_CREAT
-#define QT_OPEN_TRUNC		_O_TRUNC
-#define QT_OPEN_APPEND		_O_APPEND
+#define QT_OPEN_RDONLY		O_RDONLY
+#define QT_OPEN_WRONLY		O_WRONLY
+#define QT_OPEN_RDWR		O_RDWR
+#define QT_OPEN_CREAT		O_CREAT
+#define QT_OPEN_TRUNC		O_TRUNC
+#define QT_OPEN_APPEND		O_APPEND
 #if defined(O_TEXT)
-# define QT_OPEN_TEXT		_O_TEXT
-# define QT_OPEN_BINARY		_O_BINARY
+# define QT_OPEN_TEXT		O_TEXT
+# define QT_OPEN_BINARY		O_BINARY
 #endif
 
@@ -153,11 +121,6 @@
 #define QT_SIGNAL_ARGS		int
 
-#define QT_VSNPRINTF		::_vsnprintf
-#define QT_SNPRINTF		::_snprintf
-
-# define F_OK	0
-# define X_OK	1
-# define W_OK	2
-# define R_OK	4
+#define QT_VSNPRINTF		::vsnprintf
+#define QT_SNPRINTF		::snprintf
 
 
Index: /trunk/qmake/Makefile.os2-g++
===================================================================
--- /trunk/qmake/Makefile.os2-g++	(revision 15)
+++ /trunk/qmake/Makefile.os2-g++	(revision 16)
@@ -295,5 +295,5 @@
 	$(CXX) $(CXXFLAGS) generators/win32/msvc_objectmodel.cpp
 
-gnumake.objbj: $(SOURCE_PATH)/qmake/generators/os2/gnumake.cpp
+gnumake.obj: $(SOURCE_PATH)/qmake/generators/os2/gnumake.cpp
 	$(CXX) $(CXXFLAGS) generators/os2/gnumake.cpp
 
