diff options
author | Thomas Zander <t.zander@nokia.com> | 2010-03-02 12:11:22 (GMT) |
---|---|---|
committer | Thomas Zander <t.zander@nokia.com> | 2010-03-02 12:17:44 (GMT) |
commit | 984c227bb23cff57fbad6710fdac5c5dfc056409 (patch) | |
tree | 7c1230718804ebf7267c86b7dab476ba8e1caa38 /mkspecs/symbian | |
parent | cef67062373434e6ba737b3fc327f9e94e4381a2 (diff) | |
download | Qt-984c227bb23cff57fbad6710fdac5c5dfc056409.zip Qt-984c227bb23cff57fbad6710fdac5c5dfc056409.tar.gz Qt-984c227bb23cff57fbad6710fdac5c5dfc056409.tar.bz2 |
Properly get the paths for the compiler-provided libs
I call g++ to tell me the library paths for the compiler so
I can pass that on to ld. I'm a bit confused why this is needed,
need to find out if thats expected behavior for gcce
Diffstat (limited to 'mkspecs/symbian')
-rw-r--r-- | mkspecs/symbian/linux-gcce/features/symbian_building.prf | 16 | ||||
-rw-r--r-- | mkspecs/symbian/linux-gcce/platformlibs.conf | 18 |
2 files changed, 20 insertions, 14 deletions
diff --git a/mkspecs/symbian/linux-gcce/features/symbian_building.prf b/mkspecs/symbian/linux-gcce/features/symbian_building.prf index fc9d621..58d0b5e 100644 --- a/mkspecs/symbian/linux-gcce/features/symbian_building.prf +++ b/mkspecs/symbian/linux-gcce/features/symbian_building.prf @@ -101,18 +101,11 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) { QMAKE_DISTCLEAN += $${symbianDestdir}/$${TARGET}.dso QMAKE_CLEAN += $${symbianObjdir}/$${TARGET}.def - QMAKE_LIBS += -l:edllstub.lib \ - -l:edll.lib \ - -lsupc++ \ - -lgcc - QMAKE_LFLAGS += --soname $${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll \ --target1-abs \ --no-undefined \ --strip-debug \ - --nostdlib \ - -L/home/zander/work/build-symbian/arm-2009q3/lib/gcc/arm-none-symbianelf/4.4.1/ \ - -L/home/zander/work/build-symbian/arm-2009q3/arm-none-symbianelf/lib/ + --nostdlib } contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") { @@ -126,14 +119,11 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") { QMAKE_DISTCLEAN += $${symbianDestdir}/$${TARGET}.exe QMAKE_CLEAN += $${symbianDestdir}/$${TARGET} - QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\) - - QMAKE_LFLAGS += --symver_soname --soname=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe \ + QMAKE_LFLAGS += --soname=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe \ --target1-abs \ --no-undefined \ + --strip-debug \ --shared \ - -lsupc++ \ - -lgcc \ --nostdlib } diff --git a/mkspecs/symbian/linux-gcce/platformlibs.conf b/mkspecs/symbian/linux-gcce/platformlibs.conf index 4651d1e..f344ef0 100644 --- a/mkspecs/symbian/linux-gcce/platformlibs.conf +++ b/mkspecs/symbian/linux-gcce/platformlibs.conf @@ -1,4 +1,20 @@ -QMAKE_LIBS += -l:usrt2_2.lib +QMAKE_LIBS += -l:usrt2_2.lib \ + -l:edllstub.lib \ + -l:edll.lib \ + -lsupc++ \ + -lgcc QMAKE_LIBDIR += ${EPOCROOT}/epoc32/release/armv5/udeb/ + +# g++ knows the path to the gcc-shipped-libs, ld doesn't. So cache the full path in the generate Makefile +QMAKE_GCC_SEARCH_DIRS =$$system($$QMAKE_CXX -print-search-dirs) +for(line, QMAKE_GCC_SEARCH_DIRS) { + contains(line, "libraries:") { + foundIt="1" + } else { + contains(foundIt, "1") { + QMAKE_LFLAGS += $$replace(line, "[=:]", " -L") + } + } +} |