summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-11-15 14:29:41 (UTC)
committer mickeyl <mickeyl>2004-11-15 14:29:41 (UTC)
commit5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8 (patch) (unidiff)
treee3903fd3f146c16d3521db20a6f3ca2db8b95121
parentc9543dc4edd3ea586c04e8114e133296ad9529d9 (diff)
downloadopie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.zip
opie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.tar.gz
opie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.tar.bz2
this improves Opie build system playing more nice with OE. instructions later...
alert me if this breaks the non-oe work (which i doubt)
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
@@ -1,132 +1,136 @@
1#!/usr/bin/make -f 1#!/usr/bin/make -f
2 2
3export TOPDIR:=$(OPIEDIR) 3export TOPDIR:=$(OPIEDIR)
4 4
5include $(TOPDIR)/Vars.make 5include $(TOPDIR)/Vars.make
6ifneq ($(wildcard $(TOPDIR)/Vars.local),) 6ifneq ($(wildcard $(TOPDIR)/Vars.local),)
7include $(TOPDIR)/Vars.local 7include $(TOPDIR)/Vars.local
8endif 8endif
9 9
10noconfig_targets := xconfig menuconfig config oldconfig randconfig \ 10noconfig_targets := xconfig menuconfig config oldconfig randconfig \
11 defconfig allyesconfig allnoconfig allmodconfig \ 11 defconfig allyesconfig allnoconfig allmodconfig \
12 clean-configs $(TOPDIR)/scripts/subst $(TOPDIR)/scripts/filesubst \ 12 clean-configs $(TOPDIR)/scripts/subst $(TOPDIR)/scripts/filesubst \
13 ipks 13 ipks
14 14
15configs += $(TOPDIR)/core/applets/config.in $(TOPDIR)/core/apps/config.in $(TOPDIR)/core/multimedia/config.in $(TOPDIR)/core/pim/config.in $(TOPDIR)/core/pim/today/plugins/config.in $(TOPDIR)/core/settings/config.in $(TOPDIR)/development/config.in $(TOPDIR)/inputmethods/config.in $(TOPDIR)/libopie/pim/config.in $(TOPDIR)/noncore/applets/config.in $(TOPDIR)/noncore/apps/opie-console/test/config.in $(TOPDIR)/noncore/apps/config.in $(TOPDIR)/noncore/comm/config.in $(TOPDIR)/noncore/decorations/config.in $(TOPDIR)/noncore/games/config.in $(TOPDIR)/noncore/graphics/config.in $(TOPDIR)/noncore/multimedia/config.in $(TOPDIR)/noncore/net/config.in $(TOPDIR)/noncore/net/opietooth/config.in $(TOPDIR)/noncore/settings/config.in $(TOPDIR)/noncore/styles/config.in $(TOPDIR)/noncore/tools/config.in $(TOPDIR)/noncore/todayplugins/config.in $(TOPDIR)/examples/config.in $(TOPDIR)/noncore/securityplugins/config.in 15configs += $(TOPDIR)/core/applets/config.in $(TOPDIR)/core/apps/config.in $(TOPDIR)/core/multimedia/config.in $(TOPDIR)/core/pim/config.in $(TOPDIR)/core/pim/today/plugins/config.in $(TOPDIR)/core/settings/config.in $(TOPDIR)/development/config.in $(TOPDIR)/inputmethods/config.in $(TOPDIR)/libopie/pim/config.in $(TOPDIR)/noncore/applets/config.in $(TOPDIR)/noncore/apps/opie-console/test/config.in $(TOPDIR)/noncore/apps/config.in $(TOPDIR)/noncore/comm/config.in $(TOPDIR)/noncore/decorations/config.in $(TOPDIR)/noncore/games/config.in $(TOPDIR)/noncore/graphics/config.in $(TOPDIR)/noncore/multimedia/config.in $(TOPDIR)/noncore/net/config.in $(TOPDIR)/noncore/net/opietooth/config.in $(TOPDIR)/noncore/settings/config.in $(TOPDIR)/noncore/styles/config.in $(TOPDIR)/noncore/tools/config.in $(TOPDIR)/noncore/todayplugins/config.in $(TOPDIR)/examples/config.in $(TOPDIR)/noncore/securityplugins/config.in
16 16
17# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) 17# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs)
18# in order to have a full set of config.in files. 18# in order to have a full set of config.in files.
19# .depends depends on $(TOPDIR)/.config 19# .depends depends on $(TOPDIR)/.config
20# everything else depends on .depends, to ensure the dependencies are 20# everything else depends on .depends, to ensure the dependencies are
21# intact. 21# intact.
22# 22#
23# NOTE: The order in which things happen in this makefile is 23# NOTE: The order in which things happen in this makefile is
24 # -critical-. Do not rearrange this! 24 # -critical-. Do not rearrange this!
25 25
26all : $(TOPDIR)/.config 26all : $(TOPDIR)/.config
27 27
28# 28#
29# The IPK creation is a very slow process. If you want to only create some 29# The IPK creation is a very slow process. If you want to only create some
30# IPKs, e.g. the ones in library, then do 30# IPKs, e.g. the ones in library, then do
31 #make ipks IPK_START=library 31 #make ipks IPK_START=library
32# and then only the *.control files in this directory will be processed 32# and then only the *.control files in this directory will be processed
33ipks: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config 33ipks: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config
34 @find $(OPIEDIR)/$(IPK_START) -type f -name \*.control | ( for ctrl in `cat`; do \ 34 @find $(OPIEDIR)/$(IPK_START) -type f -name \*.control | ( for ctrl in `cat`; do \
35 prerm=`echo $${ctrl/.control/.prerm}`; \ 35 prerm=`echo $${ctrl/.control/.prerm}`; \
36 preinst=`echo $${ctrl/.control/.preinst}`; \ 36 preinst=`echo $${ctrl/.control/.preinst}`; \
37 postrm=`echo $${ctrl/.control/.postrm}`; \ 37 postrm=`echo $${ctrl/.control/.postrm}`; \
38 postinst=`echo $${ctrl/.control/.postinst}`; \ 38 postinst=`echo $${ctrl/.control/.postinst}`; \
39 echo "Building ipk of $$ctrl"; \ 39 echo "Building ipk of $$ctrl"; \
40 cd $(OPIEDIR); $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$ctrl --prerm=$$prerm --preinst=$$preinst --postrm=$$postrm --postinst=$$postinst --strip=$(STRIP) $(OPIEDIR); \ 40 cd $(OPIEDIR); $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$ctrl --prerm=$$prerm --preinst=$$preinst --postrm=$$postrm --postinst=$$postinst --strip=$(STRIP) $(OPIEDIR); \
41 done ) 41 done )
42 42
43ipks-mt: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config 43ipks-mt: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config
44 @> $(OPIEDIR)/AllThreadedPackages 44 @> $(OPIEDIR)/AllThreadedPackages
45 @find $(OPIEDIR)/ -type f -name \*.control | grep -v -- "-mt" | while read ctrl ; do \ 45 @find $(OPIEDIR)/ -type f -name \*.control | grep -v -- "-mt" | while read ctrl ; do \
46 grep "Package[ ]*:" $${ctrl} | sed "s+Package[ ]*:[ ]*++"; \ 46 grep "Package[ ]*:" $${ctrl} | sed "s+Package[ ]*:[ ]*++"; \
47 done | sort | uniq >> $(OPIEDIR)/AllThreadedPackages 47 done | sort | uniq >> $(OPIEDIR)/AllThreadedPackages
48 @find $(OPIEDIR)/ -type f -name \*.control | while read ctrl ; do \ 48 @find $(OPIEDIR)/ -type f -name \*.control | while read ctrl ; do \
49 echo "Converting $$ctrl to -mt package"; \ 49 echo "Converting $$ctrl to -mt package"; \
50 nctrl=`$(OPIEDIR)/scripts/tothreaded $$ctrl $(OPIEDIR)/AllThreadedPackages`; \ 50 nctrl=`$(OPIEDIR)/scripts/tothreaded $$ctrl $(OPIEDIR)/AllThreadedPackages`; \
51 echo "Building ipk of $$ctrl"; \ 51 echo "Building ipk of $$ctrl"; \
52 [ -n $$nctrl ] && cd $(OPIEDIR) && $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$nctrl --prerm=$${nctrl/\.control$$/.prerm/} --preinst=$${nctrl/\.control$$/.preinst/} --postrm=$${nctrl/\.control$$/.postrm/} --postinst=$${nctrl/\.control$$/.postinst/} --strip=$(STRIP) $(OPIEDIR); \ 52 [ -n $$nctrl ] && cd $(OPIEDIR) && $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$nctrl --prerm=$${nctrl/\.control$$/.prerm/} --preinst=$${nctrl/\.control$$/.preinst/} --postrm=$${nctrl/\.control$$/.postrm/} --postinst=$${nctrl/\.control$$/.postinst/} --strip=$(STRIP) $(OPIEDIR); \
53 done 53 done
54 @rm -f $(OPIEDIR)/AllThreadedPackages 54 @rm -f $(OPIEDIR)/AllThreadedPackages
55 55
56FORCE: 56FORCE:
57 57
58$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs 58$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs
59 59
60all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs 60all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs
61 61
62clean-configs : 62clean-configs :
63 @echo "Wiping generated config.in files..." 63 @echo "Wiping generated config.in files..."
64 @-rm -f $(configs) 64 @-rm -f $(configs)
65 65
66ifneq ($(wildcard $(TOPDIR)/.depends.cfgs),) 66ifneq ($(wildcard $(TOPDIR)/.depends.cfgs),)
67 include $(TOPDIR)/.depends.cfgs 67 include $(TOPDIR)/.depends.cfgs
68endif 68endif
69 69
70all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) 70all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs)
71 71
72$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) 72$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs)
73 $(call descend,scripts/kconfig,conf) 73 $(call descend,scripts/kconfig,conf)
74 @if [ ! -e $@ ]; then \ 74 @if [ ! -e $@ ]; then \
75 cp $(TOPDIR)/def-configs/opie $@; \ 75 cp $(TOPDIR)/def-configs/opie $@; \
76 fi 76 fi
77 @$(MAKE) -C scripts/kconfig conf 77 @$(MAKE) -C scripts/kconfig conf
78 ./scripts/kconfig/conf -s ./config.in 78 ./scripts/kconfig/conf -s ./config.in
79 79
80export 80export
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,122 +1,130 @@
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
50 ifeq ($(QPE_VERSION),..) 58 ifeq ($(QPE_VERSION),..)
51 QPE_VERSION=1.1.2 59 QPE_VERSION=1.1.2
52 endif 60 endif
53endif 61endif
54export QPE_VERSION 62export QPE_VERSION
55 63
56SUB_VERSION=$(shell echo $$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$(OPIEDIR)/library/version.h)) 64SUB_VERSION=$(shell echo $$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$(OPIEDIR)/library/version.h))
57ifeq ($(VERSION_CVS),) 65ifeq ($(VERSION_CVS),)
58 VERSION_CVS:=$(shell date +%s) 66 VERSION_CVS:=$(shell date +%s)
59endif 67endif
60ifneq ($(filter %snapshot",$(shell cat $(OPIEDIR)/library/version.h|grep QPE_VERSION)),) 68ifneq ($(filter %snapshot",$(shell cat $(OPIEDIR)/library/version.h|grep QPE_VERSION)),)
61 SUB_VERSION:=$(VERSION_CVS) 69 SUB_VERSION:=$(VERSION_CVS)
62endif 70endif
63export SUB_VERSION 71export SUB_VERSION
64 72
65ifneq ($(strip $(SUB_VERSION)),) 73ifneq ($(strip $(SUB_VERSION)),)
66EXTRAVERSION=-$(SUB_VERSION) 74EXTRAVERSION=-$(SUB_VERSION)
67endif 75endif
68 76
69ifeq ($(QTE_REVISION),) 77ifeq ($(QTE_REVISION),)
70 QTE_REVISION=6 78 QTE_REVISION=6
71endif 79endif
72export QTE_REVISION 80export QTE_REVISION
73 81
74export DEB_VERSION=2.0 82export DEB_VERSION=2.0
75 83
76ifeq ($(QTE_BASEVERSION),) 84ifeq ($(QTE_BASEVERSION),)
77 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),) 85 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),)
78 QTE_BASEVERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION'|grep -v STR|sed -e 's/\#define QT_VERSION\t*//; s/.*\([0-9]\)\([0-9]\)\([0-9]\).*/\1.\2.\3/;') 86 QTE_BASEVERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION'|grep -v STR|sed -e 's/\#define QT_VERSION\t*//; s/.*\([0-9]\)\([0-9]\)\([0-9]\).*/\1.\2.\3/;')
79 else 87 else
80 QTE_BASEVERSION=2.3.7 88 QTE_BASEVERSION=2.3.7
81 endif 89 endif
82endif 90endif
83export QTE_BASEVERSION 91export QTE_BASEVERSION
84 92
85ifeq ($(QTE_VERSION),) 93ifeq ($(QTE_VERSION),)
86 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),) 94 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),)
87 QTE_VERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION_STR'|sed -e 's/\#define QT_VERSION_STR\t*//;' -e 's/.*"\([^"]*\)".*/\1/;') 95 QTE_VERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION_STR'|sed -e 's/\#define QT_VERSION_STR\t*//;' -e 's/.*"\([^"]*\)".*/\1/;')
88 else 96 else
89 QTE_VERSION=2.3.7 97 QTE_VERSION=2.3.7
90 endif 98 endif
91endif 99endif
92export QTE_VERSION 100export QTE_VERSION
93 101
94export PATH:=$(OPIEDIR)/scripts:$(PATH) 102export PATH:=$(OPIEDIR)/scripts:$(PATH)
95export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE)) 103export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE))
96 104
97ifdef CONFIG_OPTIMIZATIONS 105ifdef CONFIG_OPTIMIZATIONS
98export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS)) 106export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS))
99export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE)) 107export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE))
100endif 108endif
101 109
102ifeq ($(STRIP),) 110ifeq ($(STRIP),)
103 ifneq ($(CONFIG_TARGET_X86),) 111 ifneq ($(CONFIG_TARGET_X86),)
104 STRIP=strip 112 STRIP=strip
105 endif 113 endif
106 ifneq ($(CONFIG_TARGET_IPAQ),) 114 ifneq ($(CONFIG_TARGET_IPAQ),)
107 STRIP=arm-linux-strip 115 STRIP=arm-linux-strip
108 endif 116 endif
109 ifneq ($(CONFIG_TARGET_SHARP),) 117 ifneq ($(CONFIG_TARGET_SHARP),)
110 STRIP=arm-linux-strip 118 STRIP=arm-linux-strip
111 endif 119 endif
112 ifneq ($(CONFIG_TARGET_RAMSES),) 120 ifneq ($(CONFIG_TARGET_RAMSES),)
113 STRIP=arm-linux-strip 121 STRIP=arm-linux-strip
114 endif 122 endif
115 ifneq ($(CONFIG_TARGET_SIMPAD),) 123 ifneq ($(CONFIG_TARGET_SIMPAD),)
116 STRIP=arm-linux-strip 124 STRIP=arm-linux-strip
117 endif 125 endif
118 ifneq ($(CONFIG_TARGET_YOPY),) 126 ifneq ($(CONFIG_TARGET_YOPY),)
119 STRIP=arm-linux-strip 127 STRIP=arm-linux-strip
120 endif 128 endif
121endif 129endif
122 130
diff --git a/config.in b/config.in
index 37cbb67..372ecfb 100644
--- a/config.in
+++ b/config.in
@@ -1,268 +1,276 @@
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"
115 default n 123 default n
116 124
117config OPIE_NO_BUILTIN_SHUTDOWN 125config OPIE_NO_BUILTIN_SHUTDOWN
118 boolean "Disable the built in shutdown application" 126 boolean "Disable the built in shutdown application"
119 default y 127 default y
120 128
121config OPIE_NO_BUILTIN_CALIBRATE 129config OPIE_NO_BUILTIN_CALIBRATE
122 boolean "Disable the built in calibrate application" 130 boolean "Disable the built in calibrate application"
123 default y if TARGET_YOPY 131 default y if TARGET_YOPY
124 default n if ! TARGET_YOPY 132 default n if ! TARGET_YOPY
125 133
126config OPIE_SOUND_FRAGMENT_SHIFT 134config OPIE_SOUND_FRAGMENT_SHIFT
127 string "The sound fragment used in Opie Player I" 135 string "The sound fragment used in Opie Player I"
128 default "14" if TARGET_IPAQ 136 default "14" if TARGET_IPAQ
129 default "16" if ! TARGET_IPAQ 137 default "16" if ! TARGET_IPAQ
130 138
131config USE_REALTIME_AUDIO_THREAD 139config USE_REALTIME_AUDIO_THREAD
132 boolean "Use a realtime thread in Opie Player I" 140 boolean "Use a realtime thread in Opie Player I"
133 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP 141 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP
134 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 142 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
135 143
136config QT_QWS_ALLOW_OVERCLOCK 144config QT_QWS_ALLOW_OVERCLOCK
137 boolean "Allow the user to overclock the device" 145 boolean "Allow the user to overclock the device"
138 depends TARGET_RAMSES 146 depends TARGET_RAMSES
139 default n 147 default n
140 148
141config USE_FILE_NOTIFICATION 149config USE_FILE_NOTIFICATION
142 boolean "Substitute (some) polling interfaces with OFileNotifier" 150 boolean "Substitute (some) polling interfaces with OFileNotifier"
143 default y 151 default y
144 152
145config OPIE_NEW_ALLOC 153config OPIE_NEW_ALLOC
146 boolean "Use malloc and free for the implementation" 154 boolean "Use malloc and free for the implementation"
147 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP 155 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP
148 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 156 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
149 157
150config OPIE_TASKBAR_LOCK_KEY_STATE 158config OPIE_TASKBAR_LOCK_KEY_STATE
151 boolean "Have a KeyLock state indicator on the taskbar" 159 boolean "Have a KeyLock state indicator on the taskbar"
152 default y if TARGET_SHARP 160 default y if TARGET_SHARP
153 default n if !TARGET_SHARP 161 default n if !TARGET_SHARP
154 162
155config LIBQPE_WITHROHFEEDBACK 163config LIBQPE_WITHROHFEEDBACK
156 boolean "Build libqpe with Right-On-Hold feedback" 164 boolean "Build libqpe with Right-On-Hold feedback"
157 default y 165 default y
158 166
159config OPIE_NO_SOUND_PCM_READ_BITS 167config OPIE_NO_SOUND_PCM_READ_BITS
160 boolean "There is not a pcm_read_bits io control" 168 boolean "There is not a pcm_read_bits io control"
161 default y if TARGET_SHARP 169 default y if TARGET_SHARP
162 default n if ! TARGET_SHARP 170 default n if ! TARGET_SHARP
163endmenu 171endmenu
164 172
165menu "Dependencies" 173menu "Dependencies"
166 source dependencies.in 174 source dependencies.in
167endmenu 175endmenu
168 176
169menu "Base" 177menu "Base"
170 choice 178 choice
171 prompt "Qpe Library Selection" 179 prompt "Qpe Library Selection"
172 default LIBQPE 180 default LIBQPE
173 source library/config.in 181 source library/config.in
174 source x11/config.in 182 source x11/config.in
175 endchoice 183 endchoice
176 source libopie/config.in 184 source libopie/config.in
177 185
178 source libopie2/config.in 186 source libopie2/config.in
179 source libqtaux/config.in 187 source libqtaux/config.in
180 source rsync/config.in 188 source rsync/config.in
181 source core/opie-login/config.in 189 source core/opie-login/config.in
182 source core/opiealarm/config.in 190 source core/opiealarm/config.in
183 source core/tools/quicklauncher/config.in 191 source core/tools/quicklauncher/config.in
184 source core/launcher/config.in 192 source core/launcher/config.in
185 source core/symlinker/config.in 193 source core/symlinker/config.in
186endmenu 194endmenu
187 195
188comment "" 196comment ""
189 197
190menu "Applets" 198menu "Applets"
191 source core/applets/config.in 199 source core/applets/config.in
192 source noncore/applets/config.in 200 source noncore/applets/config.in
193endmenu 201endmenu
194 202
195menu "Apps" 203menu "Apps"
196 source core/apps/config.in 204 source core/apps/config.in
197 source noncore/apps/config.in 205 source noncore/apps/config.in
198endmenu 206endmenu
199 207
200menu "Communications and Networking" 208menu "Communications and Networking"
201 source noncore/comm/config.in 209 source noncore/comm/config.in
202 source noncore/net/config.in 210 source noncore/net/config.in
203endmenu 211endmenu
204 212
205menu "Games" 213menu "Games"
206 source noncore/games/config.in 214 source noncore/games/config.in
207endmenu 215endmenu
208 216
209menu "Graphics and Multimedia" 217menu "Graphics and Multimedia"
210 source freetype/config.in 218 source freetype/config.in
211 source noncore/graphics/config.in 219 source noncore/graphics/config.in
212 source core/multimedia/config.in 220 source core/multimedia/config.in
213 source noncore/multimedia/config.in 221 source noncore/multimedia/config.in
214endmenu 222endmenu
215 223
216menu "Input methods" 224menu "Input methods"
217 source inputmethods/config.in 225 source inputmethods/config.in
218endmenu 226endmenu
219 227
220menu "Pim" 228menu "Pim"
221 source core/obex/config.in 229 source core/obex/config.in
222 source core/pim/config.in 230 source core/pim/config.in
223 comment "Today Plugins ---" 231 comment "Today Plugins ---"
224 source noncore/todayplugins/config.in 232 source noncore/todayplugins/config.in
225 source core/pim/today/plugins/config.in 233 source core/pim/today/plugins/config.in
226endmenu 234endmenu
227 235
228menu "Settings" 236menu "Settings"
229 source core/settings/config.in 237 source core/settings/config.in
230 source noncore/settings/config.in 238 source noncore/settings/config.in
231 source noncore/securityplugins/config.in 239 source noncore/securityplugins/config.in
232endmenu 240endmenu
233 241
234menu "Theming" 242menu "Theming"
235 comment "Decorations ---" 243 comment "Decorations ---"
236 source noncore/decorations/config.in 244 source noncore/decorations/config.in
237 comment "Styles ---" 245 comment "Styles ---"
238 source noncore/styles/config.in 246 source noncore/styles/config.in
239endmenu 247endmenu
240 248
241menu "Tools" 249menu "Tools"
242 source noncore/tools/config.in 250 source noncore/tools/config.in
243endmenu 251endmenu
244 252
245menu "Development" 253menu "Development"
246 source development/keyview/config.in 254 source development/keyview/config.in
247 #source development/debugviewer/config.in 255 #source development/debugviewer/config.in
248endmenu 256endmenu
249 257
250menu "Examples" 258menu "Examples"
251 config EXAMPLES 259 config EXAMPLES
252 boolean "Compile Example Application" 260 boolean "Compile Example Application"
253 source examples/config.in 261 source examples/config.in
254endmenu 262endmenu
255 263
256comment "" 264comment ""
257 265
258menu "Unsupported / Unmaintained" 266menu "Unsupported / Unmaintained"
259 source noncore/unsupported/config.in 267 source noncore/unsupported/config.in
260endmenu 268endmenu
261 269
262comment "" 270comment ""
263 depends on EXPERIMENTAL 271 depends on EXPERIMENTAL
264menu "Experimental" 272menu "Experimental"
265 depends on EXPERIMENTAL 273 depends on EXPERIMENTAL
266 source libslcompat/config.in 274 source libslcompat/config.in
267 source core/qws/config.in 275 source core/qws/config.in
268endmenu 276endmenu
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