diff options
author | Jonathan Liu <net147@gmail.com> | 2013-09-04 13:33:02 +0000 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2013-09-10 22:42:42 +0200 |
commit | 998dedb11dbfd4b8b052b970b5ec52ab0fe6ee78 (patch) | |
tree | e14414cabaabc055aee395a93c4e91b63bb06418 /meta-oe/recipes-qt | |
parent | 53c9a1f55e169e0c7e2d6a3fed51308c316774fb (diff) | |
download | meta-openembedded-998dedb11dbfd4b8b052b970b5ec52ab0fe6ee78.tar.gz |
qt-creator: update to 2.8.1
This also adds patches to fix compilation for ARM.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-qt')
-rw-r--r-- | meta-oe/recipes-qt/qt-creator/qt-creator/fix.missing.cpuid.h.patch | 384 | ||||
-rw-r--r-- | meta-oe/recipes-qt/qt-creator/qt-creator/qbs_transformer_product.patch | 93 | ||||
-rw-r--r-- | meta-oe/recipes-qt/qt-creator/qt-creator_2.8.1.bb (renamed from meta-oe/recipes-qt/qt-creator/qt-creator_2.8.0.bb) | 8 |
3 files changed, 482 insertions, 3 deletions
diff --git a/meta-oe/recipes-qt/qt-creator/qt-creator/fix.missing.cpuid.h.patch b/meta-oe/recipes-qt/qt-creator/qt-creator/fix.missing.cpuid.h.patch new file mode 100644 index 000000000..363bee3e7 --- /dev/null +++ b/meta-oe/recipes-qt/qt-creator/qt-creator/fix.missing.cpuid.h.patch | |||
@@ -0,0 +1,384 @@ | |||
1 | From 8be071bbca6a9b8e06a7466d848a2b4b6dbcbc1f Mon Sep 17 00:00:00 2001 | ||
2 | From: Christian Kandeler <christian.kandeler@digia.com> | ||
3 | Date: Fri, 19 Jul 2013 13:40:30 +0200 | ||
4 | Subject: [PATCH] WIP: Remove x86 assembler code from botan sources. | ||
5 | |||
6 | Taken from | ||
7 | https://bugreports.qt-project.org/browse/QTCREATORBUG-8107 | ||
8 | |||
9 | Upstream-Status: Submitted | ||
10 | |||
11 | Change-Id: I3780aa4551f563c5f43833ec822e3c1add7012f2 | ||
12 | --- | ||
13 | src/libs/3rdparty/botan/botan.cpp | 297 +++----------------------------------- | ||
14 | src/libs/3rdparty/botan/botan.h | 4 +- | ||
15 | 2 files changed, 18 insertions(+), 283 deletions(-) | ||
16 | |||
17 | diff --git a/src/libs/3rdparty/botan/botan.cpp b/src/libs/3rdparty/botan/botan.cpp | ||
18 | index 917c385..c515750 100644 | ||
19 | --- a/src/libs/3rdparty/botan/botan.cpp | ||
20 | +++ b/src/libs/3rdparty/botan/botan.cpp | ||
21 | @@ -1098,35 +1098,31 @@ class Montgomery_Exponentiator : public Modular_Exponentiator | ||
22 | |||
23 | } | ||
24 | |||
25 | - | ||
26 | -#if (BOTAN_MP_WORD_BITS != 32) | ||
27 | - #error The mp_x86_32 module requires that BOTAN_MP_WORD_BITS == 32 | ||
28 | +#if (BOTAN_MP_WORD_BITS == 8) | ||
29 | +typedef Botan::u16bit dword; | ||
30 | +#elif (BOTAN_MP_WORD_BITS == 16) | ||
31 | +typedef Botan::u32bit dword; | ||
32 | +#elif (BOTAN_MP_WORD_BITS == 32) | ||
33 | +typedef Botan::u64bit dword; | ||
34 | +#elif (BOTAN_MP_WORD_BITS == 64) | ||
35 | +#error BOTAN_MP_WORD_BITS can be 64 only with assembly support | ||
36 | +#else | ||
37 | +#error BOTAN_MP_WORD_BITS must be 8, 16, 32, or 64 | ||
38 | #endif | ||
39 | |||
40 | -#ifdef Q_OS_UNIX | ||
41 | + | ||
42 | namespace Botan { | ||
43 | |||
44 | extern "C" { | ||
45 | |||
46 | /* | ||
47 | -* Helper Macros for x86 Assembly | ||
48 | -*/ | ||
49 | -#define ASM(x) x "\n\t" | ||
50 | - | ||
51 | -/* | ||
52 | * Word Multiply | ||
53 | */ | ||
54 | inline word word_madd2(word a, word b, word* c) | ||
55 | { | ||
56 | - asm( | ||
57 | - ASM("mull %[b]") | ||
58 | - ASM("addl %[c],%[a]") | ||
59 | - ASM("adcl $0,%[carry]") | ||
60 | - | ||
61 | - : [a]"=a"(a), [b]"=rm"(b), [carry]"=&d"(*c) | ||
62 | - : "0"(a), "1"(b), [c]"g"(*c) : "cc"); | ||
63 | - | ||
64 | - return a; | ||
65 | + dword z = (dword)a * b + *c; | ||
66 | + *c = (word)(z >> BOTAN_MP_WORD_BITS); | ||
67 | + return (word)z; | ||
68 | } | ||
69 | |||
70 | /* | ||
71 | @@ -1134,25 +1130,12 @@ inline word word_madd2(word a, word b, word* c) | ||
72 | */ | ||
73 | inline word word_madd3(word a, word b, word c, word* d) | ||
74 | { | ||
75 | - asm( | ||
76 | - ASM("mull %[b]") | ||
77 | - | ||
78 | - ASM("addl %[c],%[a]") | ||
79 | - ASM("adcl $0,%[carry]") | ||
80 | - | ||
81 | - ASM("addl %[d],%[a]") | ||
82 | - ASM("adcl $0,%[carry]") | ||
83 | - | ||
84 | - : [a]"=a"(a), [b]"=rm"(b), [carry]"=&d"(*d) | ||
85 | - : "0"(a), "1"(b), [c]"g"(c), [d]"g"(*d) : "cc"); | ||
86 | - | ||
87 | - return a; | ||
88 | + dword z = (dword)a * b + c + *d; | ||
89 | + *d = (word)(z >> BOTAN_MP_WORD_BITS); | ||
90 | + return (word)z; | ||
91 | } | ||
92 | - | ||
93 | } | ||
94 | - | ||
95 | } | ||
96 | -#endif | ||
97 | |||
98 | |||
99 | |||
100 | @@ -1704,30 +1687,6 @@ void unlock_mem(void* addr, size_t length); | ||
101 | |||
102 | namespace Botan { | ||
103 | |||
104 | -extern "C" { | ||
105 | - | ||
106 | -/* | ||
107 | -* Word Multiply/Add | ||
108 | -*/ | ||
109 | -inline word word_madd2(word a, word b, word* c) | ||
110 | - { | ||
111 | - dword z = (dword)a * b + *c; | ||
112 | - *c = (word)(z >> BOTAN_MP_WORD_BITS); | ||
113 | - return (word)z; | ||
114 | - } | ||
115 | - | ||
116 | -/* | ||
117 | -* Word Multiply/Add | ||
118 | -*/ | ||
119 | -inline word word_madd3(word a, word b, word c, word* d) | ||
120 | - { | ||
121 | - dword z = (dword)a * b + c + *d; | ||
122 | - *d = (word)(z >> BOTAN_MP_WORD_BITS); | ||
123 | - return (word)z; | ||
124 | - } | ||
125 | - | ||
126 | -} | ||
127 | - | ||
128 | /** | ||
129 | * Win32 CAPI Entropy Source | ||
130 | */ | ||
131 | @@ -2315,225 +2274,6 @@ namespace Botan { | ||
132 | |||
133 | extern "C" { | ||
134 | |||
135 | -#ifdef Q_OS_UNIX | ||
136 | -/* | ||
137 | -* Helper Macros for x86 Assembly | ||
138 | -*/ | ||
139 | -#ifndef ASM | ||
140 | - #define ASM(x) x "\n\t" | ||
141 | -#endif | ||
142 | - | ||
143 | -#define ADDSUB2_OP(OPERATION, INDEX) \ | ||
144 | - ASM("movl 4*" #INDEX "(%[y]), %[carry]") \ | ||
145 | - ASM(OPERATION " %[carry], 4*" #INDEX "(%[x])") \ | ||
146 | - | ||
147 | -#define ADDSUB3_OP(OPERATION, INDEX) \ | ||
148 | - ASM("movl 4*" #INDEX "(%[x]), %[carry]") \ | ||
149 | - ASM(OPERATION " 4*" #INDEX "(%[y]), %[carry]") \ | ||
150 | - ASM("movl %[carry], 4*" #INDEX "(%[z])") \ | ||
151 | - | ||
152 | -#define LINMUL_OP(WRITE_TO, INDEX) \ | ||
153 | - ASM("movl 4*" #INDEX "(%[x]),%%eax") \ | ||
154 | - ASM("mull %[y]") \ | ||
155 | - ASM("addl %[carry],%%eax") \ | ||
156 | - ASM("adcl $0,%%edx") \ | ||
157 | - ASM("movl %%edx,%[carry]") \ | ||
158 | - ASM("movl %%eax, 4*" #INDEX "(%[" WRITE_TO "])") | ||
159 | - | ||
160 | -#define MULADD_OP(IGNORED, INDEX) \ | ||
161 | - ASM("movl 4*" #INDEX "(%[x]),%%eax") \ | ||
162 | - ASM("mull %[y]") \ | ||
163 | - ASM("addl %[carry],%%eax") \ | ||
164 | - ASM("adcl $0,%%edx") \ | ||
165 | - ASM("addl 4*" #INDEX "(%[z]),%%eax") \ | ||
166 | - ASM("adcl $0,%%edx") \ | ||
167 | - ASM("movl %%edx,%[carry]") \ | ||
168 | - ASM("movl %%eax, 4*" #INDEX " (%[z])") | ||
169 | - | ||
170 | -#define DO_8_TIMES(MACRO, ARG) \ | ||
171 | - MACRO(ARG, 0) \ | ||
172 | - MACRO(ARG, 1) \ | ||
173 | - MACRO(ARG, 2) \ | ||
174 | - MACRO(ARG, 3) \ | ||
175 | - MACRO(ARG, 4) \ | ||
176 | - MACRO(ARG, 5) \ | ||
177 | - MACRO(ARG, 6) \ | ||
178 | - MACRO(ARG, 7) | ||
179 | - | ||
180 | -#define ADD_OR_SUBTRACT(CORE_CODE) \ | ||
181 | - ASM("rorl %[carry]") \ | ||
182 | - CORE_CODE \ | ||
183 | - ASM("sbbl %[carry],%[carry]") \ | ||
184 | - ASM("negl %[carry]") | ||
185 | - | ||
186 | -/* | ||
187 | -* Word Addition | ||
188 | -*/ | ||
189 | -inline word word_add(word x, word y, word* carry) | ||
190 | - { | ||
191 | - asm( | ||
192 | - ADD_OR_SUBTRACT(ASM("adcl %[y],%[x]")) | ||
193 | - : [x]"=r"(x), [carry]"=r"(*carry) | ||
194 | - : "0"(x), [y]"rm"(y), "1"(*carry) | ||
195 | - : "cc"); | ||
196 | - return x; | ||
197 | - } | ||
198 | - | ||
199 | -/* | ||
200 | -* Eight Word Block Addition, Two Argument | ||
201 | -*/ | ||
202 | -inline word word8_add2(word x[8], const word y[8], word carry) | ||
203 | - { | ||
204 | - asm( | ||
205 | - ADD_OR_SUBTRACT(DO_8_TIMES(ADDSUB2_OP, "adcl")) | ||
206 | - : [carry]"=r"(carry) | ||
207 | - : [x]"r"(x), [y]"r"(y), "0"(carry) | ||
208 | - : "cc", "memory"); | ||
209 | - return carry; | ||
210 | - } | ||
211 | - | ||
212 | -/* | ||
213 | -* Eight Word Block Addition, Three Argument | ||
214 | -*/ | ||
215 | -inline word word8_add3(word z[8], const word x[8], const word y[8], word carry) | ||
216 | - { | ||
217 | - asm( | ||
218 | - ADD_OR_SUBTRACT(DO_8_TIMES(ADDSUB3_OP, "adcl")) | ||
219 | - : [carry]"=r"(carry) | ||
220 | - : [x]"r"(x), [y]"r"(y), [z]"r"(z), "0"(carry) | ||
221 | - : "cc", "memory"); | ||
222 | - return carry; | ||
223 | - } | ||
224 | - | ||
225 | -/* | ||
226 | -* Word Subtraction | ||
227 | -*/ | ||
228 | -inline word word_sub(word x, word y, word* carry) | ||
229 | - { | ||
230 | - asm( | ||
231 | - ADD_OR_SUBTRACT(ASM("sbbl %[y],%[x]")) | ||
232 | - : [x]"=r"(x), [carry]"=r"(*carry) | ||
233 | - : "0"(x), [y]"rm"(y), "1"(*carry) | ||
234 | - : "cc"); | ||
235 | - return x; | ||
236 | - } | ||
237 | - | ||
238 | -/* | ||
239 | -* Eight Word Block Subtraction, Two Argument | ||
240 | -*/ | ||
241 | -inline word word8_sub2(word x[8], const word y[8], word carry) | ||
242 | - { | ||
243 | - asm( | ||
244 | - ADD_OR_SUBTRACT(DO_8_TIMES(ADDSUB2_OP, "sbbl")) | ||
245 | - : [carry]"=r"(carry) | ||
246 | - : [x]"r"(x), [y]"r"(y), "0"(carry) | ||
247 | - : "cc", "memory"); | ||
248 | - return carry; | ||
249 | - } | ||
250 | - | ||
251 | -/* | ||
252 | -* Eight Word Block Subtraction, Two Argument | ||
253 | -*/ | ||
254 | -inline word word8_sub2_rev(word x[8], const word y[8], word carry) | ||
255 | - { | ||
256 | - asm( | ||
257 | - ADD_OR_SUBTRACT(DO_8_TIMES(ADDSUB3_OP, "sbbl")) | ||
258 | - : [carry]"=r"(carry) | ||
259 | - : [x]"r"(y), [y]"r"(x), [z]"r"(x), "0"(carry) | ||
260 | - : "cc", "memory"); | ||
261 | - return carry; | ||
262 | - } | ||
263 | - | ||
264 | -/* | ||
265 | -* Eight Word Block Subtraction, Three Argument | ||
266 | -*/ | ||
267 | -inline word word8_sub3(word z[8], const word x[8], const word y[8], word carry) | ||
268 | - { | ||
269 | - asm( | ||
270 | - ADD_OR_SUBTRACT(DO_8_TIMES(ADDSUB3_OP, "sbbl")) | ||
271 | - : [carry]"=r"(carry) | ||
272 | - : [x]"r"(x), [y]"r"(y), [z]"r"(z), "0"(carry) | ||
273 | - : "cc", "memory"); | ||
274 | - return carry; | ||
275 | - } | ||
276 | - | ||
277 | -/* | ||
278 | -* Eight Word Block Linear Multiplication | ||
279 | -*/ | ||
280 | -inline word word8_linmul2(word x[8], word y, word carry) | ||
281 | - { | ||
282 | - asm( | ||
283 | - DO_8_TIMES(LINMUL_OP, "x") | ||
284 | - : [carry]"=r"(carry) | ||
285 | - : [x]"r"(x), [y]"rm"(y), "0"(carry) | ||
286 | - : "cc", "%eax", "%edx"); | ||
287 | - return carry; | ||
288 | - } | ||
289 | - | ||
290 | -/* | ||
291 | -* Eight Word Block Linear Multiplication | ||
292 | -*/ | ||
293 | -inline word word8_linmul3(word z[8], const word x[8], word y, word carry) | ||
294 | - { | ||
295 | - asm( | ||
296 | - DO_8_TIMES(LINMUL_OP, "z") | ||
297 | - : [carry]"=r"(carry) | ||
298 | - : [z]"r"(z), [x]"r"(x), [y]"rm"(y), "0"(carry) | ||
299 | - : "cc", "%eax", "%edx"); | ||
300 | - return carry; | ||
301 | - } | ||
302 | - | ||
303 | -/* | ||
304 | -* Eight Word Block Multiply/Add | ||
305 | -*/ | ||
306 | -inline word word8_madd3(word z[8], const word x[8], word y, word carry) | ||
307 | - { | ||
308 | - asm( | ||
309 | - DO_8_TIMES(MULADD_OP, "") | ||
310 | - : [carry]"=r"(carry) | ||
311 | - : [z]"r"(z), [x]"r"(x), [y]"rm"(y), "0"(carry) | ||
312 | - : "cc", "%eax", "%edx"); | ||
313 | - return carry; | ||
314 | - } | ||
315 | - | ||
316 | -/* | ||
317 | -* Multiply-Add Accumulator | ||
318 | -*/ | ||
319 | -inline void word3_muladd(word* w2, word* w1, word* w0, word x, word y) | ||
320 | - { | ||
321 | - asm( | ||
322 | - ASM("mull %[y]") | ||
323 | - | ||
324 | - ASM("addl %[x],%[w0]") | ||
325 | - ASM("adcl %[y],%[w1]") | ||
326 | - ASM("adcl $0,%[w2]") | ||
327 | - | ||
328 | - : [w0]"=r"(*w0), [w1]"=r"(*w1), [w2]"=r"(*w2) | ||
329 | - : [x]"a"(x), [y]"d"(y), "0"(*w0), "1"(*w1), "2"(*w2) | ||
330 | - : "cc"); | ||
331 | - } | ||
332 | - | ||
333 | -/* | ||
334 | -* Multiply-Add Accumulator | ||
335 | -*/ | ||
336 | -inline void word3_muladd_2(word* w2, word* w1, word* w0, word x, word y) | ||
337 | - { | ||
338 | - asm( | ||
339 | - ASM("mull %[y]") | ||
340 | - | ||
341 | - ASM("addl %[x],%[w0]") | ||
342 | - ASM("adcl %[y],%[w1]") | ||
343 | - ASM("adcl $0,%[w2]") | ||
344 | - | ||
345 | - ASM("addl %[x],%[w0]") | ||
346 | - ASM("adcl %[y],%[w1]") | ||
347 | - ASM("adcl $0,%[w2]") | ||
348 | - | ||
349 | - : [w0]"=r"(*w0), [w1]"=r"(*w1), [w2]"=r"(*w2) | ||
350 | - : [x]"a"(x), [y]"d"(y), "0"(*w0), "1"(*w1), "2"(*w2) | ||
351 | - : "cc"); | ||
352 | - } | ||
353 | -#else | ||
354 | /* | ||
355 | * Word Addition | ||
356 | */ | ||
357 | @@ -2718,9 +2458,6 @@ inline void word3_muladd_2(word* w2, word* w1, word* w0, word a, word b) | ||
358 | *w1 = word_add(*w1, b, &carry); | ||
359 | *w2 = word_add(*w2, top, &carry); | ||
360 | } | ||
361 | - | ||
362 | -#endif | ||
363 | - | ||
364 | } | ||
365 | |||
366 | } | ||
367 | diff --git a/src/libs/3rdparty/botan/botan.h b/src/libs/3rdparty/botan/botan.h | ||
368 | index 6a9cbe0..3a66a14 100644 | ||
369 | --- a/src/libs/3rdparty/botan/botan.h | ||
370 | +++ b/src/libs/3rdparty/botan/botan.h | ||
371 | @@ -80,9 +80,7 @@ | ||
372 | #define BOTAN_GCC_VERSION 0 | ||
373 | #endif | ||
374 | |||
375 | -#define BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN | ||
376 | -#define BOTAN_TARGET_CPU_IS_X86_FAMILY | ||
377 | -#define BOTAN_TARGET_UNALIGNED_MEMORY_ACCESS_OK 1 | ||
378 | +#define BOTAN_TARGET_UNALIGNED_MEMORY_ACCESS_OK 0 | ||
379 | |||
380 | #if defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) || \ | ||
381 | defined(BOTAN_TARGET_CPU_IS_BIG_ENDIAN) | ||
382 | -- | ||
383 | 1.8.3.2 | ||
384 | |||
diff --git a/meta-oe/recipes-qt/qt-creator/qt-creator/qbs_transformer_product.patch b/meta-oe/recipes-qt/qt-creator/qt-creator/qbs_transformer_product.patch new file mode 100644 index 000000000..dea09aef4 --- /dev/null +++ b/meta-oe/recipes-qt/qt-creator/qt-creator/qbs_transformer_product.patch | |||
@@ -0,0 +1,93 @@ | |||
1 | From c1c7cb2a5e6220a74f374a301e648479029f8a0e Mon Sep 17 00:00:00 2001 | ||
2 | From: Joerg Bornemann <joerg.bornemann@digia.com> | ||
3 | Date: Mon, 12 Aug 2013 09:27:47 +0200 | ||
4 | Subject: [PATCH] introduce Transformer::product() | ||
5 | |||
6 | Simplifies the calling code. | ||
7 | Remove pointless nullpointer check from jscommandexecutor. | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | Signed-off-by: Jonathan Liu <net147@gmail.com> | ||
11 | |||
12 | Change-Id: I867181d2b750f32f04376ce860f5dee6555d3e33 | ||
13 | Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> | ||
14 | --- | ||
15 | src/lib/buildgraph/jscommandexecutor.cpp | 5 +---- | ||
16 | src/lib/buildgraph/processcommandexecutor.cpp | 6 ++---- | ||
17 | src/lib/buildgraph/transformer.cpp | 7 +++++++ | ||
18 | src/lib/buildgraph/transformer.h | 1 + | ||
19 | 4 files changed, 11 insertions(+), 8 deletions(-) | ||
20 | |||
21 | diff --git a/src/shared/qbs/src/lib/buildgraph/jscommandexecutor.cpp b/src/shared/qbs/src/lib/buildgraph/jscommandexecutor.cpp | ||
22 | index b7f5b1d..24ffb7e 100644 | ||
23 | --- a/src/shared/qbs/src/lib/buildgraph/jscommandexecutor.cpp | ||
24 | +++ b/src/shared/qbs/src/lib/buildgraph/jscommandexecutor.cpp | ||
25 | @@ -79,10 +79,7 @@ public slots: | ||
26 | m_result.errorMessage.clear(); | ||
27 | ScriptEngine * const scriptEngine = provideScriptEngine(); | ||
28 | QScriptValue scope = scriptEngine->newObject(); | ||
29 | - Artifact *someOutputArtifact = *transformer->outputs.begin(); | ||
30 | - if (!someOutputArtifact->product.isNull()) | ||
31 | - setupScriptEngineForProduct(scriptEngine, someOutputArtifact->product, | ||
32 | - transformer->rule, scope); | ||
33 | + setupScriptEngineForProduct(scriptEngine, transformer->product(), transformer->rule, scope); | ||
34 | transformer->setupInputs(scriptEngine, scope); | ||
35 | transformer->setupOutputs(scriptEngine, scope); | ||
36 | |||
37 | diff --git a/src/shared/qbs/src/lib/buildgraph/processcommandexecutor.cpp b/src/shared/qbs/src/lib/buildgraph/processcommandexecutor.cpp | ||
38 | index 78f77c3..d123fe8 100644 | ||
39 | --- a/src/shared/qbs/src/lib/buildgraph/processcommandexecutor.cpp | ||
40 | +++ b/src/shared/qbs/src/lib/buildgraph/processcommandexecutor.cpp | ||
41 | @@ -276,8 +276,7 @@ void ProcessCommandExecutor::removeResponseFile() | ||
42 | |||
43 | QString ProcessCommandExecutor::findProcessCommandInPath() | ||
44 | { | ||
45 | - Artifact * const outputNode = *transformer()->outputs.begin(); | ||
46 | - const ResolvedProductPtr product = outputNode->product; | ||
47 | + const ResolvedProductPtr product = transformer()->product(); | ||
48 | const ProcessCommand * const cmd = processCommand(); | ||
49 | QString fullProgramPath = product->executablePathCache.value(cmd->program()); | ||
50 | if (!fullProgramPath.isEmpty()) | ||
51 | @@ -309,8 +308,7 @@ QString ProcessCommandExecutor::findProcessCommandInPath() | ||
52 | |||
53 | QString ProcessCommandExecutor::findProcessCommandBySuffix() | ||
54 | { | ||
55 | - Artifact * const outputNode = *transformer()->outputs.begin(); | ||
56 | - const ResolvedProductPtr product = outputNode->product; | ||
57 | + const ResolvedProductPtr product = transformer()->product(); | ||
58 | const ProcessCommand * const cmd = processCommand(); | ||
59 | QString fullProgramPath = product->executablePathCache.value(cmd->program()); | ||
60 | if (!fullProgramPath.isEmpty()) | ||
61 | diff --git a/src/shared/qbs/src/lib/buildgraph/transformer.cpp b/src/shared/qbs/src/lib/buildgraph/transformer.cpp | ||
62 | index ce6baa7..363e08d 100644 | ||
63 | --- a/src/shared/qbs/src/lib/buildgraph/transformer.cpp | ||
64 | +++ b/src/shared/qbs/src/lib/buildgraph/transformer.cpp | ||
65 | @@ -85,6 +85,13 @@ QScriptValue Transformer::translateInOutputs(QScriptEngine *scriptEngine, const | ||
66 | return jsTagFiles; | ||
67 | } | ||
68 | |||
69 | +ResolvedProductPtr Transformer::product() const | ||
70 | +{ | ||
71 | + if (outputs.isEmpty()) | ||
72 | + return ResolvedProductPtr(); | ||
73 | + return (*outputs.begin())->product; | ||
74 | +} | ||
75 | + | ||
76 | void Transformer::setupInputs(QScriptEngine *scriptEngine, QScriptValue targetScriptValue) | ||
77 | { | ||
78 | const QString &defaultModuleName = rule->module->name; | ||
79 | diff --git a/src/shared/qbs/src/lib/buildgraph/transformer.h b/src/shared/qbs/src/lib/buildgraph/transformer.h | ||
80 | index c9c88b6..d26c391 100644 | ||
81 | --- a/src/shared/qbs/src/lib/buildgraph/transformer.h | ||
82 | +++ b/src/shared/qbs/src/lib/buildgraph/transformer.h | ||
83 | @@ -65,6 +65,7 @@ public: | ||
84 | const ArtifactList &artifacts, | ||
85 | const QString &defaultModuleName); | ||
86 | |||
87 | + ResolvedProductPtr product() const; | ||
88 | void setupInputs(QScriptEngine *scriptEngine, QScriptValue targetScriptValue); | ||
89 | void setupOutputs(QScriptEngine *scriptEngine, QScriptValue targetScriptValue); | ||
90 | void createCommands(const PrepareScriptConstPtr &script, | ||
91 | -- | ||
92 | 1.8.4 | ||
93 | |||
diff --git a/meta-oe/recipes-qt/qt-creator/qt-creator_2.8.0.bb b/meta-oe/recipes-qt/qt-creator/qt-creator_2.8.1.bb index a95ad5a04..3a29c3b24 100644 --- a/meta-oe/recipes-qt/qt-creator/qt-creator_2.8.0.bb +++ b/meta-oe/recipes-qt/qt-creator/qt-creator_2.8.1.bb | |||
@@ -6,9 +6,11 @@ LIC_FILES_CHKSUM = "file://LGPL_EXCEPTION.TXT;md5=eb6c371255e1262c55ae9b652a90b5 | |||
6 | file://LICENSE.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad" | 6 | file://LICENSE.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad" |
7 | SECTION = "qt/app" | 7 | SECTION = "qt/app" |
8 | 8 | ||
9 | SRC_URI = "http://download.qt-project.org/official_releases/qtcreator/2.8/${PV}/${BP}-src.tar.gz" | 9 | SRC_URI = "http://download.qt-project.org/official_releases/qtcreator/2.8/${PV}/${BP}-src.tar.gz \ |
10 | SRC_URI[md5sum] = "5aacdad4491b7dda9758a81384d8da79" | 10 | file://fix.missing.cpuid.h.patch \ |
11 | SRC_URI[sha256sum] = "7ac5d9a36c2f561f74d77378d4eae95a78c7752b323e1df924d6e895e99f45d2" | 11 | file://qbs_transformer_product.patch" |
12 | SRC_URI[md5sum] = "79ef6c6ece0c00035ef744c9d6e3bd3b" | ||
13 | SRC_URI[sha256sum] = "d5ae007a297a4288d0e95fd605edbfb8aee80f6788c7a6cfb9cb297f50c364b9" | ||
12 | 14 | ||
13 | S = "${WORKDIR}/${BP}-src" | 15 | S = "${WORKDIR}/${BP}-src" |
14 | 16 | ||