diff options
Diffstat (limited to 'meta/recipes-qt/qmake')
4 files changed, 217 insertions, 0 deletions
diff --git a/meta/recipes-qt/qmake/qmake2-cross/0001-fix-mkspecs.patch b/meta/recipes-qt/qmake/qmake2-cross/0001-fix-mkspecs.patch new file mode 100644 index 0000000000..4ebc3dea8d --- /dev/null +++ b/meta/recipes-qt/qmake/qmake2-cross/0001-fix-mkspecs.patch | |||
@@ -0,0 +1,120 @@ | |||
1 | From 594157753a24d0575aaf948dc0e9500f6bdb2178 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Krelin <hacker@klever.net> | ||
3 | Date: Sat, 2 Jun 2007 16:39:58 +0200 | ||
4 | Subject: [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 | |||
11 | Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf | ||
12 | =================================================================== | ||
13 | --- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/g++.conf | ||
14 | +++ qt-embedded-linux-opensource-src-4.5.3/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= | ||
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,11 +30,11 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAG | ||
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_LINK_C = gcc | ||
49 | -QMAKE_LINK_C_SHLIB = gcc | ||
50 | -QMAKE_LFLAGS += | ||
51 | +QMAKE_LINK = $(OE_QMAKE_LINK) | ||
52 | +QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) | ||
53 | +QMAKE_LINK_C = $(OE_QMAKE_CC) | ||
54 | +QMAKE_LINK_C_SHLIB = $(OE_QMAKE_CC) | ||
55 | +QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) | ||
56 | QMAKE_LFLAGS_RELEASE += -Wl,-O1 | ||
57 | QMAKE_LFLAGS_DEBUG += | ||
58 | QMAKE_LFLAGS_APP += | ||
59 | @@ -43,7 +43,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SH | ||
60 | QMAKE_LFLAGS_SONAME += -Wl,-soname, | ||
61 | QMAKE_LFLAGS_THREAD += | ||
62 | QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined | ||
63 | -QMAKE_RPATH = -Wl,-rpath, | ||
64 | +QMAKE_RPATH = -Wl,-rpath-link, | ||
65 | |||
66 | QMAKE_PCH_OUTPUT_EXT = .gch | ||
67 | |||
68 | Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf | ||
69 | =================================================================== | ||
70 | --- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/linux.conf | ||
71 | +++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf | ||
72 | @@ -7,27 +7,27 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_ | ||
73 | |||
74 | QMAKE_INCDIR = | ||
75 | QMAKE_LIBDIR = | ||
76 | -QMAKE_INCDIR_X11 = /usr/X11R6/include | ||
77 | -QMAKE_LIBDIR_X11 = /usr/X11R6/lib | ||
78 | -QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] | ||
79 | -QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] | ||
80 | -QMAKE_INCDIR_OPENGL = /usr/X11R6/include | ||
81 | -QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib | ||
82 | +QMAKE_INCDIR_X11 = | ||
83 | +QMAKE_LIBDIR_X11 = | ||
84 | +QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) | ||
85 | +QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) | ||
86 | +QMAKE_INCDIR_OPENGL = | ||
87 | +QMAKE_LIBDIR_OPENGL = | ||
88 | |||
89 | QMAKE_LIBS = | ||
90 | QMAKE_LIBS_DYNLOAD = -ldl | ||
91 | -QMAKE_LIBS_X11 = -lXext -lX11 -lm | ||
92 | -QMAKE_LIBS_X11SM = -lSM -lICE | ||
93 | +QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) | ||
94 | +QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM) | ||
95 | QMAKE_LIBS_NIS = -lnsl | ||
96 | QMAKE_LIBS_OPENGL = -lGLU -lGL | ||
97 | QMAKE_LIBS_OPENGL_QT = -lGL | ||
98 | QMAKE_LIBS_THREAD = -lpthread | ||
99 | |||
100 | -QMAKE_MOC = $$[QT_INSTALL_BINS]/moc | ||
101 | -QMAKE_UIC = $$[QT_INSTALL_BINS]/uic | ||
102 | +QMAKE_MOC = $(OE_QMAKE_MOC) | ||
103 | +QMAKE_UIC = $(OE_QMAKE_UIC) | ||
104 | |||
105 | -QMAKE_AR = ar cqs | ||
106 | -QMAKE_OBJCOPY = objcopy | ||
107 | +QMAKE_AR = $(OE_QMAKE_AR) cqs | ||
108 | +QMAKE_OBJCOPY = $(OE_QMAKE_OBJCOPY) | ||
109 | QMAKE_RANLIB = | ||
110 | |||
111 | QMAKE_TAR = tar -cf | ||
112 | @@ -39,7 +39,7 @@ QMAKE_COPY_DIR = $(COPY) -r | ||
113 | QMAKE_MOVE = mv -f | ||
114 | QMAKE_DEL_FILE = rm -f | ||
115 | QMAKE_DEL_DIR = rmdir | ||
116 | -QMAKE_STRIP = strip | ||
117 | +QMAKE_STRIP = $(OE_QMAKE_STRIP) | ||
118 | QMAKE_STRIPFLAGS_LIB += --strip-unneeded | ||
119 | QMAKE_CHK_DIR_EXISTS = test -d | ||
120 | QMAKE_MKDIR = mkdir -p | ||
diff --git a/meta/recipes-qt/qmake/qmake2-cross/linux-oe-qmake.conf b/meta/recipes-qt/qmake/qmake2-cross/linux-oe-qmake.conf new file mode 100644 index 0000000000..f58481a693 --- /dev/null +++ b/meta/recipes-qt/qmake/qmake2-cross/linux-oe-qmake.conf | |||
@@ -0,0 +1 @@ | |||
include(../linux-g++/qmake.conf) | |||
diff --git a/meta/recipes-qt/qmake/qmake2-cross/use-lflags-last.patch b/meta/recipes-qt/qmake/qmake2-cross/use-lflags-last.patch new file mode 100644 index 0000000000..4197dbbf64 --- /dev/null +++ b/meta/recipes-qt/qmake/qmake2-cross/use-lflags-last.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Index: 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/recipes-qt/qmake/qmake2-cross_2.10a.bb b/meta/recipes-qt/qmake/qmake2-cross_2.10a.bb new file mode 100644 index 0000000000..60f738b9ce --- /dev/null +++ b/meta/recipes-qt/qmake/qmake2-cross_2.10a.bb | |||
@@ -0,0 +1,74 @@ | |||
1 | DESCRIPTION = "TrollTech Makefile Generator" | ||
2 | PRIORITY = "optional" | ||
3 | HOMEPAGE = "http://www.trolltech.com" | ||
4 | SECTION = "devel" | ||
5 | LICENSE = "GPL" | ||
6 | PR = "r2" | ||
7 | |||
8 | QTVER = "qt-embedded-linux-opensource-src-4.5.3" | ||
9 | |||
10 | SRC_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" | ||
14 | S = "${WORKDIR}/${QTVER}" | ||
15 | |||
16 | # we need the real target system here | ||
17 | CROSS_SYS := "${TARGET_SYS}" | ||
18 | CROSS_BINDIR := "${STAGING_BINDIR_CROSS}" | ||
19 | inherit autotools cross | ||
20 | |||
21 | export QTDIR = "${S}" | ||
22 | EXTRA_OEMAKE = "-e" | ||
23 | EXTRA_OECONF = "-opensource" | ||
24 | |||
25 | do_configure() { | ||
26 | # Install the OE build templates | ||
27 | for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ | ||
28 | do | ||
29 | install -d ${S}/mkspecs/$template | ||
30 | install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf | ||
31 | ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h | ||
32 | done | ||
33 | |||
34 | QMAKESPEC= | ||
35 | PLATFORM=${HOST_OS}-oe-g++ | ||
36 | export PLATFORM | ||
37 | # yes, TARGET_SYS is correct, because this is a 'cross'-qmake-native :) :M: | ||
38 | export OE_QMAKE_CC="${CC}" | ||
39 | export OE_QMAKE_CFLAGS="${CFLAGS}" | ||
40 | export OE_QMAKE_CXX="${CXX}" | ||
41 | export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}" | ||
42 | export OE_QMAKE_LDFLAGS="${LDFLAGS}" | ||
43 | export OE_QMAKE_LINK="${CCLD}" | ||
44 | export OE_QMAKE_AR="${AR}" | ||
45 | export OE_QMAKE_OBJCOPY="${OBJCOPY}" | ||
46 | export OE_QMAKE_STRIP="${STRIP}" | ||
47 | export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic" | ||
48 | export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc" | ||
49 | export OE_QMAKE_RCC="non-existant" | ||
50 | export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake" | ||
51 | export OE_QMAKE_RPATH="-Wl,-rpath-link," | ||
52 | echo yes | ./configure -prefix ${STAGING_DIR}/${CROSS_SYS}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed" | ||
53 | } | ||
54 | |||
55 | do_compile() { | ||
56 | : | ||
57 | } | ||
58 | |||
59 | do_install() { | ||
60 | install -d ${D}${CROSS_BINDIR}/ | ||
61 | install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake2 | ||
62 | install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake-qt4 | ||
63 | install -d ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/ | ||
64 | cp -PfR mkspecs ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/ | ||
65 | install -d ${D}${STAGING_DIR}/${HOST_SYS}/qt4/ | ||
66 | cp -PfR mkspecs ${D}${STAGING_DIR}/${HOST_SYS}/qt4/ | ||
67 | } | ||
68 | |||
69 | sysroot_stage_all_append() { | ||
70 | sysroot_stage_dir ${D}/${STAGING_DIR_NATIVE}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/qt4 | ||
71 | sysroot_stage_dir ${D}/${STAGING_DIR_TARGET}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/qt4 | ||
72 | } | ||
73 | |||
74 | |||