1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
load(qt)
isEmpty(DESTDIR) {
DESTDIR = .
}
for(libraries, LIBS) {
isLib = $$find(libraries, \.lib)
isEmpty(isLib) {
LIBS += $${libraries}.lib\\(VtblExports.o\\)
}
}
for(libraries, QMAKE_LIBS) {
isLib = $$find(libraries, \.lib)
isEmpty(isLib) {
QMAKE_LIBS += $${libraries}.lib\\(VtblExports.o\\)
}
}
# This needs to be done after the above LIBS mangling.
include(../platformlibs.conf)
contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
exports.commands = winewrapper getexports.exe ${QMAKE_FILE_NAME} > ${OBJECTS_DIR}${QMAKE_FILE_BASE}.exports
exports.output = $$OBJECTS_DIR/${QMAKE_FILE_BASE}.exports
exports.input = OBJECTS
exports.variable_out = ORDINALMAP
exports.CONFIG = no_link
deffile.input = ORDINALMAP
deffile.output = $$OBJECTS_DIR/$${TARGET}.def
deffile.commands = makedeffile $$OBJECTS_DIR/$${TARGET}.def ${QMAKE_FILE_NAME}
deffile.variable_out = DEFFILE
deffile.CONFIG = no_link combine
expfile.input = DEFFILE
expfile.output = $$OBJECTS_DIR/$${TARGET}.exp
expfile.commands = makeexpfile ${QMAKE_FILE_NAME} $$OBJECTS_DIR/$${TARGET}.exp
expfile.variable_out = QMAKE_LIBS
expfile.CONFIG = target_predeps
ordinalmap.input = DEFFILE
ordinalmap.output = $$DESTDIR/$${TARGET}.lib
ordinalmap.commands = makeordinalmap $$OBJECTS_DIR ${QMAKE_FILE_NAME} $${TARGET}.dll $$DESTDIR/$${TARGET}.lib
ordinalmap.variable_out = PRE_TARGETDEPS
!isEmpty($$QMAKE_POST_LINK):QMAKE_POST_LINK += &&
QMAKE_POST_LINK += $$QMAKE_MOVE $$DESTDIR/$${TARGET}.dll $$DESTDIR/$${TARGET}.sym
QMAKE_POST_LINK += && winewrapper elftran.exe -version 4.1536 -sid 0xe001b2dc -allow -nocall -heap 0x00020000 0x00800000 -stack 0x00014000 -unpaged -uid1 0x10000079 -uid2 0x1000008d -uid3 0xe001b2dc -fpu softvfp -capability None $${DESTDIR}/$${TARGET}.sym $${DESTDIR}/$${TARGET}.dll
QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.sym
QMAKE_EXTRA_COMPILERS += exports
QMAKE_EXTRA_COMPILERS += deffile
QMAKE_EXTRA_COMPILERS += expfile
QMAKE_EXTRA_COMPILERS += ordinalmap
QMAKE_LIBS += -ledllstub -ledll.lib\\(uc_dll_.o\\)
}
contains(TEMPLATE, app) {
QMAKE_POST_LINK += winewrapper elftran.exe -version 10.0 -sid 0xe4d10fc9 -nocall -heap 0x00020000 0x00800000 -stack 0x00014000 -unpaged -uid1 0x1000007a -uid2 0x1000008d -uid3 0xe4d10fc9 -fpu softvfp -capability None $${DESTDIR}/$${TARGET} $${DESTDIR}/$${TARGET}.tran
QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.tran
QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\)
}
# Symbian resource files
linux-armcc:symbian_resources_INCLUDES = -I$$(RVCT22INC)
symbian_resources_INCLUDES = $$replace(symbian_resources_INCLUDES, ",", " -I")
symbian_resources_INCLUDES += $$join(INCLUDEPATH, " -I", "-I")
symbian_resources_DEFINES = $$join(DEFINES, " -D", "-D")
symbian_resources_RCC_DIR = $$replace(RCC_DIR, "/$", "")
for(symbian_resource, SYMBIAN_RESOURCES) {
symbian_resource = $$basename(symbian_resource)
symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rsc")
QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${symbian_resource_clean}
symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rpp")
QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${symbian_resource_clean}
}
symbianresources.input = SYMBIAN_RESOURCES
symbianresources.output = $$symbian_resources_RCC_DIR/${QMAKE_FILE_BASE}.rsg
symbianresources.commands = cpp -nostdinc -undef \
$$symbian_resources_INCLUDES \
$$symbian_resources_DEFINES \
${QMAKE_FILE_NAME} \
-o $${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \
&& rcomp -u -m045,046,047 \
-s$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \
-o$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rsc \
-h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rsg \
-i${QMAKE_FILE_NAME}
symbianresources.CONFIG = no_link
QMAKE_EXTRA_COMPILERS += symbianresources
|