summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile4
-rw-r--r--Vars.make16
-rw-r--r--config.in10
-rw-r--r--mkspecs/qws/linux-oe-g++/qmake.conf86
-rw-r--r--mkspecs/qws/linux-oe-g++/qplatformdefs.h103
5 files changed, 214 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index e1ae448..5ed6eea 100644
--- a/Makefile
+++ b/Makefile
@@ -81,52 +81,56 @@ export
81 81
82ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) 82ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
83 83
84export include-config := 1 84export include-config := 1
85 85
86-include $(TOPDIR)/.config 86-include $(TOPDIR)/.config
87-include $(TOPDIR)/.depends 87-include $(TOPDIR)/.depends
88endif 88endif
89 89
90-include $(TOPDIR)/.config.cmd 90-include $(TOPDIR)/.config.cmd
91 91
92SUBDIRS = $(subdir-y) 92SUBDIRS = $(subdir-y)
93 93
94all clean install ipk: $(SUBDIRS) 94all clean install ipk: $(SUBDIRS)
95 95
96lupdate lrelease: 96lupdate lrelease:
97 @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done 97 @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
98 98
99opie-lupdate opie-lrelease messages: 99opie-lupdate opie-lrelease messages:
100 @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done; 100 @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done;
101 101
102# from kde 102# from kde
103qtmessages: 103qtmessages:
104 cd $(QTDIR)/src ; \ 104 cd $(QTDIR)/src ; \
105 sed -e "s,#define,," xml/qxml.cpp > qxml_clean.cpp ;\ 105 sed -e "s,#define,," xml/qxml.cpp > qxml_clean.cpp ;\
106 find . -name "*.cpp" | grep -v moc_ > list ;\ 106 find . -name "*.cpp" | grep -v moc_ > list ;\
107 for file in qfiledialog qcolordialog qprintdialog \ 107 for file in qfiledialog qcolordialog qprintdialog \
108 qurloperator qftp qhttp qlocal qerrormessage; do \ 108 qurloperator qftp qhttp qlocal qerrormessage; do \
109 grep -v $$file list > list.new && mv list.new list ;\ 109 grep -v $$file list > list.new && mv list.new list ;\
110 done ;\ 110 done ;\
111 xgettext -C -ktr -kQT_TRANSLATE_NOOP -n `cat list` -o $(OPIEDIR)/qt-messages.pot 111 xgettext -C -ktr -kQT_TRANSLATE_NOOP -n `cat list` -o $(OPIEDIR)/qt-messages.pot
112 112
113ifndef CONFIG_TARGET_OE
113$(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers $(OPIEDIR)/stamp-headers) \ 114$(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers $(OPIEDIR)/stamp-headers) \
114 $(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11 $(OPIEDIR)/stamp-headers-x11 ) \ 115 $(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11 $(OPIEDIR)/stamp-headers-x11 ) \
115 $(TOPDIR)/library/custom.h 116 $(TOPDIR)/library/custom.h
117else
118$(subdir-y) : $(if $(CONFIG_LIBQPE),$(OPIEDIR)/stamp-headers) $(TOPDIR)/library/custom.h
119endif
116 120
117clean : $(TOPDIR)/.config 121clean : $(TOPDIR)/.config
118 make -C bin clean 122 make -C bin clean
119 make -C lib clean 123 make -C lib clean
120 make -C plugins clean 124 make -C plugins clean
121 125
122apidox : 126apidox :
123 doc/generate_apidox 127 doc/generate_apidox
124 128
125mrproper : clean-configs 129mrproper : clean-configs
126 find . -name ".moc"|xargs rm -rf 130 find . -name ".moc"|xargs rm -rf
127 find . -name ".obj"|xargs rm -rf 131 find . -name ".obj"|xargs rm -rf
128 find lib -name "lib*.*"|xargs rm -f 132 find lib -name "lib*.*"|xargs rm -f
129 find plugins -name "lib*.*"|xargs rm -f 133 find plugins -name "lib*.*"|xargs rm -f
130 find . -name "*.pro"|xargs touch 134 find . -name "*.pro"|xargs touch
131 135
132include $(TOPDIR)/Rules.make 136include $(TOPDIR)/Rules.make
diff --git a/Vars.make b/Vars.make
index 5e2cd7b..238918f 100644
--- a/Vars.make
+++ b/Vars.make
@@ -1,49 +1,57 @@
1ifndef QTDIR
2$(error QTDIR not set)
3endif
4
5prefix=/opt/QtPalmtop 1prefix=/opt/QtPalmtop
6 2
7ifeq ($(OPIEDIR),) 3ifeq ($(OPIEDIR),)
8 export OPIEDIR:=$(TOPDIR) 4 export OPIEDIR:=$(TOPDIR)
9endif 5endif
10ifeq ($(IPK_DIR),) 6ifeq ($(IPK_DIR),)
11 export IPK_DIR:=$(OPIEDIR) 7 export IPK_DIR:=$(OPIEDIR)
12endif 8endif
13 9
14ifneq ($(wildcard $(TOPDIR)/.config),) 10ifneq ($(wildcard $(TOPDIR)/.config),)
15 include $(TOPDIR)/.config 11 include $(TOPDIR)/.config
16endif 12endif
17 13
14ifndef CONFIG_TARGET_OE
15 ifndef QTDIR
16 $(error QTDIR not set)
17 endif
18else
19 OEDIR:=$(CONFIG_OE_BUILD_DIR)
20 QTDIR:=$(OEDIR)/tmp/staging/arm-linux/qt2
21 $(shell mkdir -p $(QTDIR)/src/moc)
22 $(shell echo -e "all: \n\t" >>$(QTDIR)/src/moc/Makefile)
23 PLATFORM=sharp-linux
24endif
25
18ifdef CONFIG_TARGET_X86 26ifdef CONFIG_TARGET_X86
19 PLATFORM=x86-linux 27 PLATFORM=x86-linux
20endif 28endif
21ifdef CONFIG_TARGET_SHARP 29ifdef CONFIG_TARGET_SHARP
22 PLATFORM=sharp-linux 30 PLATFORM=sharp-linux
23endif 31endif
24ifdef CONFIG_TARGET_IPAQ 32ifdef CONFIG_TARGET_IPAQ
25 PLATFORM=ipaq-linux 33 PLATFORM=ipaq-linux
26endif 34endif
27ifdef CONFIG_TARGET_RAMSES 35ifdef CONFIG_TARGET_RAMSES
28 PLATFORM=ramses-linux 36 PLATFORM=ramses-linux
29endif 37endif
30ifdef CONFIG_TARGET_SIMPAD 38ifdef CONFIG_TARGET_SIMPAD
31 PLATFORM=simpad-linux 39 PLATFORM=simpad-linux
32endif 40endif
33 41
34ifdef CONFIG_TARGET_YOPY 42ifdef CONFIG_TARGET_YOPY
35 PLATFORM=yopy-linux 43 PLATFORM=yopy-linux
36endif 44endif
37ifdef CONFIG_TARGET_MACOSX 45ifdef CONFIG_TARGET_MACOSX
38 PLATFORM=macx-darwin 46 PLATFORM=macx-darwin
39endif 47endif
40 48
41export QMAKE:=$(OPIEDIR)/qmake/qmake 49export QMAKE:=$(OPIEDIR)/qmake/qmake
42export QMAKESPECSDIR=$(OPIEDIR)/mkspecs 50export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
43 51
44ifeq ($(QPE_VERSION),) 52ifeq ($(QPE_VERSION),)
45 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h)) 53 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
46 VERSION_MIN:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$(OPIEDIR)/library/version.h)) 54 VERSION_MIN:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
47 VERSION_PAT:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$(OPIEDIR)/library/version.h)) 55 VERSION_PAT:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$(OPIEDIR)/library/version.h))
48 QPE_VERSION:=$(VERSION_MAJ).$(VERSION_MIN).$(VERSION_PAT) 56 QPE_VERSION:=$(VERSION_MAJ).$(VERSION_MIN).$(VERSION_PAT)
49 57
diff --git a/config.in b/config.in
index 37cbb67..372ecfb 100644
--- a/config.in
+++ b/config.in
@@ -1,114 +1,122 @@
1mainmenu "Opie Configuration" 1mainmenu "Opie Configuration"
2 2
3menu "Build Parameters" 3menu "Build Parameters"
4 4
5choice 5choice
6 prompt "Target Machine" 6 prompt "Target Machine"
7 default TARGET_X86 7 default TARGET_X86
8 help 8 help
9 Please select the architecture of the machine you will be 9 Please select the architecture of the machine you will be
10 building the OpenZaurus buildroot for. 10 building the OpenZaurus buildroot for.
11 11
12 config TARGET_X86 12 config TARGET_X86
13 boolean "Intel X86" 13 boolean "Intel X86"
14 14
15 config TARGET_MACOSX 15 config TARGET_MACOSX
16 boolean "Mac OS X (DARWIN)" 16 boolean "Mac OS X (DARWIN)"
17 17
18 config TARGET_SHARP 18 config TARGET_SHARP
19 boolean "Sharp Zaurus w/ SA1100 (5000 and 5500)" 19 boolean "Sharp Zaurus w/ SA1100 (5000 and 5500)"
20 20
21 config TARGET_C700 21 config TARGET_C700
22 boolean "Sharp Zaurus w/ PXA25x (5600, C7x0, C8x0)" 22 boolean "Sharp Zaurus w/ PXA25x (5600, C7x0, C8x0)"
23 23
24 config TARGET_OE
25 boolean "OpenEmbedded w/ OE build dir set below"
26
24 config TARGET_IPAQ 27 config TARGET_IPAQ
25 boolean "iPAQ" 28 boolean "iPAQ"
26 29
27 config TARGET_RAMSES 30 config TARGET_RAMSES
28 boolean "Ramses" 31 boolean "Ramses"
29 32
30 config TARGET_SIMPAD 33 config TARGET_SIMPAD
31 boolean "SIMpad" 34 boolean "SIMpad"
32 35
33 config TARGET_YOPY 36 config TARGET_YOPY
34 boolean "Yopy 3500/3700" 37 boolean "Yopy 3500/3700"
35
36endchoice 38endchoice
37 39
40config OE_BUILD_DIR
41 depends TARGET_OE
42 string "OE build directory"
43 default ">>>set OpenEmbedded build directory here<<<"
44
38config OPTIMIZE 45config OPTIMIZE
39 boolean "Use optimizations" 46 boolean "Use optimizations"
40 default "y" if ! TARGET_X86 47 default "y" if ! TARGET_X86
41 48
42config THREADED 49config THREADED
43 boolean "Enable threaded build" 50 boolean "Enable threaded build"
44 default "n" 51 default "n"
45 52
46config STATIC 53config STATIC
47 boolean "Build static libraries" 54 boolean "Build static libraries"
48 default "n" 55 default "n"
49 56
50config DEBUG 57config DEBUG
51 boolean "Enable debug builds" 58 boolean "Enable debug builds"
52 default n 59 default n
53 60
54config RELEASE 61config RELEASE
55 bool 62 bool
56 default y 63 default y
57 depends !DEBUG 64 depends !DEBUG
58 65
59config QUICK_LAUNCH 66config QUICK_LAUNCH
60 boolean "Enable Quick Launch" 67 boolean "Enable Quick Launch"
61 default n if TARGET_X86 68 default n if TARGET_X86
62 default y if ! TARGET_X86 69 default y if ! TARGET_X86
63 70
64config QUICKLAUNCH_PATH 71config QUICKLAUNCH_PATH
65 string "Path to quicklauncher" 72 string "Path to quicklauncher"
66 default "./quicklauncher" if TARGET_X86 73 default "./quicklauncher" if TARGET_X86
67 default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86 74 default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86
68 75
69config SPECFILE 76config SPECFILE
70 string 77 string
71 default "qws/linux-generic-g++" if TARGET_X86 && (! X11) 78 default "qws/linux-generic-g++" if TARGET_X86 && (! X11)
72 default "linux-g++" if TARGET_X86 && X11 79 default "linux-g++" if TARGET_X86 && X11
73 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11) 80 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11)
74 default "linux-g++" if TARGET_SHARP && X11 81 default "linux-g++" if TARGET_SHARP && X11
75 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11) 82 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11)
76 default "linux-g++" if TARGET_IPAQ && X11 83 default "linux-g++" if TARGET_IPAQ && X11
77 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11) 84 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11)
78 default "linux-g++" if TARGET_RAMSES && X11 85 default "linux-g++" if TARGET_RAMSES && X11
79 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11) 86 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11)
80 default "linux-g++" if TARGET_SIMPAD && X11 87 default "linux-g++" if TARGET_SIMPAD && X11
81 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11) 88 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11)
82 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11) 89 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11)
90 default "qws/linux-oe-g++" if TARGET_OE && (!X11)
83 91
84config CUSTOMFILE 92config CUSTOMFILE
85 string 93 string
86 default "custom-ipaq.h" if TARGET_IPAQ 94 default "custom-ipaq.h" if TARGET_IPAQ
87 default "custom-sharp.h" if TARGET_SHARP 95 default "custom-sharp.h" if TARGET_SHARP
88 default "custom-ramses.h" if TARGET_RAMSES 96 default "custom-ramses.h" if TARGET_RAMSES
89 default "custom-ipaq.h" if TARGET_SIMPAD 97 default "custom-ipaq.h" if TARGET_SIMPAD
90 default "custom-yopy.h" if TARGET_YOPY 98 default "custom-yopy.h" if TARGET_YOPY
91 99
92config OPTIMIZATIONS 100config OPTIMIZATIONS
93 string "Optimization flags" 101 string "Optimization flags"
94 depends OPTIMIZE 102 depends OPTIMIZE
95 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ 103 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ
96 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY 104 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY
97 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP 105 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP
98 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES 106 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES
99 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD 107 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD
100 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700 108 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700
101 109
102config EXPERIMENTAL 110config EXPERIMENTAL
103 bool "Prompt for development and/or incomplete items" 111 bool "Prompt for development and/or incomplete items"
104 default y 112 default y
105 113
106endmenu 114endmenu
107 115
108menu "Configuration" 116menu "Configuration"
109config OPIE_NO_OVERRIDE_QT 117config OPIE_NO_OVERRIDE_QT
110 boolean "Build Opie against an unpatched version of Qt" 118 boolean "Build Opie against an unpatched version of Qt"
111 default n 119 default n
112 120
113config OPIE_NO_ERASERECT_FIX 121config OPIE_NO_ERASERECT_FIX
114 boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe" 122 boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe"
diff --git a/mkspecs/qws/linux-oe-g++/qmake.conf b/mkspecs/qws/linux-oe-g++/qmake.conf
new file mode 100644
index 0000000..c4c273f
--- a/dev/null
+++ b/mkspecs/qws/linux-oe-g++/qmake.conf
@@ -0,0 +1,86 @@
1#
2# $Id$
3#
4# qmake configuration for linux-g++ using the arm-linux-g++ crosscompiler
5#
6
7 MAKEFILE_GENERATOR= UNIX
8 TEMPLATE = app
9 CONFIG += qt link_prl
10
11STAGING_BINDIR = $(OEDIR)/tmp/staging/i686-linux/bin
12STAGING_CROSSDIR = $(OEDIR)/tmp/cross/bin
13STAGING_INCDIR = $(OEDIR)/tmp/staging/arm-linux/include
14STAGING_LIBDIR = $(OEDIR)/tmp/staging/arm-linux/lib
15
16 QMAKE_CC = $(CCACHE) $(DISTCC) $$STAGING_CROSSDIR/arm-linux-gcc
17 QMAKE_LEX = flex
18 QMAKE_LEXFLAGS =
19 QMAKE_YACC = yacc
20 QMAKE_YACCFLAGS = -d
21 QMAKE_CFLAGS = -pipe $(CFLAGS_EXTRA)
22 QMAKE_CFLAGS_WARN_ON= -Wall -W
23 QMAKE_CFLAGS_WARN_OFF=
24 QMAKE_CFLAGS_RELEASE= $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2)
25 QMAKE_CFLAGS_DEBUG= -g
26 QMAKE_CFLAGS_SHLIB= -fPIC
27 QMAKE_CFLAGS_YACC= -Wno-unused -Wno-parentheses
28 QMAKE_CFLAGS_THREAD= -D_REENTRANT
29
30 QMAKE_CXX = $(CCACHE) $(DISTCC) $$STAGING_CROSSDIR/arm-linux-g++ -DQT_QWS_SL5XX -DQT_QWS_SHARP -DQT_QWS_EBX -DQT_QWS_CUSTOM
31 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQWS -fno-exceptions -fno-rtti $(CXXFLAGS_EXTRA)
32 QMAKE_CXXFLAGS_WARN_ON= $$QMAKE_CFLAGS_WARN_ON
33 QMAKE_CXXFLAGS_WARN_OFF= $$QMAKE_CFLAGS_WARN_OFF
34 QMAKE_CXXFLAGS_RELEASE= $$QMAKE_CFLAGS_RELEASE
35 QMAKE_CXXFLAGS_DEBUG= $$QMAKE_CFLAGS_DEBUG
36 QMAKE_CXXFLAGS_SHLIB= $$QMAKE_CFLAGS_SHLIB
37 QMAKE_CXXFLAGS_YACC= $$QMAKE_CFLAGS_YACC
38 QMAKE_CXXFLAGS_THREAD= $$QMAKE_CFLAGS_THREAD
39
40 QMAKE_INCDIR = $$STAGING_INCDIR
41 QMAKE_LIBDIR = $$STAGING_LIBDIR
42 QMAKE_INCDIR_X11=
43 QMAKE_LIBDIR_X11=
44 QMAKE_INCDIR_QT = $(QTDIR)/include
45 QMAKE_LIBDIR_QT = $(QTDIR)/lib
46 QMAKE_INCDIR_OPENGL=
47 QMAKE_LIBDIR_OPENGL=
48 QMAKE_INCDIR_QTOPIA=
49 QMAKE_LIBDIR_QTOPIA=
50
51 QMAKE_LINK = $$STAGING_CROSSDIR/arm-linux-g++
52 QMAKE_LINK_SHLIB= $$STAGING_CROSSDIR/arm-linux-g++
53 QMAKE_LFLAGS = $(LFLAGS_EXTRA)
54 QMAKE_LFLAGS_RELEASE=
55 QMAKE_LFLAGS_DEBUG=
56QMAKE_LFLAGS_SHLIB = -shared
57QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
58QMAKE_LFLAGS_SONAME = -Wl,-soname,
59QMAKE_LFLAGS_THREAD =
60QMAKE_RPATH = -Wl,-rpath-link,
61
62 QMAKE_LIBS = $(LIBS_EXTRA)
63QMAKE_LIBS_DYNLOAD = -ldl
64 QMAKE_LIBS_X11 =
65 QMAKE_LIBS_X11SM=
66 QMAKE_LIBS_QT = -lqte
67QMAKE_LIBS_QT_THREAD = -lqte-mt
68 QMAKE_LIBS_QT_OPENGL= -lqgl
69 QMAKE_LIBS_QTOPIA= -lqpe
70QMAKE_LIBS_THREAD = -lpthread
71
72 QMAKE_MOC = $$STAGING_BINDIR/moc
73 QMAKE_UIC = $$STAGING_BINDIR/uic
74
75 QMAKE_AR = ar cqs
76 QMAKE_RANLIB =
77
78 QMAKE_TAR = tar -cf
79 QMAKE_GZIP = gzip -9f
80
81 QMAKE_COPY = cp -f
82 QMAKE_MOVE = mv -f
83 QMAKE_DEL_FILE = rm -f
84 QMAKE_DEL_DIR = rmdir
85 QMAKE_CHK_DIR_EXISTS= test -d
86 QMAKE_MKDIR = mkdir -p
diff --git a/mkspecs/qws/linux-oe-g++/qplatformdefs.h b/mkspecs/qws/linux-oe-g++/qplatformdefs.h
new file mode 100644
index 0000000..8fea644
--- a/dev/null
+++ b/mkspecs/qws/linux-oe-g++/qplatformdefs.h
@@ -0,0 +1,103 @@
1#ifndef QPLATFORMDEFS_H
2#define QPLATFORMDEFS_H
3
4// Get Qt defines/settings
5
6#include "qglobal.h"
7
8// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
9
10// DNS system header files are a mess!
11// <resolv.h> includes <arpa/nameser.h>. <arpa/nameser.h> is using
12// 'u_char' and includes <sys/types.h>. Now the problem is that
13// <sys/types.h> defines 'u_char' only if __USE_BSD is defined.
14// __USE_BSD is defined in <features.h> if _BSD_SOURCE is defined.
15#ifndef _BSD_SOURCE
16# define _BSD_SOURCE
17#endif
18
19// 1) need to reset default environment if _BSD_SOURCE is defined
20// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
21// 3) it seems older glibc need this to include the X/Open stuff
22#ifndef _GNU_SOURCE
23# define _GNU_SOURCE
24#endif
25
26#include <unistd.h>
27
28
29// We are hot - unistd.h should have turned on the specific APIs we requested
30
31
32#ifdef QT_THREAD_SUPPORT
33#include <pthread.h>
34#endif
35
36#include <dirent.h>
37#include <fcntl.h>
38#include <grp.h>
39#include <pwd.h>
40#include <signal.h>
41#include <dlfcn.h>
42 #define QT_RTLD_FLAGSRTLD_LAZY|RTLD_GLOBAL
43
44#include <sys/types.h>
45#include <sys/ioctl.h>
46#include <sys/ipc.h>
47#include <sys/time.h>
48#include <sys/shm.h>
49#include <sys/socket.h>
50#include <sys/stat.h>
51#include <sys/wait.h>
52
53// DNS header files are not fully covered by X/Open specifications.
54// In particular nothing is said about res_* :/
55// Header files <netinet/in.h> and <arpa/nameser.h> are not included
56// by <resolv.h> on older versions of the GNU C library. Note that
57// <arpa/nameser.h> must be included before <resolv.h>.
58#include <netinet/in.h>
59#include <arpa/nameser.h>
60#include <resolv.h>
61
62
63#if !defined(QT_NO_COMPAT)
64 #define QT_STATBUF struct stat
65 #define QT_STATBUF4TSTATstruct stat
66 #define QT_STAT ::stat
67 #define QT_FSTAT ::fstat
68 #define QT_STAT_REG S_IFREG
69 #define QT_STAT_DIR S_IFDIR
70 #define QT_STAT_MASK S_IFMT
71 #define QT_STAT_LNK S_IFLNK
72 #define QT_FILENO fileno
73 #define QT_OPEN ::open
74 #define QT_CLOSE ::close
75 #define QT_LSEEK ::lseek
76 #define QT_READ ::read
77 #define QT_WRITE ::write
78 #define QT_ACCESS ::access
79 #define QT_GETCWD ::getcwd
80 #define QT_CHDIR ::chdir
81 #define QT_MKDIR ::mkdir
82 #define QT_RMDIR ::rmdir
83 #define QT_OPEN_RDONLY O_RDONLY
84 #define QT_OPEN_WRONLY O_WRONLY
85 #define QT_OPEN_RDWR O_RDWR
86 #define QT_OPEN_CREAT O_CREAT
87 #define QT_OPEN_TRUNC O_TRUNC
88 #define QT_OPEN_APPEND O_APPEND
89#endif
90
91 #define QT_SIGNAL_RETTYPEvoid
92 #define QT_SIGNAL_ARGS int
93 #define QT_SIGNAL_IGNORESIG_IGN
94
95 #define QT_SOCKLEN_T socklen_t
96
97#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
98 #define QT_SNPRINTF ::snprintf
99 #define QT_VSNPRINTF ::vsnprintf
100#endif
101
102
103#endif // QPLATFORMDEFS_H