author | mickeyl <mickeyl> | 2004-11-15 14:29:41 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-11-15 14:29:41 (UTC) |
commit | 5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8 (patch) (unidiff) | |
tree | e3903fd3f146c16d3521db20a6f3ca2db8b95121 | |
parent | c9543dc4edd3ea586c04e8114e133296ad9529d9 (diff) | |
download | opie-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)
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | Vars.make | 16 | ||||
-rw-r--r-- | config.in | 10 | ||||
-rw-r--r-- | mkspecs/qws/linux-oe-g++/qmake.conf | 86 | ||||
-rw-r--r-- | mkspecs/qws/linux-oe-g++/qplatformdefs.h | 103 |
5 files changed, 214 insertions, 5 deletions
@@ -110,9 +110,13 @@ qtmessages: | |||
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 | ||
113 | ifndef 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 |
117 | else | ||
118 | $(subdir-y) : $(if $(CONFIG_LIBQPE),$(OPIEDIR)/stamp-headers) $(TOPDIR)/library/custom.h | ||
119 | endif | ||
116 | 120 | ||
117 | clean : $(TOPDIR)/.config | 121 | clean : $(TOPDIR)/.config |
118 | make -C bin clean | 122 | make -C bin clean |
@@ -1,7 +1,3 @@ | |||
1 | ifndef QTDIR | ||
2 | $(error QTDIR not set) | ||
3 | endif | ||
4 | |||
5 | prefix=/opt/QtPalmtop | 1 | prefix=/opt/QtPalmtop |
6 | 2 | ||
7 | ifeq ($(OPIEDIR),) | 3 | ifeq ($(OPIEDIR),) |
@@ -15,6 +11,18 @@ ifneq ($(wildcard $(TOPDIR)/.config),) | |||
15 | include $(TOPDIR)/.config | 11 | include $(TOPDIR)/.config |
16 | endif | 12 | endif |
17 | 13 | ||
14 | ifndef CONFIG_TARGET_OE | ||
15 | ifndef QTDIR | ||
16 | $(error QTDIR not set) | ||
17 | endif | ||
18 | else | ||
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 | ||
24 | endif | ||
25 | |||
18 | ifdef CONFIG_TARGET_X86 | 26 | ifdef CONFIG_TARGET_X86 |
19 | PLATFORM=x86-linux | 27 | PLATFORM=x86-linux |
20 | endif | 28 | endif |
@@ -21,6 +21,9 @@ choice | |||
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 | ||
@@ -32,9 +35,13 @@ choice | |||
32 | 35 | ||
33 | config TARGET_YOPY | 36 | config TARGET_YOPY |
34 | boolean "Yopy 3500/3700" | 37 | boolean "Yopy 3500/3700" |
35 | |||
36 | endchoice | 38 | endchoice |
37 | 39 | ||
40 | config OE_BUILD_DIR | ||
41 | depends TARGET_OE | ||
42 | string "OE build directory" | ||
43 | default ">>>set OpenEmbedded build directory here<<<" | ||
44 | |||
38 | config OPTIMIZE | 45 | config OPTIMIZE |
39 | boolean "Use optimizations" | 46 | boolean "Use optimizations" |
40 | default "y" if ! TARGET_X86 | 47 | default "y" if ! TARGET_X86 |
@@ -80,6 +87,7 @@ config SPECFILE | |||
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 | ||
84 | config CUSTOMFILE | 92 | config CUSTOMFILE |
85 | string | 93 | string |
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 | |||
11 | STAGING_BINDIR = $(OEDIR)/tmp/staging/i686-linux/bin | ||
12 | STAGING_CROSSDIR = $(OEDIR)/tmp/cross/bin | ||
13 | STAGING_INCDIR = $(OEDIR)/tmp/staging/arm-linux/include | ||
14 | STAGING_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= | ||
56 | QMAKE_LFLAGS_SHLIB = -shared | ||
57 | QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB | ||
58 | QMAKE_LFLAGS_SONAME = -Wl,-soname, | ||
59 | QMAKE_LFLAGS_THREAD = | ||
60 | QMAKE_RPATH = -Wl,-rpath-link, | ||
61 | |||
62 | QMAKE_LIBS = $(LIBS_EXTRA) | ||
63 | QMAKE_LIBS_DYNLOAD = -ldl | ||
64 | QMAKE_LIBS_X11 = | ||
65 | QMAKE_LIBS_X11SM= | ||
66 | QMAKE_LIBS_QT = -lqte | ||
67 | QMAKE_LIBS_QT_THREAD = -lqte-mt | ||
68 | QMAKE_LIBS_QT_OPENGL= -lqgl | ||
69 | QMAKE_LIBS_QTOPIA= -lqpe | ||
70 | QMAKE_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 | ||