summaryrefslogtreecommitdiffstats
path: root/meta/recipes-qt/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-qt/qmake')
-rw-r--r--meta/recipes-qt/qmake/qmake2-cross/0001-fix-mkspecs.patch120
-rw-r--r--meta/recipes-qt/qmake/qmake2-cross/linux-oe-qmake.conf1
-rw-r--r--meta/recipes-qt/qmake/qmake2-cross/use-lflags-last.patch22
-rw-r--r--meta/recipes-qt/qmake/qmake2-cross_2.10a.bb74
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 @@
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
11Index: 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
68Index: 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 @@
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/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 @@
1DESCRIPTION = "TrollTech Makefile Generator"
2PRIORITY = "optional"
3HOMEPAGE = "http://www.trolltech.com"
4SECTION = "devel"
5LICENSE = "GPL"
6PR = "r2"
7
8QTVER = "qt-embedded-linux-opensource-src-4.5.3"
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"
23EXTRA_OECONF = "-opensource"
24
25do_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
55do_compile() {
56 :
57}
58
59do_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
69sysroot_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