summaryrefslogtreecommitdiffstats
path: root/meta-moblin/packages/qmake
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2008-12-01 20:55:25 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2008-12-01 20:55:25 +0000
commitd7aaf31869621480977d0a8f2faee199b83fd699 (patch)
tree116941f8a6f5a7bb81ffc610a5c6218ed8764219 /meta-moblin/packages/qmake
parent14ecbd658ead9daa8785bc4fe911ed6a8718c0b9 (diff)
downloadpoky-d7aaf31869621480977d0a8f2faee199b83fd699.tar.gz
meta-moblin: Add basic qt support (from OE)
Diffstat (limited to 'meta-moblin/packages/qmake')
-rw-r--r--meta-moblin/packages/qmake/files/linux-oe-qmake.conf82
-rw-r--r--meta-moblin/packages/qmake/qmake-native_1.07a.bb46
-rw-r--r--meta-moblin/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch123
-rw-r--r--meta-moblin/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf1
-rw-r--r--meta-moblin/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch22
-rw-r--r--meta-moblin/packages/qmake/qmake2-cross_2.10a.bb69
6 files changed, 343 insertions, 0 deletions
diff --git a/meta-moblin/packages/qmake/files/linux-oe-qmake.conf b/meta-moblin/packages/qmake/files/linux-oe-qmake.conf
new file mode 100644
index 0000000000..205b693fda
--- /dev/null
+++ b/meta-moblin/packages/qmake/files/linux-oe-qmake.conf
@@ -0,0 +1,82 @@
1#
2# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org
3#
4
5MAKEFILE_GENERATOR = UNIX
6TEMPLATE = app
7CONFIG += qt warn_on release
8
9QMAKE_CC = $(OE_QMAKE_CC)
10QMAKE_LEX = flex
11QMAKE_LEXFLAGS =
12QMAKE_YACC = yacc
13QMAKE_YACCFLAGS = -d
14QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA)
15QMAKE_CFLAGS_WARN_ON = -Wall -W
16QMAKE_CFLAGS_WARN_OFF =
17QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2)
18QMAKE_CFLAGS_DEBUG = -g
19QMAKE_CFLAGS_SHLIB = -fPIC
20QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
21QMAKE_CFLAGS_THREAD = -D_REENTRANT
22
23QMAKE_CXX = $(OE_QMAKE_CXX)
24QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA)
25QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
26QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
27QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
28QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
29QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
30QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
31QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
32
33QMAKE_INCDIR =
34QMAKE_LIBDIR =
35QMAKE_INCDIR_X11 =
36QMAKE_LIBDIR_X11 =
37QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
38QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
39QMAKE_INCDIR_OPENGL =
40QMAKE_LIBDIR_OPENGL =
41
42QMAKE_LINK = $(OE_QMAKE_LINK)
43QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
44QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS) $(LFLAGS_EXTRA)
45QMAKE_LFLAGS_RELEASE =
46QMAKE_LFLAGS_DEBUG =
47QMAKE_LFLAGS_SHLIB = -shared
48QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
49QMAKE_LFLAGS_SONAME = -Wl,-soname,
50QMAKE_LFLAGS_THREAD =
51QMAKE_RPATH = -Wl,-rpath-link,
52
53QMAKE_LIBS = $(LIBS_EXTRA)
54QMAKE_LIBS_DYNLOAD = -ldl
55QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
56QMAKE_LIBS_X11SM =
57QMAKE_LIBS_QT = -l$(OE_QMAKE_LIBS_QT)
58QMAKE_LIBS_QT_THREAD = -l$(OE_QMAKE_LIBS_QT)-mt
59QMAKE_LIBS_OPENGL = $(OE_QMAKE_LIBS_OPENGL)
60QMAKE_LIBS_OPENGL_QT = $(OE_QMAKE_LIBS_OPENGL_QT)
61QMAKE_LIBS_THREAD = -lpthread
62
63QMAKE_MOC = $(OE_QMAKE_MOC)
64QMAKE_UIC = $(OE_QMAKE_UIC)
65
66QMAKE_AR = $(OE_QMAKE_AR) cqs
67QMAKE_RANLIB =
68
69QMAKE_TAR = tar -cf
70QMAKE_GZIP = gzip -9f
71
72QMAKE_COPY = cp -f
73QMAKE_COPY_FILE = $(COPY)
74QMAKE_COPY_DIR = $(COPY) -r
75QMAKE_MOVE = mv -f
76QMAKE_DEL_FILE = rm -f
77QMAKE_DEL_DIR = rmdir
78QMAKE_STRIP = $(OE_QMAKE_STRIP)
79QMAKE_STRIPFLAGS_LIB += --strip-unneeded
80QMAKE_CHK_DIR_EXISTS = test -d
81QMAKE_MKDIR = mkdir -p
82
diff --git a/meta-moblin/packages/qmake/qmake-native_1.07a.bb b/meta-moblin/packages/qmake/qmake-native_1.07a.bb
new file mode 100644
index 0000000000..29f736dea1
--- /dev/null
+++ b/meta-moblin/packages/qmake/qmake-native_1.07a.bb
@@ -0,0 +1,46 @@
1DESCRIPTION = "TrollTech Makefile Generator"
2PRIORITY = "optional"
3HOMEPAGE = "http://www.trolltech.com"
4SECTION = "devel"
5LICENSE = "GPL QPL"
6PR = "r4"
7
8QTEVER = "qt-embedded-free-3.3.5"
9
10SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTEVER}.tar.bz2 \
11 file://linux-oe-qmake.conf"
12S = "${WORKDIR}/${QTEVER}"
13
14inherit autotools native
15
16export QTDIR = "${S}"
17EXTRA_OEMAKE = "-e"
18
19do_configure() {
20 # Install the OE build templates
21 for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
22 do
23 install -d ${S}/mkspecs/$template
24 install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
25 ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
26 done
27 QMAKESPEC=
28 PLATFORM=${HOST_OS}-oe-g++
29 export PLATFORM
30 oenote ./configure ${EXTRA_OECONF}
31 echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed"
32}
33
34do_compile() {
35 :
36}
37
38do_stage() {
39 install -m 0755 bin/qmake ${STAGING_BINDIR}
40 install -d ${QMAKE_MKSPEC_PATH}
41 cp -fPR mkspecs/* ${QMAKE_MKSPEC_PATH}
42}
43
44do_install() {
45 :
46}
diff --git a/meta-moblin/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch b/meta-moblin/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch
new file mode 100644
index 0000000000..abebfdfa27
--- /dev/null
+++ b/meta-moblin/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch
@@ -0,0 +1,123 @@
1From 594157753a24d0575aaf948dc0e9500f6bdb2178 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Sat, 2 Jun 2007 16:39:58 +0200
4Subject: [PATCH] fix mkspecs
5
6---
7 mkspecs/common/g++.conf | 18 +++++++++---------
8 mkspecs/common/linux.conf | 26 +++++++++++++-------------
9 2 files changed, 22 insertions(+), 22 deletions(-)
10
11diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf
12index f5a5c8e..4007c7e 100644
13--- a/mkspecs/common/g++.conf
14+++ b/mkspecs/common/g++.conf
15@@ -2,12 +2,12 @@
16 # qmake configuration for common gcc
17 #
18
19-QMAKE_CC = gcc
20-QMAKE_CFLAGS += -pipe
21+QMAKE_CC = $(OE_QMAKE_CC)
22+QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
23 QMAKE_CFLAGS_DEPS += -M
24 QMAKE_CFLAGS_WARN_ON += -Wall -W
25 QMAKE_CFLAGS_WARN_OFF += -w
26-QMAKE_CFLAGS_RELEASE += -O2
27+QMAKE_CFLAGS_RELEASE += -O2
28 QMAKE_CFLAGS_DEBUG += -g
29 QMAKE_CFLAGS_SHLIB += -fPIC
30 QMAKE_CFLAGS_STATIC_LIB += -fPIC
31@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
32 QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
33 QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
34
35-QMAKE_CXX = g++
36-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
37+QMAKE_CXX = $(OE_QMAKE_CXX)
38+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
39 QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
40 QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
41 QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
42@@ -30,9 +30,9 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
43 QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
44 QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
45
46-QMAKE_LINK = g++
47-QMAKE_LINK_SHLIB = g++
48-QMAKE_LFLAGS +=
49+QMAKE_LINK = $(OE_QMAKE_LINK)
50+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
51+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
52 QMAKE_LFLAGS_RELEASE +=
53 QMAKE_LFLAGS_DEBUG +=
54 QMAKE_LFLAGS_APP +=
55@@ -40,7 +40,7 @@ QMAKE_LFLAGS_SHLIB += -shared
56 QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
57 QMAKE_LFLAGS_SONAME += -Wl,-soname,
58 QMAKE_LFLAGS_THREAD +=
59-QMAKE_RPATH = -Wl,-rpath,
60+QMAKE_RPATH = -Wl,-rpath-link,
61
62 QMAKE_PCH_OUTPUT_EXT = .gch
63
64diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
65index 3796a87..52acf16 100644
66--- a/mkspecs/common/linux.conf
67+++ b/mkspecs/common/linux.conf
68@@ -7,26 +7,26 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
69
70 QMAKE_INCDIR =
71 QMAKE_LIBDIR =
72-QMAKE_INCDIR_X11 = /usr/X11R6/include
73-QMAKE_LIBDIR_X11 = /usr/X11R6/lib
74-QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
75-QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
76-QMAKE_INCDIR_OPENGL = /usr/X11R6/include
77-QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
78+QMAKE_INCDIR_X11 =
79+QMAKE_LIBDIR_X11 =
80+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
81+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
82+QMAKE_INCDIR_OPENGL =
83+QMAKE_LIBDIR_OPENGL =
84
85 QMAKE_LIBS =
86 QMAKE_LIBS_DYNLOAD = -ldl
87-QMAKE_LIBS_X11 = -lXext -lX11 -lm
88-QMAKE_LIBS_X11SM = -lSM -lICE
89+QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
90+QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
91 QMAKE_LIBS_NIS = -lnsl
92 QMAKE_LIBS_OPENGL = -lGLU -lGL
93 QMAKE_LIBS_OPENGL_QT = -lGL
94 QMAKE_LIBS_THREAD = -lpthread
95
96-QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
97-QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
98+QMAKE_MOC = $(OE_QMAKE_MOC)
99+QMAKE_UIC = $(OE_QMAKE_UIC)
100
101-QMAKE_AR = ar cqs
102+QMAKE_AR = $(OE_QMAKE_AR) cqs
103 QMAKE_RANLIB =
104
105 QMAKE_TAR = tar -cf
106@@ -38,11 +38,11 @@ QMAKE_COPY_DIR = $(COPY) -r
107 QMAKE_MOVE = mv -f
108 QMAKE_DEL_FILE = rm -f
109 QMAKE_DEL_DIR = rmdir
110-QMAKE_STRIP = strip
111+QMAKE_STRIP = $(OE_QMAKE_STRIP)
112 QMAKE_STRIPFLAGS_LIB += --strip-unneeded
113 QMAKE_CHK_DIR_EXISTS = test -d
114 QMAKE_MKDIR = mkdir -p
115 QMAKE_INSTALL_FILE = install -m 644 -p
116 QMAKE_INSTALL_PROGRAM = install -m 755 -p
117
118-include(unix.conf)
119\ No newline at end of file
120+include(unix.conf)
121--
1221.5.1.6
123
diff --git a/meta-moblin/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf b/meta-moblin/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf
new file mode 100644
index 0000000000..f58481a693
--- /dev/null
+++ b/meta-moblin/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf
@@ -0,0 +1 @@
include(../linux-g++/qmake.conf)
diff --git a/meta-moblin/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch b/meta-moblin/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch
new file mode 100644
index 0000000000..4197dbbf64
--- /dev/null
+++ b/meta-moblin/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch
@@ -0,0 +1,22 @@
1Index: qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp
2===================================================================
3--- qtopia-core-opensource-src-4.3.1.orig/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:45:26.000000000 +0200
4+++ qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:57:09.000000000 +0200
5@@ -416,7 +416,7 @@
6 t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t";
7 if(!project->isEmpty("QMAKE_PRE_LINK"))
8 t << var("QMAKE_PRE_LINK") << "\n\t";
9- t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)";
10+ t << "$(LINK) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS) $(LFLAGS)";
11 if(!project->isEmpty("QMAKE_POST_LINK"))
12 t << "\n\t" << var("QMAKE_POST_LINK");
13 t << endl << endl;
14@@ -430,7 +430,7 @@
15 t << mkdir_p_asstring(destdir) << "\n\t";
16 if(!project->isEmpty("QMAKE_PRE_LINK"))
17 t << var("QMAKE_PRE_LINK") << "\n\t";
18- t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)";
19+ t << "$(LINK) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) $(LFLAGS)";
20 if(!project->isEmpty("QMAKE_POST_LINK"))
21 t << "\n\t" << var("QMAKE_POST_LINK");
22 t << endl << endl;
diff --git a/meta-moblin/packages/qmake/qmake2-cross_2.10a.bb b/meta-moblin/packages/qmake/qmake2-cross_2.10a.bb
new file mode 100644
index 0000000000..c4f5867669
--- /dev/null
+++ b/meta-moblin/packages/qmake/qmake2-cross_2.10a.bb
@@ -0,0 +1,69 @@
1DESCRIPTION = "TrollTech Makefile Generator"
2PRIORITY = "optional"
3HOMEPAGE = "http://www.trolltech.com"
4SECTION = "devel"
5LICENSE = "GPL"
6PR = "r2"
7
8QTVER = "qtopia-core-opensource-src-4.3.2"
9
10SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \
11 file://0001-fix-mkspecs.patch;patch=1 \
12 file://use-lflags-last.patch;patch=1 \
13 file://linux-oe-qmake.conf"
14S = "${WORKDIR}/${QTVER}"
15
16# we need the real target system here
17CROSS_SYS := "${TARGET_SYS}"
18CROSS_BINDIR := "${STAGING_BINDIR_CROSS}"
19inherit autotools cross
20
21export QTDIR = "${S}"
22EXTRA_OEMAKE = "-e"
23
24do_configure() {
25 # Install the OE build templates
26 for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
27 do
28 install -d ${S}/mkspecs/$template
29 install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
30 ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
31 done
32
33 QMAKESPEC=
34 PLATFORM=${HOST_OS}-oe-g++
35 export PLATFORM
36 # yes, TARGET_SYS is correct, because this is a 'cross'-qmake-native :) :M:
37 export OE_QMAKE_CC="${CC}"
38 export OE_QMAKE_CFLAGS="${CFLAGS}"
39 export OE_QMAKE_CXX="${CXX}"
40 export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
41 export OE_QMAKE_LDFLAGS="${LDFLAGS}"
42 export OE_QMAKE_LINK="${CCLD}"
43 export OE_QMAKE_AR="${AR}"
44 export OE_QMAKE_STRIP="${STRIP}"
45 export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic4"
46 export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
47 export OE_QMAKE_RCC="${STAGING_BINDIR_NATIVE}/rcc4"
48 export OE_QMAKE_QMAKE="${CROSS_BINDIR}/qmake2"
49 export OE_QMAKE_RPATH="-Wl,-rpath-link,"
50 echo yes | ./configure -prefix ${STAGING_DIR}/${CROSS_SYS}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed"
51}
52
53do_compile() {
54 :
55}
56
57do_stage() {
58 install -d ${CROSS_BINDIR}/
59 install -m 0755 bin/qmake ${CROSS_BINDIR}/qmake2
60 install -m 0755 bin/qmake ${CROSS_BINDIR}/qmake-qt4
61 install -d ${STAGING_DIR}/${CROSS_SYS}/qt4/
62 cp -PfR mkspecs ${STAGING_DIR}/${CROSS_SYS}/qt4/
63 install -d ${STAGING_DIR}/${HOST_SYS}/qt4/
64 cp -PfR mkspecs ${STAGING_DIR}/${HOST_SYS}/qt4/
65}
66
67do_install() {
68 :
69}