From 51b6c8a6e2713f2b151a522c75b2db5f0b0b663e Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 13 Apr 2010 10:43:33 +0200 Subject: Implement some changes to the AIX xlC mkspec suggested by IBM. Set -bmaxdata to 0x8000000 for normal 32-bit Qt programs, to allow them to access more memory. Increase that limit to the maximum allowed when linking to QtWebKit (even though we don't support WebKit with xlC, there are patches to do that). For 64-bit, simply add the "big TOC" flag, which enables accessing more symbols that cannot be reached by a 16-bit addressing. Only QtWebKit strictly needs it, but IBM suggests as a good flag for everyone. Reviewed-by: Thomas Zander --- mkspecs/aix-xlc-64/qmake.conf | 2 +- mkspecs/aix-xlc/qmake.conf | 2 +- mkspecs/features/qt.prf | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/mkspecs/aix-xlc-64/qmake.conf b/mkspecs/aix-xlc-64/qmake.conf index a18aa9f..72eef89 100644 --- a/mkspecs/aix-xlc-64/qmake.conf +++ b/mkspecs/aix-xlc-64/qmake.conf @@ -48,7 +48,7 @@ QMAKE_LIBDIR_OPENGL = QMAKE_LINK = xlC QMAKE_LINK_THREAD = xlC_r QMAKE_LINK_SHLIB = ld -QMAKE_LFLAGS = -q64 +QMAKE_LFLAGS = -q64 -bbigtoc QMAKE_LFLAGS_RELEASE = QMAKE_LFLAGS_DEBUG = QMAKE_LFLAGS_SHLIB = -qmkshrobj diff --git a/mkspecs/aix-xlc/qmake.conf b/mkspecs/aix-xlc/qmake.conf index 42f6f7e..f4d77e5 100644 --- a/mkspecs/aix-xlc/qmake.conf +++ b/mkspecs/aix-xlc/qmake.conf @@ -48,7 +48,7 @@ QMAKE_LIBDIR_OPENGL = QMAKE_LINK = xlC QMAKE_LINK_THREAD = xlC_r QMAKE_LINK_SHLIB = ld -QMAKE_LFLAGS = +QMAKE_LFLAGS = -bmaxdata:0x80000000 QMAKE_LFLAGS_RELEASE = QMAKE_LFLAGS_DEBUG = QMAKE_LFLAGS_SHLIB = -qmkshrobj diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index cf32685..62cce62 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -166,8 +166,14 @@ for(QTLIB, $$list($$lower($$unique(QT)))) { # we bump the values for all Symbian Phonon plugins. symbian:isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x040000 0x1600000 - } else:isEqual(QTLIB, webkit):qlib = QtWebKit - else:isEqual(QTLIB, declarative):qlib = QtDeclarative + } else:isEqual(QTLIB, webkit) { + qlib = QtWebKit + aix-xlc { + # Flags recommended by IBM when using WebKit + QMAKE_LFLAGS -= -bmaxdata:0x80000000 + QMAKE_LFLAGS += -bmaxdata:0xD0000000/dsa + } + } else:isEqual(QTLIB, declarative):qlib = QtDeclarative else:isEqual(QTLIB, multimedia):qlib = QtMultimedia else:message("Unknown QT: $$QTLIB"):qlib = !isEmpty(qlib) { -- cgit v0.12