summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorQt by Nokia <qt-info@nokia.com>2011-04-27 12:05:43 +0200
committeraxis <qt-info@nokia.com>2011-04-27 12:05:43 +0200
commit38be0d13830efd2d98281c645c3a60afe05ffece (patch)
tree6ea73f3ec77f7d153333779883e8120f82820abe /mkspecs
Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/aix-g++-64/qmake.conf87
-rw-r--r--mkspecs/aix-g++-64/qplatformdefs.h47
-rw-r--r--mkspecs/aix-g++/qmake.conf87
-rw-r--r--mkspecs/aix-g++/qplatformdefs.h47
-rw-r--r--mkspecs/aix-xlc-64/qmake.conf86
-rw-r--r--mkspecs/aix-xlc-64/qplatformdefs.h47
-rw-r--r--mkspecs/aix-xlc/qmake.conf87
-rw-r--r--mkspecs/aix-xlc/qplatformdefs.h47
-rw-r--r--mkspecs/common/aix/qplatformdefs.h120
-rw-r--r--mkspecs/common/armcc.conf42
-rw-r--r--mkspecs/common/c89/qplatformdefs.h56
-rw-r--r--mkspecs/common/clang.conf17
-rw-r--r--mkspecs/common/g++-base.conf30
-rw-r--r--mkspecs/common/g++-macx.conf32
-rw-r--r--mkspecs/common/g++-unix.conf14
-rw-r--r--mkspecs/common/g++.conf12
-rw-r--r--mkspecs/common/gcc-base-macx.conf50
-rw-r--r--mkspecs/common/gcc-base-unix.conf21
-rw-r--r--mkspecs/common/gcc-base.conf60
-rw-r--r--mkspecs/common/linux.conf67
-rw-r--r--mkspecs/common/llvm.conf16
-rw-r--r--mkspecs/common/mac.conf44
-rw-r--r--mkspecs/common/mac/qplatformdefs.h97
-rw-r--r--mkspecs/common/posix/qplatformdefs.h164
-rw-r--r--mkspecs/common/qws.conf22
-rw-r--r--mkspecs/common/symbian/appCaptionForTranslation.cpp46
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknDoc.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknFontAccess.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknLayoutFont.h2
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknPopupFader.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknServerApp.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknUtils.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknsBasicBackgroundControlContext.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknsConstants.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknsDrawUtils.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknsItemID.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknsSkinInstance.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknsUtils.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/ApDataHandler.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/ApUtils.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/CDirectoryLocalizer.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/DocumentHandler.h1
-rw-r--r--mkspecs/common/symbian/packageNameForTranslation.cpp47
-rw-r--r--mkspecs/common/symbian/qplatformdefs.h108
-rw-r--r--mkspecs/common/symbian/stl-off/new5
-rw-r--r--mkspecs/common/symbian/symbian-makefile.conf72
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf60
-rw-r--r--mkspecs/common/symbian/symbian.conf297
-rw-r--r--mkspecs/common/symbian/symbianincludes.h58
-rw-r--r--mkspecs/common/unix.conf14
-rw-r--r--mkspecs/common/wince/qmake.conf94
-rw-r--r--mkspecs/common/wince/qplatformdefs.h133
-rw-r--r--mkspecs/cygwin-g++/qmake.conf91
-rw-r--r--mkspecs/cygwin-g++/qplatformdefs.h94
-rw-r--r--mkspecs/darwin-g++/qmake.conf106
-rw-r--r--mkspecs/darwin-g++/qplatformdefs.h85
-rw-r--r--mkspecs/features/build_pass.prf1
-rw-r--r--mkspecs/features/dbusadaptors.prf41
-rw-r--r--mkspecs/features/dbusinterfaces.prf42
-rw-r--r--mkspecs/features/debug.prf8
-rw-r--r--mkspecs/features/debug_and_release.prf1
-rw-r--r--mkspecs/features/default_post.prf122
-rw-r--r--mkspecs/features/default_pre.prf3
-rw-r--r--mkspecs/features/designer.prf7
-rw-r--r--mkspecs/features/dll.prf2
-rw-r--r--mkspecs/features/egl.prf21
-rw-r--r--mkspecs/features/exclusive_builds.prf100
-rw-r--r--mkspecs/features/help.prf4
-rw-r--r--mkspecs/features/include_source_dir.prf1
-rw-r--r--mkspecs/features/incredibuild_xge.prf11
-rw-r--r--mkspecs/features/lex.prf24
-rw-r--r--mkspecs/features/link_pkgconfig.prf12
-rw-r--r--mkspecs/features/mac/default_post.prf17
-rw-r--r--mkspecs/features/mac/default_pre.prf3
-rw-r--r--mkspecs/features/mac/dwarf2.prf6
-rw-r--r--mkspecs/features/mac/objective_c.prf23
-rw-r--r--mkspecs/features/mac/ppc.prf7
-rw-r--r--mkspecs/features/mac/ppc64.prf7
-rw-r--r--mkspecs/features/mac/rez.prf16
-rw-r--r--mkspecs/features/mac/sdk.prf8
-rw-r--r--mkspecs/features/mac/x86.prf7
-rw-r--r--mkspecs/features/mac/x86_64.prf7
-rw-r--r--mkspecs/features/moc.prf116
-rw-r--r--mkspecs/features/no_debug_info.prf14
-rw-r--r--mkspecs/features/qdbus.prf2
-rw-r--r--mkspecs/features/qt.prf221
-rw-r--r--mkspecs/features/qt_config.prf22
-rw-r--r--mkspecs/features/qt_functions.prf124
-rw-r--r--mkspecs/features/qtestlib.prf4
-rw-r--r--mkspecs/features/qtopia.prf1
-rw-r--r--mkspecs/features/qtopiainc.prf1
-rw-r--r--mkspecs/features/qtopialib.prf2
-rw-r--r--mkspecs/features/qttest_p4.prf23
-rw-r--r--mkspecs/features/release.prf7
-rw-r--r--mkspecs/features/resources.prf29
-rw-r--r--mkspecs/features/shared.prf7
-rw-r--r--mkspecs/features/silent.prf6
-rw-r--r--mkspecs/features/static.prf14
-rw-r--r--mkspecs/features/static_and_shared.prf3
-rw-r--r--mkspecs/features/staticlib.prf1
-rw-r--r--mkspecs/features/symbian/add_mmp_rules.prf33
-rw-r--r--mkspecs/features/symbian/application_icon.prf87
-rw-r--r--mkspecs/features/symbian/armcc_warnings.prf22
-rw-r--r--mkspecs/features/symbian/data_caging_paths.prf80
-rw-r--r--mkspecs/features/symbian/debug.prf1
-rw-r--r--mkspecs/features/symbian/def_files.prf96
-rw-r--r--mkspecs/features/symbian/def_files_disabled.prf13
-rw-r--r--mkspecs/features/symbian/default_post.prf100
-rw-r--r--mkspecs/features/symbian/default_pre.prf2
-rw-r--r--mkspecs/features/symbian/do_not_build_as_thumb.prf13
-rw-r--r--mkspecs/features/symbian/epocallowdlldata.prf1
-rw-r--r--mkspecs/features/symbian/localize_deployment.prf118
-rw-r--r--mkspecs/features/symbian/moc.prf18
-rw-r--r--mkspecs/features/symbian/nested_exceptions.prf4
-rw-r--r--mkspecs/features/symbian/opengl.prf21
-rw-r--r--mkspecs/features/symbian/platform_paths.prf496
-rw-r--r--mkspecs/features/symbian/prepend_includepath.prf14
-rw-r--r--mkspecs/features/symbian/qt.prf13
-rw-r--r--mkspecs/features/symbian/qt_config.prf9
-rw-r--r--mkspecs/features/symbian/release.prf1
-rw-r--r--mkspecs/features/symbian/run_on_phone.prf40
-rw-r--r--mkspecs/features/symbian/sis_targets.prf226
-rw-r--r--mkspecs/features/symbian/stl.prf43
-rw-r--r--mkspecs/features/symbian/stl_off.prf2
-rw-r--r--mkspecs/features/symbian/symbian_building.prf369
-rw-r--r--mkspecs/features/symbian/thread.prf2
-rw-r--r--mkspecs/features/testcase.prf65
-rw-r--r--mkspecs/features/uic.prf117
-rw-r--r--mkspecs/features/uitools.prf14
-rw-r--r--mkspecs/features/unix/bsymbolic_functions.prf6
-rw-r--r--mkspecs/features/unix/dylib.prf1
-rw-r--r--mkspecs/features/unix/gdb_dwarf_index.prf15
-rw-r--r--mkspecs/features/unix/hide_symbols.prf4
-rw-r--r--mkspecs/features/unix/largefile.prf2
-rw-r--r--mkspecs/features/unix/opengl.prf17
-rw-r--r--mkspecs/features/unix/openvg.prf15
-rw-r--r--mkspecs/features/unix/separate_debug_info.prf18
-rw-r--r--mkspecs/features/unix/thread.prf14
-rw-r--r--mkspecs/features/unix/x11.prf1
-rw-r--r--mkspecs/features/unix/x11inc.prf3
-rw-r--r--mkspecs/features/unix/x11lib.prf2
-rw-r--r--mkspecs/features/unix/x11sm.prf2
-rw-r--r--mkspecs/features/use_c_linker.prf5
-rw-r--r--mkspecs/features/vxworks.prf64
-rw-r--r--mkspecs/features/warn_off.prf4
-rw-r--r--mkspecs/features/warn_on.prf5
-rw-r--r--mkspecs/features/win32/console.prf4
-rw-r--r--mkspecs/features/win32/default_post.prf11
-rw-r--r--mkspecs/features/win32/default_pre.prf3
-rw-r--r--mkspecs/features/win32/dumpcpp.prf11
-rw-r--r--mkspecs/features/win32/embed_manifest_dll.prf12
-rw-r--r--mkspecs/features/win32/embed_manifest_exe.prf12
-rw-r--r--mkspecs/features/win32/exceptions.prf5
-rw-r--r--mkspecs/features/win32/exceptions_off.prf5
-rw-r--r--mkspecs/features/win32/ltcg.prf5
-rw-r--r--mkspecs/features/win32/msvc_mp.prf2
-rw-r--r--mkspecs/features/win32/opengl.prf11
-rw-r--r--mkspecs/features/win32/openvg.prf7
-rw-r--r--mkspecs/features/win32/qaxcontainer.prf32
-rw-r--r--mkspecs/features/win32/qaxserver.prf59
-rw-r--r--mkspecs/features/win32/qt_dll.prf1
-rw-r--r--mkspecs/features/win32/rtti.prf3
-rw-r--r--mkspecs/features/win32/rtti_off.prf4
-rw-r--r--mkspecs/features/win32/stl.prf3
-rw-r--r--mkspecs/features/win32/stl_off.prf3
-rw-r--r--mkspecs/features/win32/thread.prf26
-rw-r--r--mkspecs/features/win32/thread_off.prf2
-rw-r--r--mkspecs/features/win32/windows.prf15
-rw-r--r--mkspecs/features/yacc.prf42
-rw-r--r--mkspecs/freebsd-g++/qmake.conf54
-rw-r--r--mkspecs/freebsd-g++/qplatformdefs.h108
-rw-r--r--mkspecs/freebsd-g++34/qmake.conf87
-rw-r--r--mkspecs/freebsd-g++34/qplatformdefs.h42
-rw-r--r--mkspecs/freebsd-g++40/qmake.conf87
-rw-r--r--mkspecs/freebsd-g++40/qplatformdefs.h42
-rw-r--r--mkspecs/freebsd-icc/qmake.conf110
-rw-r--r--mkspecs/freebsd-icc/qplatformdefs.h42
-rw-r--r--mkspecs/hpux-acc-64/qmake.conf131
-rw-r--r--mkspecs/hpux-acc-64/qplatformdefs.h89
-rw-r--r--mkspecs/hpux-acc-o64/qmake.conf129
-rw-r--r--mkspecs/hpux-acc-o64/qplatformdefs.h87
-rw-r--r--mkspecs/hpux-acc/qmake.conf110
-rw-r--r--mkspecs/hpux-acc/qplatformdefs.h98
-rw-r--r--mkspecs/hpux-g++-64/qmake.conf93
-rw-r--r--mkspecs/hpux-g++-64/qplatformdefs.h83
-rw-r--r--mkspecs/hpux-g++/qmake.conf93
-rw-r--r--mkspecs/hpux-g++/qplatformdefs.h94
-rw-r--r--mkspecs/hpuxi-acc-32/qmake.conf85
-rw-r--r--mkspecs/hpuxi-acc-32/qplatformdefs.h90
-rw-r--r--mkspecs/hpuxi-acc-64/qmake.conf128
-rw-r--r--mkspecs/hpuxi-acc-64/qplatformdefs.h90
-rw-r--r--mkspecs/hpuxi-g++-64/qmake.conf96
-rw-r--r--mkspecs/hpuxi-g++-64/qplatformdefs.h89
-rw-r--r--mkspecs/hurd-g++/qmake.conf90
-rw-r--r--mkspecs/hurd-g++/qplatformdefs.h92
-rw-r--r--mkspecs/irix-cc-64/qmake.conf120
-rw-r--r--mkspecs/irix-cc-64/qplatformdefs.h95
-rw-r--r--mkspecs/irix-cc/qmake.conf120
-rw-r--r--mkspecs/irix-cc/qplatformdefs.h95
-rw-r--r--mkspecs/irix-g++-64/qmake.conf93
-rw-r--r--mkspecs/irix-g++-64/qplatformdefs.h42
-rw-r--r--mkspecs/irix-g++/qmake.conf93
-rw-r--r--mkspecs/irix-g++/qplatformdefs.h102
-rw-r--r--mkspecs/linux-cxx/qmake.conf82
-rw-r--r--mkspecs/linux-cxx/qplatformdefs.h101
-rw-r--r--mkspecs/linux-ecc-64/qmake.conf89
-rw-r--r--mkspecs/linux-ecc-64/qplatformdefs.h101
-rw-r--r--mkspecs/linux-g++-32/qmake.conf18
-rw-r--r--mkspecs/linux-g++-32/qplatformdefs.h42
-rw-r--r--mkspecs/linux-g++-64/qmake.conf26
-rw-r--r--mkspecs/linux-g++-64/qplatformdefs.h42
-rw-r--r--mkspecs/linux-g++-maemo/qmake.conf28
-rw-r--r--mkspecs/linux-g++-maemo/qplatformdefs.h53
-rw-r--r--mkspecs/linux-g++/qmake.conf15
-rw-r--r--mkspecs/linux-g++/qplatformdefs.h100
-rw-r--r--mkspecs/linux-icc-32/qmake.conf10
-rw-r--r--mkspecs/linux-icc-32/qplatformdefs.h42
-rw-r--r--mkspecs/linux-icc-64/qmake.conf16
-rw-r--r--mkspecs/linux-icc-64/qplatformdefs.h42
-rw-r--r--mkspecs/linux-icc/qmake.conf111
-rw-r--r--mkspecs/linux-icc/qplatformdefs.h42
-rw-r--r--mkspecs/linux-kcc/qmake.conf98
-rw-r--r--mkspecs/linux-kcc/qplatformdefs.h104
-rw-r--r--mkspecs/linux-llvm/qmake.conf15
-rw-r--r--mkspecs/linux-llvm/qplatformdefs.h101
-rw-r--r--mkspecs/linux-lsb-g++/qmake.conf97
-rw-r--r--mkspecs/linux-lsb-g++/qplatformdefs.h112
-rw-r--r--mkspecs/linux-pgcc/qmake.conf87
-rw-r--r--mkspecs/linux-pgcc/qplatformdefs.h101
-rw-r--r--mkspecs/lynxos-g++/qmake.conf92
-rw-r--r--mkspecs/lynxos-g++/qplatformdefs.h93
-rw-r--r--mkspecs/macx-g++/Info.plist.app20
-rw-r--r--mkspecs/macx-g++/Info.plist.lib18
-rw-r--r--mkspecs/macx-g++/qmake.conf19
-rw-r--r--mkspecs/macx-g++/qplatformdefs.h43
-rw-r--r--mkspecs/macx-g++40/Info.plist.app20
-rw-r--r--mkspecs/macx-g++40/Info.plist.lib18
-rw-r--r--mkspecs/macx-g++40/qmake.conf28
-rw-r--r--mkspecs/macx-g++40/qplatformdefs.h43
-rw-r--r--mkspecs/macx-g++42/Info.plist.app20
-rw-r--r--mkspecs/macx-g++42/Info.plist.lib18
-rw-r--r--mkspecs/macx-g++42/qmake.conf28
-rw-r--r--mkspecs/macx-g++42/qplatformdefs.h43
-rw-r--r--mkspecs/macx-icc/qmake.conf82
-rw-r--r--mkspecs/macx-icc/qplatformdefs.h43
-rw-r--r--mkspecs/macx-llvm/Info.plist.app20
-rw-r--r--mkspecs/macx-llvm/Info.plist.lib18
-rw-r--r--mkspecs/macx-llvm/qmake.conf25
-rw-r--r--mkspecs/macx-llvm/qplatformdefs.h43
-rwxr-xr-xmkspecs/macx-pbuilder/Info.plist.app20
-rwxr-xr-xmkspecs/macx-pbuilder/qmake.conf7
-rw-r--r--mkspecs/macx-pbuilder/qplatformdefs.h94
-rwxr-xr-xmkspecs/macx-xcode/Info.plist.app20
-rw-r--r--mkspecs/macx-xcode/Info.plist.lib18
-rwxr-xr-xmkspecs/macx-xcode/qmake.conf32
-rw-r--r--mkspecs/macx-xcode/qplatformdefs.h43
-rw-r--r--mkspecs/macx-xlc/qmake.conf99
-rw-r--r--mkspecs/macx-xlc/qplatformdefs.h89
-rw-r--r--mkspecs/modules/README3
-rw-r--r--mkspecs/netbsd-g++/qmake.conf88
-rw-r--r--mkspecs/netbsd-g++/qplatformdefs.h95
-rw-r--r--mkspecs/openbsd-g++/qmake.conf89
-rw-r--r--mkspecs/openbsd-g++/qplatformdefs.h111
-rw-r--r--mkspecs/qws/freebsd-generic-g++/qmake.conf85
-rw-r--r--mkspecs/qws/freebsd-generic-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-arm-g++/qmake.conf21
-rw-r--r--mkspecs/qws/linux-arm-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf21
-rw-r--r--mkspecs/qws/linux-arm-gnueabi-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-armv6-g++/qmake.conf23
-rw-r--r--mkspecs/qws/linux-armv6-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-avr32-g++/qmake.conf21
-rw-r--r--mkspecs/qws/linux-avr32-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-cellon-g++/qmake.conf30
-rw-r--r--mkspecs/qws/linux-cellon-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-dm7000-g++/qmake.conf27
-rw-r--r--mkspecs/qws/linux-dm7000-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-dm800-g++/qmake.conf25
-rw-r--r--mkspecs/qws/linux-dm800-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-generic-g++-32/qmake.conf15
-rw-r--r--mkspecs/qws/linux-generic-g++-32/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-generic-g++/qmake.conf10
-rw-r--r--mkspecs/qws/linux-generic-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-ipaq-g++/qmake.conf22
-rw-r--r--mkspecs/qws/linux-ipaq-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-lsb-g++/qmake.conf24
-rw-r--r--mkspecs/qws/linux-lsb-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-mips-g++/qmake.conf23
-rw-r--r--mkspecs/qws/linux-mips-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-nacl-g++/qmake.conf29
-rw-r--r--mkspecs/qws/linux-nacl-g++/qplatformdefs.h69
-rw-r--r--mkspecs/qws/linux-powerpc-g++/qmake.conf21
-rw-r--r--mkspecs/qws/linux-powerpc-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-sh-g++/qmake.conf21
-rw-r--r--mkspecs/qws/linux-sh-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-sh4al-g++/qmake.conf24
-rw-r--r--mkspecs/qws/linux-sh4al-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-sharp-g++/qmake.conf24
-rw-r--r--mkspecs/qws/linux-sharp-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-x86-g++/qmake.conf10
-rw-r--r--mkspecs/qws/linux-x86-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-x86_64-g++/qmake.conf15
-rw-r--r--mkspecs/qws/linux-x86_64-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/linux-zylonite-g++/qmake.conf26
-rw-r--r--mkspecs/qws/linux-zylonite-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/macx-generic-g++/qmake.conf90
-rw-r--r--mkspecs/qws/macx-generic-g++/qplatformdefs.h42
-rw-r--r--mkspecs/qws/macx-iphonedevice-g++/Info.plist.lib18
-rw-r--r--mkspecs/qws/macx-iphonedevice-g++/qmake.conf48
-rw-r--r--mkspecs/qws/macx-iphonedevice-g++/qplatformdefs.h99
-rw-r--r--mkspecs/qws/macx-iphonesimulator-g++/Info.plist.lib18
-rw-r--r--mkspecs/qws/macx-iphonesimulator-g++/qmake.conf49
-rw-r--r--mkspecs/qws/macx-iphonesimulator-g++/qplatformdefs.h99
-rw-r--r--mkspecs/qws/macx-nacl-g++/qmake.conf29
-rw-r--r--mkspecs/qws/macx-nacl-g++/qplatformdefs.h68
-rw-r--r--mkspecs/qws/solaris-generic-g++/qmake.conf89
-rw-r--r--mkspecs/qws/solaris-generic-g++/qplatformdefs.h42
-rw-r--r--mkspecs/sco-cc/qmake.conf83
-rw-r--r--mkspecs/sco-cc/qplatformdefs.h87
-rw-r--r--mkspecs/sco-g++/qmake.conf84
-rw-r--r--mkspecs/sco-g++/qplatformdefs.h91
-rw-r--r--mkspecs/solaris-cc-64-stlport/qmake.conf8
-rw-r--r--mkspecs/solaris-cc-64-stlport/qplatformdefs.h42
-rw-r--r--mkspecs/solaris-cc-64/qmake.conf110
-rw-r--r--mkspecs/solaris-cc-64/qplatformdefs.h97
-rw-r--r--mkspecs/solaris-cc-stlport/qmake.conf8
-rw-r--r--mkspecs/solaris-cc-stlport/qplatformdefs.h42
-rw-r--r--mkspecs/solaris-cc/qmake.conf93
-rw-r--r--mkspecs/solaris-cc/qplatformdefs.h124
-rw-r--r--mkspecs/solaris-g++-64/qmake.conf112
-rw-r--r--mkspecs/solaris-g++-64/qplatformdefs.h106
-rw-r--r--mkspecs/solaris-g++/qmake.conf95
-rw-r--r--mkspecs/solaris-g++/qplatformdefs.h135
-rw-r--r--mkspecs/symbian-abld/qmake.conf10
-rw-r--r--mkspecs/symbian-abld/qplatformdefs.h43
-rw-r--r--mkspecs/symbian-armcc/features/default_post.prf5
-rw-r--r--mkspecs/symbian-armcc/qmake.conf59
-rw-r--r--mkspecs/symbian-armcc/qplatformdefs.h42
-rw-r--r--mkspecs/symbian-gcce/features/default_post.prf5
-rw-r--r--mkspecs/symbian-gcce/qmake.conf92
-rw-r--r--mkspecs/symbian-gcce/qplatformdefs.h43
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_clean.flm18
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm38
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm37
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm34
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm48
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qt.xml46
-rw-r--r--mkspecs/symbian-sbsv2/qmake.conf10
-rw-r--r--mkspecs/symbian-sbsv2/qplatformdefs.h43
-rw-r--r--mkspecs/tru64-cxx/qmake.conf84
-rw-r--r--mkspecs/tru64-cxx/qplatformdefs.h109
-rw-r--r--mkspecs/tru64-g++/qmake.conf86
-rw-r--r--mkspecs/tru64-g++/qplatformdefs.h109
-rw-r--r--mkspecs/unixware-cc/qmake.conf89
-rw-r--r--mkspecs/unixware-cc/qplatformdefs.h91
-rw-r--r--mkspecs/unixware-g++/qmake.conf88
-rw-r--r--mkspecs/unixware-g++/qplatformdefs.h91
-rw-r--r--mkspecs/unsupported/integrity-ghs/qmake.conf72
-rw-r--r--mkspecs/unsupported/integrity-ghs/qplatformdefs.h201
-rw-r--r--mkspecs/unsupported/linux-armcc/qmake.conf32
-rw-r--r--mkspecs/unsupported/linux-armcc/qplatformdefs.h100
-rw-r--r--mkspecs/unsupported/linux-clang/qmake.conf19
-rw-r--r--mkspecs/unsupported/linux-clang/qplatformdefs.h102
-rw-r--r--mkspecs/unsupported/linux-host-g++/qmake.conf135
-rw-r--r--mkspecs/unsupported/linux-host-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf36
-rw-r--r--mkspecs/unsupported/linux-scratchbox2-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/macx-clang/Info.plist.app20
-rw-r--r--mkspecs/unsupported/macx-clang/Info.plist.lib18
-rw-r--r--mkspecs/unsupported/macx-clang/qmake.conf21
-rw-r--r--mkspecs/unsupported/macx-clang/qplatformdefs.h97
-rw-r--r--mkspecs/unsupported/qnx-g++/qmake.conf61
-rw-r--r--mkspecs/unsupported/qnx-g++/qplatformdefs.h106
-rw-r--r--mkspecs/unsupported/qws/integrity-arm-cxarm/qmake.conf12
-rw-r--r--mkspecs/unsupported/qws/integrity-arm-cxarm/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/integrity-ppc-cxppc/qmake.conf12
-rw-r--r--mkspecs/unsupported/qws/integrity-ppc-cxppc/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/linux-x86-openkode-g++/qmake.conf23
-rw-r--r--mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-641/qmake.conf100
-rw-r--r--mkspecs/unsupported/qws/qnx-641/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf102
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf98
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf98
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf112
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qmake.conf39
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf111
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf39
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h75
-rw-r--r--mkspecs/unsupported/win32-g++-cross/qmake.conf101
-rw-r--r--mkspecs/unsupported/win32-g++-cross/qplatformdefs.h42
-rw-r--r--mkspecs/win32-borland/qmake.conf90
-rw-r--r--mkspecs/win32-borland/qplatformdefs.h210
-rw-r--r--mkspecs/win32-g++/qmake.conf109
-rw-r--r--mkspecs/win32-g++/qplatformdefs.h159
-rw-r--r--mkspecs/win32-icc/qmake.conf89
-rw-r--r--mkspecs/win32-icc/qplatformdefs.h149
-rw-r--r--mkspecs/win32-msvc2003/qmake.conf91
-rw-r--r--mkspecs/win32-msvc2003/qplatformdefs.h140
-rw-r--r--mkspecs/win32-msvc2005/qmake.conf95
-rw-r--r--mkspecs/win32-msvc2005/qplatformdefs.h142
-rw-r--r--mkspecs/win32-msvc2008/qmake.conf97
-rw-r--r--mkspecs/win32-msvc2008/qplatformdefs.h42
-rw-r--r--mkspecs/win32-msvc2010/qmake.conf97
-rw-r--r--mkspecs/win32-msvc2010/qplatformdefs.h42
-rw-r--r--mkspecs/wince50standard-armv4i-msvc2005/default_post.prf7
-rw-r--r--mkspecs/wince50standard-armv4i-msvc2005/qmake.conf23
-rw-r--r--mkspecs/wince50standard-armv4i-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-armv4i-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wince50standard-armv4i-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wince50standard-armv4i-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-mipsii-msvc2005/default_post.prf7
-rw-r--r--mkspecs/wince50standard-mipsii-msvc2005/qmake.conf24
-rw-r--r--mkspecs/wince50standard-mipsii-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-mipsii-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wince50standard-mipsii-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wince50standard-mipsii-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-mipsiv-msvc2005/qmake.conf24
-rw-r--r--mkspecs/wince50standard-mipsiv-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-mipsiv-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wince50standard-mipsiv-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-sh4-msvc2005/qmake.conf23
-rw-r--r--mkspecs/wince50standard-sh4-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-sh4-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wince50standard-sh4-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-x86-msvc2005/default_post.prf6
-rw-r--r--mkspecs/wince50standard-x86-msvc2005/qmake.conf21
-rw-r--r--mkspecs/wince50standard-x86-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wince50standard-x86-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wince50standard-x86-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wince50standard-x86-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wince60standard-armv4i-msvc2005/qmake.conf27
-rw-r--r--mkspecs/wince60standard-armv4i-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wince60standard-x86-msvc2005/qmake.conf27
-rw-r--r--mkspecs/wince60standard-x86-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm50pocket-msvc2005/default_post.prf7
-rw-r--r--mkspecs/wincewm50pocket-msvc2005/qmake.conf21
-rw-r--r--mkspecs/wincewm50pocket-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm50pocket-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wincewm50pocket-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wincewm50pocket-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm50smart-msvc2005/default_post.prf7
-rw-r--r--mkspecs/wincewm50smart-msvc2005/qmake.conf21
-rw-r--r--mkspecs/wincewm50smart-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm50smart-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wincewm50smart-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wincewm50smart-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm60professional-msvc2005/default_post.prf7
-rw-r--r--mkspecs/wincewm60professional-msvc2005/qmake.conf13
-rw-r--r--mkspecs/wincewm60professional-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm60professional-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wincewm60professional-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wincewm60professional-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm60standard-msvc2005/default_post.prf7
-rw-r--r--mkspecs/wincewm60standard-msvc2005/qmake.conf18
-rw-r--r--mkspecs/wincewm60standard-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm60standard-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wincewm60standard-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wincewm60standard-msvc2008/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm65professional-msvc2005/default_post.prf1
-rw-r--r--mkspecs/wincewm65professional-msvc2005/qmake.conf5
-rw-r--r--mkspecs/wincewm65professional-msvc2005/qplatformdefs.h43
-rw-r--r--mkspecs/wincewm65professional-msvc2008/default_post.prf1
-rw-r--r--mkspecs/wincewm65professional-msvc2008/qmake.conf3
-rw-r--r--mkspecs/wincewm65professional-msvc2008/qplatformdefs.h43
474 files changed, 22693 insertions, 0 deletions
diff --git a/mkspecs/aix-g++-64/qmake.conf b/mkspecs/aix-g++-64/qmake.conf
new file mode 100644
index 0000000000..b0179d5603
--- /dev/null
+++ b/mkspecs/aix-g++-64/qmake.conf
@@ -0,0 +1,87 @@
+#
+# qmake configuration for aix-g++-64
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -maix64
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_THREAD_SAFE
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS = -maix64
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME =
+QMAKE_LFLAGS_THREAD = -L/usr/lib/threads
+QMAKE_LFLAGS_NOUNDEF =
+QMAKE_AIX_SHLIB = 1
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthreads
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar -X64 cq
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB = ranlib -X64
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/aix-g++-64/qplatformdefs.h b/mkspecs/aix-g++-64/qplatformdefs.h
new file mode 100644
index 0000000000..87707e4d04
--- /dev/null
+++ b/mkspecs/aix-g++-64/qplatformdefs.h
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#include "../common/aix/qplatformdefs.h"
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/aix-g++/qmake.conf b/mkspecs/aix-g++/qmake.conf
new file mode 100644
index 0000000000..2e2e991f54
--- /dev/null
+++ b/mkspecs/aix-g++/qmake.conf
@@ -0,0 +1,87 @@
+#
+# qmake configuration for aix-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -mpowerpc
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_THREAD_SAFE
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME =
+QMAKE_LFLAGS_THREAD = -L/usr/lib/threads
+QMAKE_LFLAGS_NOUNDEF =
+QMAKE_AIX_SHLIB = 1
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthreads
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/aix-g++/qplatformdefs.h b/mkspecs/aix-g++/qplatformdefs.h
new file mode 100644
index 0000000000..87707e4d04
--- /dev/null
+++ b/mkspecs/aix-g++/qplatformdefs.h
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#include "../common/aix/qplatformdefs.h"
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/aix-xlc-64/qmake.conf b/mkspecs/aix-xlc-64/qmake.conf
new file mode 100644
index 0000000000..486b8c6f0f
--- /dev/null
+++ b/mkspecs/aix-xlc-64/qmake.conf
@@ -0,0 +1,86 @@
+#
+# qmake configuration for aix-xlc
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = xlc
+QMAKE_CC_THREAD = xlc_r
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -qstrict -q64
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = -O3
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -qthreaded
+
+QMAKE_CXX = xlC
+QMAKE_CXX_THREAD = xlC_r
+QMAKE_CXXFLAGS = -+ $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_COMPILER_DEFINES += __xlC__
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = xlC
+QMAKE_LINK_THREAD = xlC_r
+QMAKE_LINK_SHLIB = ld
+QMAKE_LFLAGS = -q64 -bbigtoc
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -qmkshrobj
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME =
+QMAKE_LFLAGS_THREAD = -L/usr/lib/threads
+QMAKE_AIX_SHLIB = 1
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthreads
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar -X64 cq
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB = ranlib -X64
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/aix-xlc-64/qplatformdefs.h b/mkspecs/aix-xlc-64/qplatformdefs.h
new file mode 100644
index 0000000000..87707e4d04
--- /dev/null
+++ b/mkspecs/aix-xlc-64/qplatformdefs.h
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#include "../common/aix/qplatformdefs.h"
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/aix-xlc/qmake.conf b/mkspecs/aix-xlc/qmake.conf
new file mode 100644
index 0000000000..8655db6d82
--- /dev/null
+++ b/mkspecs/aix-xlc/qmake.conf
@@ -0,0 +1,87 @@
+#
+# qmake configuration for aix-xlc
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = xlc
+QMAKE_CC_THREAD = xlc_r
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -qstrict
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = -O3
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -qthreaded
+
+QMAKE_CXX = xlC
+QMAKE_CXX_THREAD = xlC_r
+QMAKE_CXXFLAGS = -+ $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_COMPILER_DEFINES += __xlC__
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = xlC
+QMAKE_LINK_THREAD = xlC_r
+QMAKE_LINK_SHLIB = ld
+QMAKE_LFLAGS = -bmaxdata:0x80000000
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -qmkshrobj
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME =
+QMAKE_LFLAGS_THREAD = -L/usr/lib/threads
+QMAKE_LFLAGS_NOUNDEF =
+QMAKE_AIX_SHLIB = 1
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthreads
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cq
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB = ranlib
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/aix-xlc/qplatformdefs.h b/mkspecs/aix-xlc/qplatformdefs.h
new file mode 100644
index 0000000000..87707e4d04
--- /dev/null
+++ b/mkspecs/aix-xlc/qplatformdefs.h
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#include "../common/aix/qplatformdefs.h"
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/common/aix/qplatformdefs.h b/mkspecs/common/aix/qplatformdefs.h
new file mode 100644
index 0000000000..75e124b5f3
--- /dev/null
+++ b/mkspecs/common/aix/qplatformdefs.h
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef Q_AIX_QPLATFORMDEFS_H
+#define Q_AIX_QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+// uncomment if you have problems with <sys/proc.h> because your gcc
+// hasn't been built on exactly the same OS version your are using now.
+// typedef int crid_t;
+// typedef unsigned int class_id_t;
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+#include <strings.h> // AIX X11 headers define FD_ZERO using bzero()
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/select.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+// Only AIX 4.3 and better support 64-bit
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#ifdef _AIX43
+// AIX 4.3 and better
+#define QT_SOCKLEN_T socklen_t
+#elif _AIX42
+// AIX 4.2
+#define QT_SOCKLEN_T size_t
+#else
+// AIX 4.1
+#define QT_SOCKLEN_T size_t
+// override
+#define QT_SOCKOPTLEN_T int
+#endif
+
+#ifdef QT_LARGEFILE_SUPPORT
+#undef QT_DIR
+#undef QT_OPENDIR
+#undef QT_CLOSEDIR
+
+#define QT_DIR DIR64
+#define QT_OPENDIR ::opendir64
+#define QT_CLOSEDIR ::closedir64
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500)
+// AIX 4.3 and better
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // include guard
diff --git a/mkspecs/common/armcc.conf b/mkspecs/common/armcc.conf
new file mode 100644
index 0000000000..4f178d745e
--- /dev/null
+++ b/mkspecs/common/armcc.conf
@@ -0,0 +1,42 @@
+#
+# qmake configuration for armcc
+#
+
+CONFIG += rvct_linker
+QMAKE_CC = armcc
+QMAKE_CFLAGS +=
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON +=
+QMAKE_CFLAGS_WARN_OFF += -W
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g -O0
+QMAKE_CFLAGS_HIDESYMS += --visibility_inlines_hidden
+
+QMAKE_CXX = armcc
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS --exceptions --exceptions_unwind
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS
+
+QMAKE_LINK = armlink
+QMAKE_LINK_SHLIB = armlink
+QMAKE_LINK_C = armlink
+QMAKE_LINK_C_SHLIB = armlink
+QMAKE_LFLAGS +=
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB +=
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_THREAD +=
+
+QMAKE_AR = armar --create
+QMAKE_LIB = armar --create
+QMAKE_RANLIB =
+
diff --git a/mkspecs/common/c89/qplatformdefs.h b/mkspecs/common/c89/qplatformdefs.h
new file mode 100644
index 0000000000..46665d4fc3
--- /dev/null
+++ b/mkspecs/common/c89/qplatformdefs.h
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef Q_C89_QPLATFORMDEFS_H
+#define Q_C89_QPLATFORMDEFS_H
+
+// #include <stdio.h>
+
+#define QT_FPOS_T fpos_t
+#define QT_OFF_T long
+
+#define QT_FOPEN ::fopen
+#define QT_FSEEK ::fseek
+#define QT_FTELL ::ftell
+#define QT_FGETPOS ::fgetpos
+#define QT_FSETPOS ::fsetpos
+
+#endif // include guard
diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf
new file mode 100644
index 0000000000..069cdfafec
--- /dev/null
+++ b/mkspecs/common/clang.conf
@@ -0,0 +1,17 @@
+#
+# Qmake configuration for Clang on Linux and Mac
+#
+
+QMAKE_CC = clang
+QMAKE_CXX = clang++
+
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+
+CONFIG += clang_pch_style
+QMAKE_PCH_OUTPUT_EXT = .pch
+
+QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
diff --git a/mkspecs/common/g++-base.conf b/mkspecs/common/g++-base.conf
new file mode 100644
index 0000000000..eb5b7d6188
--- /dev/null
+++ b/mkspecs/common/g++-base.conf
@@ -0,0 +1,30 @@
+#
+# Qmake configuration for the GNU C++ compiler
+#
+# Before making changes to this file, please read the comment in
+# gcc-base.conf, to make sure the change goes in the right place.
+#
+# To verify that your change has the desired effect on the final configuration
+# you can use the manual test in tests/manual/mkspecs.
+#
+
+QMAKE_CC = gcc
+
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB = $$QMAKE_CC
+
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g
+
+QMAKE_CXX = g++
+
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf
new file mode 100644
index 0000000000..22511573c1
--- /dev/null
+++ b/mkspecs/common/g++-macx.conf
@@ -0,0 +1,32 @@
+#
+# Qmake configuration for the GNU C++ compiler on Mac OS X
+#
+# Before making changes to this file, please read the comment in
+# gcc-base.conf, to make sure the change goes in the right place.
+#
+# To verify that your change has the desired effect on the final configuration
+# you can use the manual test in tests/manual/mkspecs.
+#
+
+include(g++-base.conf)
+
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g $$QMAKE_CFLAGS_DWARF2
+
+QMAKE_LFLAGS_STATIC_LIB += -all_load
+
+QMAKE_CFLAGS_X86_64 += -Xarch_x86_64 -mmacosx-version-min=10.5
+QMAKE_CFLAGS_PPC_64 += -Xarch_ppc64 -mmacosx-version-min=10.5
+
+QMAKE_CXXFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64
+QMAKE_CXXFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64
+QMAKE_OBJECTIVE_CFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64
+QMAKE_OBJECTIVE_CFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64
+QMAKE_LFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64
+QMAKE_LFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64
+
+QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+QMAKE_OBJCXXFLAGS_PRECOMPILE = -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
diff --git a/mkspecs/common/g++-unix.conf b/mkspecs/common/g++-unix.conf
new file mode 100644
index 0000000000..96e301e8fa
--- /dev/null
+++ b/mkspecs/common/g++-unix.conf
@@ -0,0 +1,14 @@
+#
+# Qmake configuration for the GNU C++ compiler on *nix-systems
+#
+# Before making changes to this file, please read the comment in
+# gcc-base.conf, to make sure the change goes in the right place.
+#
+# To verify that your change has the desired effect on the final configuration
+# you can use the manual test in tests/manual/mkspecs.
+#
+
+include(g++-base.conf)
+
+QMAKE_LFLAGS_RELEASE += -Wl,-O1
+QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf
new file mode 100644
index 0000000000..c5a34a9db3
--- /dev/null
+++ b/mkspecs/common/g++.conf
@@ -0,0 +1,12 @@
+#
+# Notice: g++.conf has been split into g++-base.conf and g++-unix.conf
+#
+# This file will make sure that anyone who's still including g++.conf
+# directly will get a warning and an explanation of how to fix their mkspec
+#
+
+warning($$escape_expand("Your mkspec is including 'common/g++.conf', but the mkspecs have been refactored\\n\\tTo fix this include 'common/gcc-base-$${TARGET_PLATFORM}.conf and 'common/g++-$${TARGET_PLATFORM}.conf' instead"))
+
+# We include gcc-base-unix.conf and g++-unix.conf to keep the behavior of the old g++.conf
+include(gcc-base-unix.conf)
+include(g++-unix.conf)
diff --git a/mkspecs/common/gcc-base-macx.conf b/mkspecs/common/gcc-base-macx.conf
new file mode 100644
index 0000000000..2894f86fdd
--- /dev/null
+++ b/mkspecs/common/gcc-base-macx.conf
@@ -0,0 +1,50 @@
+#
+# Base qmake configuration for GCC on Mac OS X
+#
+# Before making changes to this file, please read the comment in
+# gcc-base.conf, to make sure the change goes in the right place.
+#
+# To verify that your change has the desired effect on the final configuration
+# you can use the manual test in tests/manual/mkspecs.
+#
+
+include(gcc-base.conf)
+
+QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__
+
+QMAKE_CFLAGS_X86 += -arch i386
+QMAKE_CFLAGS_X86_64 += -arch x86_64
+QMAKE_CFLAGS_PPC += -arch ppc
+QMAKE_CFLAGS_PPC_64 += -arch ppc64
+QMAKE_CFLAGS_DWARF2 += -gdwarf-2
+
+QMAKE_CXXFLAGS_X86 += $$QMAKE_CFLAGS_X86
+QMAKE_CXXFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64
+QMAKE_CXXFLAGS_PPC += $$QMAKE_CFLAGS_PPC
+QMAKE_CXXFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64
+QMAKE_CXXFLAGS_DWARF2 += $$QMAKE_CFLAGS_DWARF2
+
+QMAKE_OBJECTIVE_CFLAGS = $$QMAKE_CFLAGS
+QMAKE_OBJECTIVE_CFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_OBJECTIVE_CFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_OBJECTIVE_CFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_OBJECTIVE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_OBJECTIVE_CFLAGS_HIDESYMS = $$QMAKE_CXXFLAGS_HIDESYMS
+QMAKE_OBJECTIVE_CFLAGS_X86 = $$QMAKE_CFLAGS_X86
+QMAKE_OBJECTIVE_CFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64
+QMAKE_OBJECTIVE_CFLAGS_PPC = $$QMAKE_CFLAGS_PPC
+QMAKE_OBJECTIVE_CFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64
+
+QMAKE_LFLAGS_X86 += $$QMAKE_CFLAGS_X86
+QMAKE_LFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64
+QMAKE_LFLAGS_PPC += $$QMAKE_CFLAGS_PPC
+QMAKE_LFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64
+
+QMAKE_LFLAGS += -headerpad_max_install_names
+QMAKE_LFLAGS_SHLIB += -single_module -dynamiclib
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_INCREMENTAL += -undefined suppress -flat_namespace
+QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE}
+QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE}
+QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE}
+
diff --git a/mkspecs/common/gcc-base-unix.conf b/mkspecs/common/gcc-base-unix.conf
new file mode 100644
index 0000000000..dc8d7e42cd
--- /dev/null
+++ b/mkspecs/common/gcc-base-unix.conf
@@ -0,0 +1,21 @@
+#
+# Base qmake configuration for GCC on *nix-systems
+#
+# Before making changes to this file, please read the comment in
+# gcc-base.conf, to make sure the change goes in the right place.
+#
+# To verify that your change has the desired effect on the final configuration
+# you can use the manual test in tests/manual/mkspecs.
+#
+
+include(gcc-base.conf)
+
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
new file mode 100644
index 0000000000..0e90666350
--- /dev/null
+++ b/mkspecs/common/gcc-base.conf
@@ -0,0 +1,60 @@
+#
+# This file is used as a basis for the following compilers:
+#
+# - The GNU C++ compiler (g++)
+# - LLVM
+# - Clang
+#
+# Platform-specific options shared by these compilers are put into:
+#
+# - gcc-base-macx.conf
+# - gcc-base-unix.conf
+#
+# These base files are then combined with configurations for each compiler:
+#
+# - g++-base.conf
+# - g++-macx.conf
+# - g++-unix.conf
+# - llvm.conf
+# - clang.conf
+#
+# The combination happens in the top level mkspec, by including a platform-
+# specific version of the base-file, for example gcc-base-macx.conf, and then
+# a (possibly platform-specific) version of the actual compiler configuration,
+# for example g++-macx.conf.
+#
+# If you are making changes to any of these files, please consider the
+# possible effect it may have due to these include-rules, and whether it
+# might make more sense to share the rule or make it more specific.
+#
+# To verify that your change has the desired effect on the final configuration
+# you can use the manual test in tests/manual/mkspecs.
+#
+
+QMAKE_CFLAGS += -pipe
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+QMAKE_LFLAGS +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_RELEASE +=
+
diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
new file mode 100644
index 0000000000..d60533e923
--- /dev/null
+++ b/mkspecs/common/linux.conf
@@ -0,0 +1,67 @@
+#
+# qmake configuration for common linux
+#
+
+QMAKE_CFLAGS_THREAD += -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_EGL =
+QMAKE_LIBDIR_EGL =
+QMAKE_INCDIR_OPENVG =
+QMAKE_LIBDIR_OPENVG =
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_EGL = -lEGL
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
+QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
+QMAKE_LIBS_OPENVG = -lOpenVG
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_CFLAGS_WAYLAND =
+QMAKE_INCDIR_WAYLAND =
+QMAKE_LIBS_WAYLAND =
+QMAKE_LIBDIR_WAYLAND =
+QMAKE_DEFINES_WAYLAND =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_INSTALL_FILE = install -m 644 -p
+QMAKE_INSTALL_PROGRAM = install -m 755 -p
+
+include(unix.conf)
diff --git a/mkspecs/common/llvm.conf b/mkspecs/common/llvm.conf
new file mode 100644
index 0000000000..86e0ab440f
--- /dev/null
+++ b/mkspecs/common/llvm.conf
@@ -0,0 +1,16 @@
+#
+# Qmake configuration for LLVM on Linux and Mac
+#
+
+QMAKE_CC = llvm-gcc
+QMAKE_CXX = llvm-g++
+
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE \ No newline at end of file
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
new file mode 100644
index 0000000000..96cd2399b3
--- /dev/null
+++ b/mkspecs/common/mac.conf
@@ -0,0 +1,44 @@
+#
+# qmake configuration for common Mac OS X
+#
+
+QMAKE_RESOURCE = /Developer/Tools/Rez
+
+QMAKE_EXTENSION_SHLIB = dylib
+
+QMAKE_LIBDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /System/Library/Frameworks/OpenGL.framework/Headers \
+ /System/Library/Frameworks/AGL.framework/Headers/
+
+QMAKE_FIX_RPATH = install_name_tool -id
+
+QMAKE_LFLAGS_RPATH =
+
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL
+QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cq
+QMAKE_RANLIB = ranlib -s
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $$QMAKE_COPY
+QMAKE_COPY_DIR = $$QMAKE_COPY -R
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 # overridden to 10.5 for Cocoa on the compiler command line
+
+
+include(unix.conf)
diff --git a/mkspecs/common/mac/qplatformdefs.h b/mkspecs/common/mac/qplatformdefs.h
new file mode 100644
index 0000000000..114a1a3101
--- /dev/null
+++ b/mkspecs/common/mac/qplatformdefs.h
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#define QT_NO_LIBRARY_UNLOAD
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+#undef QT_SIGNAL_IGNORE
+
+#define QT_OPEN_LARGEFILE 0
+
+#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#define QT_SIGNAL_IGNORE (void (*)(int))1
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/common/posix/qplatformdefs.h b/mkspecs/common/posix/qplatformdefs.h
new file mode 100644
index 0000000000..60bc0412bc
--- /dev/null
+++ b/mkspecs/common/posix/qplatformdefs.h
@@ -0,0 +1,164 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef Q_POSIX_QPLATFORMDEFS_H
+#define Q_POSIX_QPLATFORMDEFS_H
+
+#include <signal.h>
+
+#include <sys/types.h>
+#ifndef QT_NO_SOCKET_H
+# include <sys/socket.h>
+#endif
+#include <sys/stat.h>
+
+#if defined(QT_USE_XOPEN_LFS_EXTENSIONS) && defined(QT_LARGEFILE_SUPPORT)
+
+#define QT_STATBUF struct stat64
+#define QT_FPOS_T fpos64_t
+#define QT_OFF_T off64_t
+
+#define QT_STAT ::stat64
+#define QT_LSTAT ::lstat64
+#define QT_TRUNCATE ::truncate64
+
+// File I/O
+#define QT_OPEN ::open64
+#define QT_LSEEK ::lseek64
+#define QT_FSTAT ::fstat64
+#define QT_FTRUNCATE ::ftruncate64
+
+// Standard C89
+#define QT_FOPEN ::fopen64
+#define QT_FSEEK ::fseeko64
+#define QT_FTELL ::ftello64
+#define QT_FGETPOS ::fgetpos64
+#define QT_FSETPOS ::fsetpos64
+
+#define QT_MMAP ::mmap64
+
+#else // !defined(QT_USE_XOPEN_LFS_EXTENSIONS) || !defined(QT_LARGEFILE_SUPPORT)
+
+#include "../c89/qplatformdefs.h"
+
+#define QT_STATBUF struct stat
+
+#define QT_STAT ::stat
+#define QT_LSTAT ::lstat
+#define QT_TRUNCATE ::truncate
+
+// File I/O
+#define QT_OPEN ::open
+#define QT_LSEEK ::lseek
+#define QT_FSTAT ::fstat
+#define QT_FTRUNCATE ::ftruncate
+
+// Posix extensions to C89
+#if !defined(QT_USE_XOPEN_LFS_EXTENSIONS) && !defined(QT_NO_USE_FSEEKO)
+#undef QT_OFF_T
+#undef QT_FSEEK
+#undef QT_FTELL
+
+#define QT_OFF_T off_t
+
+#define QT_FSEEK ::fseeko
+#define QT_FTELL ::ftello
+#endif
+
+#define QT_MMAP ::mmap
+
+#endif // !defined (QT_USE_XOPEN_LFS_EXTENSIONS) || !defined(QT_LARGEFILE_SUPPORT)
+
+#define QT_STAT_MASK S_IFMT
+#define QT_STAT_REG S_IFREG
+#define QT_STAT_DIR S_IFDIR
+#define QT_STAT_LNK S_IFLNK
+
+#define QT_ACCESS ::access
+#define QT_GETCWD ::getcwd
+#define QT_CHDIR ::chdir
+#define QT_MKDIR ::mkdir
+#define QT_RMDIR ::rmdir
+
+// File I/O
+#define QT_CLOSE ::close
+#define QT_READ ::read
+#define QT_WRITE ::write
+
+#define QT_OPEN_LARGEFILE O_LARGEFILE
+#define QT_OPEN_RDONLY O_RDONLY
+#define QT_OPEN_WRONLY O_WRONLY
+#define QT_OPEN_RDWR O_RDWR
+#define QT_OPEN_CREAT O_CREAT
+#define QT_OPEN_TRUNC O_TRUNC
+#define QT_OPEN_APPEND O_APPEND
+
+// Posix extensions to C89
+#define QT_FILENO fileno
+
+// Directory iteration
+#define QT_DIR DIR
+
+#define QT_OPENDIR ::opendir
+#define QT_CLOSEDIR ::closedir
+
+#if defined(QT_LARGEFILE_SUPPORT) \
+ && defined(QT_USE_XOPEN_LFS_EXTENSIONS) \
+ && !defined(QT_NO_READDIR64)
+#define QT_DIRENT struct dirent64
+#define QT_READDIR ::readdir64
+#define QT_READDIR_R ::readdir64_r
+#else
+#define QT_DIRENT struct dirent
+#define QT_READDIR ::readdir
+#define QT_READDIR_R ::readdir_r
+#endif
+
+#define QT_SOCKLEN_T socklen_t
+
+#define QT_SOCKET_CONNECT ::connect
+#define QT_SOCKET_BIND ::bind
+
+#define QT_SIGNAL_RETTYPE void
+#define QT_SIGNAL_ARGS int
+#define QT_SIGNAL_IGNORE SIG_IGN
+
+#endif // include guard
diff --git a/mkspecs/common/qws.conf b/mkspecs/common/qws.conf
new file mode 100644
index 0000000000..59820b8083
--- /dev/null
+++ b/mkspecs/common/qws.conf
@@ -0,0 +1,22 @@
+#
+# qmake configuration common for QWS
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+# modifications to linux.conf
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+QMAKE_INCDIR_OPENGL_ES1 =
+QMAKE_LIBDIR_OPENGL_ES1 =
+QMAKE_INCDIR_OPENGL_ES2 =
+QMAKE_LIBDIR_OPENGL_ES2 =
+QMAKE_LIBS_X11 =
+QMAKE_LIBS_X11SM =
diff --git a/mkspecs/common/symbian/appCaptionForTranslation.cpp b/mkspecs/common/symbian/appCaptionForTranslation.cpp
new file mode 100644
index 0000000000..cbab586884
--- /dev/null
+++ b/mkspecs/common/symbian/appCaptionForTranslation.cpp
@@ -0,0 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//: Application short caption, currently only relevant for application projects in Symbian.
+QT_TRANSLATE_NOOP("QtApplicationCaptions", "Application short caption")
+
+//: Application long caption, currently only relevant for application projects in Symbian.
+QT_TRANSLATE_NOOP("QtApplicationCaptions", "Application long caption")
diff --git a/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h b/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h
new file mode 100644
index 0000000000..d53605e56e
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h
@@ -0,0 +1 @@
+#include <aknbitmapanimation.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknDoc.h b/mkspecs/common/symbian/header-wrappers/AknDoc.h
new file mode 100644
index 0000000000..d4dbd7d373
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknDoc.h
@@ -0,0 +1 @@
+#include <akndoc.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknFontAccess.h b/mkspecs/common/symbian/header-wrappers/AknFontAccess.h
new file mode 100644
index 0000000000..e33baafc9c
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknFontAccess.h
@@ -0,0 +1 @@
+#include <aknfontaccess.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h b/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h
new file mode 100644
index 0000000000..5f993d7ecd
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h
@@ -0,0 +1 @@
+#include <akninputlanguageinfo.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknLayoutFont.h b/mkspecs/common/symbian/header-wrappers/AknLayoutFont.h
new file mode 100644
index 0000000000..b5954e175b
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknLayoutFont.h
@@ -0,0 +1,2 @@
+#include <aknlayoutfont.h>
+
diff --git a/mkspecs/common/symbian/header-wrappers/AknPopupFader.h b/mkspecs/common/symbian/header-wrappers/AknPopupFader.h
new file mode 100644
index 0000000000..60a007a3f2
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknPopupFader.h
@@ -0,0 +1 @@
+#include <aknpopupfader.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknServerApp.h b/mkspecs/common/symbian/header-wrappers/AknServerApp.h
new file mode 100644
index 0000000000..b4dc69f019
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknServerApp.h
@@ -0,0 +1 @@
+#include <aknserverapp.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknUtils.h b/mkspecs/common/symbian/header-wrappers/AknUtils.h
new file mode 100644
index 0000000000..66a3784979
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknUtils.h
@@ -0,0 +1 @@
+#include <aknutils.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknsBasicBackgroundControlContext.h b/mkspecs/common/symbian/header-wrappers/AknsBasicBackgroundControlContext.h
new file mode 100644
index 0000000000..d12112287c
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknsBasicBackgroundControlContext.h
@@ -0,0 +1 @@
+#include <aknsbasicbackgroundcontrolcontext.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknsConstants.h b/mkspecs/common/symbian/header-wrappers/AknsConstants.h
new file mode 100644
index 0000000000..c262866525
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknsConstants.h
@@ -0,0 +1 @@
+#include <aknsconstants.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknsDrawUtils.h b/mkspecs/common/symbian/header-wrappers/AknsDrawUtils.h
new file mode 100644
index 0000000000..7d71624537
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknsDrawUtils.h
@@ -0,0 +1 @@
+#include <aknsdrawutils.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknsItemID.h b/mkspecs/common/symbian/header-wrappers/AknsItemID.h
new file mode 100644
index 0000000000..fe3b80eac2
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknsItemID.h
@@ -0,0 +1 @@
+#include <aknsitemid.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknsSkinInstance.h b/mkspecs/common/symbian/header-wrappers/AknsSkinInstance.h
new file mode 100644
index 0000000000..4a9dcd882e
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknsSkinInstance.h
@@ -0,0 +1 @@
+#include <aknsskininstance.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknsUtils.h b/mkspecs/common/symbian/header-wrappers/AknsUtils.h
new file mode 100644
index 0000000000..1b9bece55a
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknsUtils.h
@@ -0,0 +1 @@
+#include <aknsutils.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h b/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h
new file mode 100644
index 0000000000..75b6c693cd
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h
@@ -0,0 +1 @@
+#include <apaccesspointitem.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApDataHandler.h b/mkspecs/common/symbian/header-wrappers/ApDataHandler.h
new file mode 100644
index 0000000000..b7b972dab7
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApDataHandler.h
@@ -0,0 +1 @@
+#include <apdatahandler.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApUtils.h b/mkspecs/common/symbian/header-wrappers/ApUtils.h
new file mode 100644
index 0000000000..09cedce751
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApUtils.h
@@ -0,0 +1 @@
+#include <aputils.h>
diff --git a/mkspecs/common/symbian/header-wrappers/CDirectoryLocalizer.h b/mkspecs/common/symbian/header-wrappers/CDirectoryLocalizer.h
new file mode 100644
index 0000000000..f251302bcf
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/CDirectoryLocalizer.h
@@ -0,0 +1 @@
+#include <cdirectorylocalizer.h>
diff --git a/mkspecs/common/symbian/header-wrappers/DocumentHandler.h b/mkspecs/common/symbian/header-wrappers/DocumentHandler.h
new file mode 100644
index 0000000000..8981af6cef
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/DocumentHandler.h
@@ -0,0 +1 @@
+#include <documenthandler.h>
diff --git a/mkspecs/common/symbian/packageNameForTranslation.cpp b/mkspecs/common/symbian/packageNameForTranslation.cpp
new file mode 100644
index 0000000000..dece534895
--- /dev/null
+++ b/mkspecs/common/symbian/packageNameForTranslation.cpp
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//: Installation package name, currently only relevant for Symbian projects that deploy something.
+QT_TRANSLATE_NOOP("QtPackageNames", "Package name")
+
+//: Smart installer installation package name, currently only relevant for Symbian projects that
+//: deploy something.
+QT_TRANSLATE_NOOP("QtPackageNames", "Smart installer package name")
diff --git a/mkspecs/common/symbian/qplatformdefs.h b/mkspecs/common/symbian/qplatformdefs.h
new file mode 100644
index 0000000000..31d34eff97
--- /dev/null
+++ b/mkspecs/common/symbian/qplatformdefs.h
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+//#include <features.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+//#include <signal.h>
+#include <dlfcn.h>
+#include <sys/select.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+#include <arpa/inet.h>
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+// unset large file as symbian doesn't support it
+#undef QT_LARGEFILE_SUPPORT
+#include "../posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+
+#if (defined(__GLIBC__) && (__GLIBC__ >= 2)) || defined(Q_OS_SYMBIAN)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(__ISO_C_VISIBLE) && (__ISO_C_VISIBLE >= 1999)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/common/symbian/stl-off/new b/mkspecs/common/symbian/stl-off/new
new file mode 100644
index 0000000000..8584ba36b4
--- /dev/null
+++ b/mkspecs/common/symbian/stl-off/new
@@ -0,0 +1,5 @@
+// 'new' implemented in symbian libs, so do nothing here; just keep Qt happy
+#ifndef __NEW_SYMB_ADDON
+#define __NEW_SYMB_ADDON
+#include <e32base.h>
+#endif //__NEW_SYMB_ADDON
diff --git a/mkspecs/common/symbian/symbian-makefile.conf b/mkspecs/common/symbian/symbian-makefile.conf
new file mode 100644
index 0000000000..a725df3553
--- /dev/null
+++ b/mkspecs/common/symbian/symbian-makefile.conf
@@ -0,0 +1,72 @@
+#
+# qmake configuration for makefile based symbian
+#
+
+contains(QMAKE_HOST.os,Windows) {
+ MAKEFILE_GENERATOR = SYMBIAN_MINGW
+} else {
+ MAKEFILE_GENERATOR = SYMBIAN_UNIX
+}
+
+include(symbian.conf)
+
+QMAKE_INCDIR_OPENGL = $${EPOCROOT}epoc32/include
+QMAKE_LIBDIR_OPENGL = $${EPOCROOT}epoc32/release/armv5/lib
+QMAKE_INCDIR_OPENGL_ES1 = $${EPOCROOT}epoc32/include/GLES
+QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENGL_ES2 = $${EPOCROOT}epoc32/include/GLES2
+QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_EGL = $${EPOCROOT}epoc32/include/EGL
+QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENVG = $${EPOCROOT}epoc32/include/VG
+QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL
+
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+QMAKE_ELF2E32_FLAGS = --dlldata \
+ --fpu=softvfp \
+ --unfrozen \
+ --compressionmethod bytepair \
+ --unpaged
+
+QMAKE_PREFIX_SHLIB =
+CONFIG *= no_plugin_name_prefix
+QMAKE_PREFIX_STATICLIB =
+QMAKE_SYMBIAN_SHLIB = 1
+
+QMAKE_LINK_OBJECT_SCRIPT = objects
+
+is_using_gnupoc {
+ DEFINES *= __QT_PRODUCT_INCLUDE_IS_LOWERCASE__
+}
+QMAKE_SYMBIAN_INCLUDES = $$IN_PWD/symbianincludes.h
+symbian-armcc {
+ QMAKE_CFLAGS += --preinclude $$QMAKE_SYMBIAN_INCLUDES
+ QMAKE_CXXFLAGS += --preinclude $$QMAKE_SYMBIAN_INCLUDES
+} else:symbian-gcce {
+ QMAKE_CFLAGS += -include $$QMAKE_SYMBIAN_INCLUDES
+ QMAKE_CXXFLAGS += -include $$QMAKE_SYMBIAN_INCLUDES
+}
+DEFINES *= \
+ __SYMBIAN32__ \
+ __MARM_INTERWORK__ \
+ _UNICODE \
+ __S60_50__ \
+ __S60_3X__ \
+ __SERIES60_3X__ \
+ __EPOC32__ \
+ __MARM__ \
+ __EABI__ \
+ __MARM_ARMV5__ \
+ __SUPPORT_CPP_EXCEPTIONS__
+
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CXXFLAGS_DEBUG += -g
+QMAKE_CFLAGS_RELEASE += -O2 -Otime
+QMAKE_CXXFLAGS_RELEASE += -O2 -Otime
+
diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
new file mode 100644
index 0000000000..8ed326ae3f
--- /dev/null
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -0,0 +1,60 @@
+#
+# qmake configuration for symbian-*
+#
+
+include(symbian.conf)
+
+load(symbian/add_mmp_rules)
+
+symbian-abld {
+# Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it
+# Rather than figure out which version of abld we're using, we'll replace the command with a macro *that should never be used*
+ MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE"
+} else {
+ MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
+}
+MMP_RULES += BYTEPAIRCOMPRESSTARGET
+MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
+SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6
+
+INCLUDEPATH = \
+ $$[QT_INSTALL_DATA]/mkspecs/common/symbian/stl-off \
+ $$[QT_INSTALL_DATA]/mkspecs/common/symbian \
+ $${EPOCROOT}epoc32/include \
+ $$OS_LAYER_LIBC_SYSTEMINCLUDE \
+ $$INCLUDEPATH
+
+# Ensure '.' directory is the first in include path.
+# RVCT seems to do this automatically, but WINSCW compiler does not, so add it here.
+MMP_RULES += "USERINCLUDE ."
+
+# S60 3.1 devices don't support paging for non-ROM components, so no point in using the less efficient compression mechanism
+contains(S60_VERSION, 3.1):MMP_RULES -= BYTEPAIRCOMPRESSTARGET
+
+QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast
+# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE =
+
+symbian {
+ armfpu = $$find(MMP_RULES, "ARMFPU")
+ !isEmpty(armfpu) {
+ vfpv2 = $$find(MMP_RULES, "vfpv2")
+ !isEmpty(vfpv2) {
+ # we will respect fpu setting obtained from configure, but,
+ # if vfpv2 or softvfp+vfpv2 used we want to force RunFast VFP mode
+ QMAKE_CXXFLAGS.ARMCC += $${QMAKE_CXXFLAGS_FAST_VFP.ARMCC}
+ # [TODO] QMAKE_CXXFLAGS.GCCE += $${QMAKE_CXXFLAGS_FAST_VFP.GCCE}
+ }
+ }
+}
+
+# Variables for replacing equivalent QMAKE_* variables in bld.inf for FLM execution of commands
+symbian-sbsv2 {
+ QMAKE_SBSV2_COPY = $(GNUCP)
+ QMAKE_SBSV2_COPY_DIR = $(GNUCP) -r
+ QMAKE_SBSV2_MOVE = $(GNUMV)
+ QMAKE_SBSV2_DEL_FILE = $(GNURM) -f
+ QMAKE_SBSV2_MKDIR = $(GNUMKDIR)
+ QMAKE_SBSV2_DEL_DIR = $(GNURMDIR)
+ QMAKE_SBSV2_DEL_TREE = $(GNURM) -rf
+}
+
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
new file mode 100644
index 0000000000..5bf8728baa
--- /dev/null
+++ b/mkspecs/common/symbian/symbian.conf
@@ -0,0 +1,297 @@
+#
+# qmake configuration for all symbian mkspecs
+#
+
+TEMPLATE = app
+CONFIG += prepend_includepath qt warn_on release incremental link_prl sis_targets run_on_phone
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+DEFINES += UNICODE QT_KEYPAD_NAVIGATION QT_SOFTKEYS_ENABLED QT_USE_MATH_H_FLOATS
+
+QMAKE_COMPILER_DEFINES += SYMBIAN
+
+QMAKE_EXT_OBJ = .o
+QMAKE_EXT_RES = _res.o
+QMAKE_EXTENSION_SHLIB = dll
+QMAKE_EXTENSION_PLUGIN = dll
+QMAKE_EXTENSION_STATICLIB = lib
+
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = byacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS =
+QMAKE_CFLAGS_DEPS =
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE =
+QMAKE_CFLAGS_DEBUG =
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+
+MMP_OPTION_KEYWORDS = CW ARMCC GCCE
+VERSION_FLAGS.ARMCC = ARMCC_4
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+# Symbian build system applies -cwd source on the MWCC command line.
+# this causes problems with include paths, -cwd include uses the same
+# rules for include paths as ARMCC
+# This should really be fixed in raptor, as using CXXFLAGS means we pass
+# both on the command line and rely on the compiler using the last specified
+QMAKE_CXXFLAGS.CW = -cwd include
+QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden
+QMAKE_CXXFLAGS.ARMCC_4 = --import_all_vtbl
+QMAKE_CXXFLAGS.GCCE = -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_RTTI_ON =
+QMAKE_CXXFLAGS_RTTI_OFF =
+QMAKE_CXXFLAGS_EXCEPTIONS_ON =
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF =
+
+QMAKE_INCDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+
+QMAKE_LFLAGS =
+QMAKE_LFLAGS.ARMCC =
+QMAKE_LFLAGS.GCCE =
+QMAKE_LFLAGS_EXCEPTIONS_ON =
+QMAKE_LFLAGS_EXCEPTIONS_OFF =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_CONSOLE =
+QMAKE_LFLAGS_WINDOWS =
+QMAKE_LFLAGS_DLL =
+QMAKE_LINK_OBJECT_MAX =
+QMAKE_LINK_OBJECT_SCRIPT=
+
+QMAKE_LIBS = -llibc -llibm -leuser -llibdl
+QMAKE_LIBS_CORE = $$QMAKE_LIBS -lefsrv -lhal -lbafl -lapparc
+QMAKE_LIBS_CFBSBITMAP = -lfbscli -lbitgdi -lgdi
+QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE $$QMAKE_LIBS_CFBSBITMAP -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -lcentralrepository
+QMAKE_LIBS_NETWORK =
+QMAKE_LIBS_EGL = -llibEGL
+QMAKE_LIBS_OPENGL = -llibGLESv2
+QMAKE_LIBS_OPENGL_ES1 = -llibGLESv1_CM
+QMAKE_LIBS_OPENGL_ES2 = -llibGLESv2
+QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL $$QMAKE_LIBS_CFBSBITMAP -lcone -lws32
+QMAKE_LIBS_OPENGL_ES1_QT = $$QMAKE_LIBS_OPENGL_ES1 $$QMAKE_LIBS_CFBSBITMAP -lcone -lws32
+QMAKE_LIBS_OPENGL_ES2_QT = $$QMAKE_LIBS_OPENGL_ES2 $$QMAKE_LIBS_CFBSBITMAP -lcone -lws32
+QMAKE_LIBS_OPENVG = $$QMAKE_LIBS_CFBSBITMAP -llibOpenVG
+QMAKE_LIBS_THREAD = -llibpthread
+QMAKE_LIBS_COMPAT =
+QMAKE_LIBS_S60 = -lavkon -leikcoctl -lgfxtrans
+
+exists($${EPOCROOT}epoc32/include/platform/sgresource/sgimage.h) {
+ QMAKE_LIBS_OPENVG += -lsgresource
+}
+
+contains(QMAKE_HOST.os,Windows) {
+ QMAKE_COPY = copy /y
+ QMAKE_COPY_DIR = xcopy /s /q /y /i
+ QMAKE_MOVE = move
+ QMAKE_DEL_FILE = del /q 2> NUL
+ QMAKE_MKDIR = mkdir
+ QMAKE_DEL_DIR = rmdir
+ QMAKE_DEL_TREE = rmdir /s /q
+ QMAKE_CHK_DIR_EXISTS = if not exist
+
+ QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+ QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+ QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
+} else {
+ QMAKE_COPY = cp
+ QMAKE_COPY_DIR = cp -r
+ QMAKE_MOVE = mv
+ QMAKE_DEL_FILE = rm -f
+ QMAKE_MKDIR = mkdir -p
+ QMAKE_DEL_DIR = rmdir
+ QMAKE_DEL_TREE = rm -rf
+ QMAKE_CHK_DIR_EXISTS = test -d
+
+ QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+ QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+ QMAKE_IDC = $$[QT_INSTALL_BINS]/idc
+}
+
+QMAKE_IDL = midl
+QMAKE_ZIP = zip -r -9
+QMAKE_UNZIP = unzip -o
+
+QMAKE_WRITE_DEFAULT_RC = 1
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QT_ARCH = symbian
+
+load(qt_config)
+
+QMAKE_LIBS_QT_ENTRY = -lqtmain$${QT_LIBINFIX}.lib
+QMAKE_LIBS_NO_QT_ENTRY = -llibcrt0.lib
+QMAKE_LIBS_NO_QT_ENTRY_GCCE = -llibcrt0_gcce.lib
+
+# List of languages that have a Symbian language code mapping provided in localize_deployment.prf
+SYMBIAN_SUPPORTED_LANGUAGES = \
+ af sq am ar hy bn bg my be ca \
+ hr cs da nl en et fi fr gd ka \
+ de el gu he hi hu is id ga it \
+ ja kn kk ko lo lv lt mk ms ml \
+ mr mo mn nb pl pt pa ro ru sr \
+ si sk sl so es sw sv tl ta te \
+ th bo ti tr tk uk ur vi cy zu \
+ nn eu zh gl fa st en_US fr_BE \
+ pt_BR en_CA fr_CA el_CY tr_CY \
+ en_TW en_HK en_CN en_JP en_TH \
+ sv_FI zh_HK es_419 en_ZA fr_CH \
+ de_CH it_CH zh_TW
+
+# These directories must match what configure uses for QT_INSTALL_PLUGINS and QT_INSTALL_IMPORTS
+QT_PLUGINS_BASE_DIR = /resource/qt$${QT_LIBINFIX}/plugins
+QT_IMPORTS_BASE_DIR = /resource/qt$${QT_LIBINFIX}/imports
+
+load(symbian/platform_paths)
+
+# If environment.prf is provided by platform, load that.
+# It is used for platform specific variable settings, such as SYMBIAN_VERSION.
+exists($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf) {
+ load($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf)
+}
+
+# Try to detect SDK version if it wasn't set by environment.prf
+isEmpty(SYMBIAN_VERSION)|isEmpty(S60_VERSION) {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.4.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.4.sis) {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = 5.4
+ isEmpty(S60_VERSION): S60_VERSION = 5.4
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.3.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.3.sis) {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = 5.3
+ isEmpty(S60_VERSION): S60_VERSION = 5.3
+ } else {
+ # The Symbian^3 PDK does not necessarily contain the required sis files.
+ # However, libstdcppv5 first appeared in Symbian^3 (S60 5.2), so check for that too.
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso) {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = Symbian3
+ isEmpty(S60_VERSION): S60_VERSION = 5.2
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = Symbian2
+ isEmpty(S60_VERSION): S60_VERSION = 5.1
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = 9.4
+ isEmpty(S60_VERSION): S60_VERSION = 5.0
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = 9.3
+ isEmpty(S60_VERSION): S60_VERSION = 3.2
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.1.sis) {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = 9.2
+ isEmpty(S60_VERSION): S60_VERSION = 3.1
+ } else {
+ isEmpty(SYMBIAN_VERSION): SYMBIAN_VERSION = Unknown
+ isEmpty(S60_VERSION): S60_VERSION = Unknown
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+# pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer
+# if multiple languages need to be supported by pkg file. In that case the developer should declare
+# multiple language compatible dependency statements him/herself.
+
+default_deployment.pkg_prerules += pkg_depends_webkit pkg_depends_qt pkg_platform_dependencies
+DEPLOYMENT += default_deployment default_bin_deployment default_resource_deployment default_reg_deployment
+
+defineReplace(symbianRemoveSpecialCharacters) {
+ # Produce identical string to what SymbianCommonGenerator::removeSpecialCharacters
+
+ fixedStr = $$1
+
+ fixedStr = $$replace(fixedStr, /,_)
+ fixedStr = $$replace(fixedStr, \\\\,_)
+ fixedStr = $$replace(fixedStr, " ",_)
+ fixedStr = $$replace(fixedStr, :,_)
+
+ return ($$fixedStr)
+}
+
+# Determines translations that are Symbian supported
+defineTest(matchSymbianLanguages) {
+ # Qt language codes for which we need to parse .ts file
+ SYMBIAN_MATCHED_LANGUAGES =
+ # List of translation files for matched languages
+ SYMBIAN_MATCHED_TRANSLATIONS =
+ # List of Qt language codes for which we have no mapped Symbian code but we have a fallback code
+ # and therefore need to generate a mapping for in localize_deployment.prf.
+ # The fallback code means plain language code for languages that have both language and country codes.
+ # E.g. the fallback code for language "zh_CN" would be "zh".
+ SYMBIAN_UNMAPPED_LANGUAGES =
+ # List of handled Qt language codes to avoid duplicate Symbian language codes in case both
+ # unmapped language+country combination and its fallback code, or multiple unmapped language+country
+ # combinations that have same fallback code are included.
+ HANDLED_LANGUAGES =
+
+ # Cannot parse .ts file for language here, so detect it from filename.
+ # Allow two and three character language and country codes.
+ for(translation, TRANSLATIONS) {
+ language = $$replace(translation, "^(.*/)?[^/]+_(([^_]{2,3}_)?[^_]{2,3})\\.ts$", \\2)
+ !contains(HANDLED_LANGUAGES, $$language) {
+ HANDLED_LANGUAGES += $$language
+ # Make sure translation path is absolute or shadow builds will not work
+ !contains(translation, "(^/|^\\\\|^.:).*"): translation = $$_PRO_FILE_PWD_/$$translation
+
+ contains(SYMBIAN_SUPPORTED_LANGUAGES, $$language) {
+ SYMBIAN_MATCHED_LANGUAGES += $$language
+ SYMBIAN_MATCHED_TRANSLATIONS += $$translation
+ } else {
+ # No direct mapping for specified language found. Check if a fallback language code can be used.
+ strippedLanguage = $$replace(language, "_.*$",)
+ contains(SYMBIAN_SUPPORTED_LANGUAGES, $$strippedLanguage):!contains(HANDLED_LANGUAGES, $$strippedLanguage) {
+ HANDLED_LANGUAGES += $$strippedLanguage
+ SYMBIAN_UNMAPPED_LANGUAGES += $$language
+ SYMBIAN_MATCHED_LANGUAGES += $$language
+ SYMBIAN_MATCHED_TRANSLATIONS += $$translation
+ SYMBIAN_LANGUAGE_FALLBACK.$$language = $$strippedLanguage
+ export(SYMBIAN_LANGUAGE_FALLBACK.$$language)
+ }
+ }
+ }
+ }
+
+ isEmpty(SYMBIAN_MATCHED_LANGUAGES): SYMBIAN_MATCHED_LANGUAGES = en
+
+ export(SYMBIAN_MATCHED_LANGUAGES)
+ export(SYMBIAN_MATCHED_TRANSLATIONS)
+ export(SYMBIAN_UNMAPPED_LANGUAGES)
+}
+
+# Symbian pkg files that define multiple languages require a language specific string to be
+# defined for various items, even though the string often needs to be same for all languages.
+# This replacement method will generate correct string for such cases based on TRANSLATIONS
+# variable.
+defineReplace(addLanguageDependentPkgItem) {
+ localize_deployment:!isEmpty(TRANSLATIONS):isEmpty(SYMBIAN_MATCHED_LANGUAGES) {
+ matchSymbianLanguages()
+ }
+
+ pkgItem = $$eval($$1)
+ pkgLanguageList =
+
+ for(dummyItem, SYMBIAN_MATCHED_LANGUAGES) {
+ pkgLanguageList += "\"$$pkgItem\""
+ }
+
+ isEmpty(pkgLanguageList): pkgLanguageList = "\"$$pkgItem\""
+
+ return($$join(pkgLanguageList,",",,))
+}
diff --git a/mkspecs/common/symbian/symbianincludes.h b/mkspecs/common/symbian/symbianincludes.h
new file mode 100644
index 0000000000..5d7f488fdb
--- /dev/null
+++ b/mkspecs/common/symbian/symbianincludes.h
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the mkspecs of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef __PRODUCT_INCLUDE__
+# ifdef __QT_PRODUCT_INCLUDE_IS_LOWERCASE__
+# define __PRODUCT_INCLUDE__ <variant/symbian_os.hrh>
+# else
+# define __PRODUCT_INCLUDE__ <variant/Symbian_OS.hrh>
+# endif
+#endif
+
+#ifndef __QT_SYMBIAN_RESOURCE__
+# if defined(__ARMCC__) || defined(__CC_ARM)
+# ifdef __QT_RVCT_HEADER_IS_2_2__
+# include <rvct2_2.h>
+# else
+# include <rvct.h>
+# endif
+# endif
+#endif
diff --git a/mkspecs/common/unix.conf b/mkspecs/common/unix.conf
new file mode 100644
index 0000000000..c480ba4407
--- /dev/null
+++ b/mkspecs/common/unix.conf
@@ -0,0 +1,14 @@
+#
+# qmake configuration for common unix
+#
+
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS +=
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS += -d
+QMAKE_YACCFLAGS_MANGLE += -p $base -b $base
+QMAKE_YACC_HEADER = $base.tab.h
+QMAKE_YACC_SOURCE = $base.tab.c
+QMAKE_PREFIX_SHLIB = lib
+QMAKE_PREFIX_STATICLIB = lib
+QMAKE_EXTENSION_STATICLIB = a
diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf
new file mode 100644
index 0000000000..57b89b9650
--- /dev/null
+++ b/mkspecs/common/wince/qmake.conf
@@ -0,0 +1,94 @@
+#
+# qmake configuration for common Windows CE
+#
+
+MAKEFILE_GENERATOR = MSVC.NET
+TEMPLATE = app
+QT += core gui
+CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
+
+DEFINES += UNDER_CE WINCE _WINDOWS _UNICODE UNICODE _WIN32 QT_NO_PRINTER QT_NO_PRINTDIALOG
+
+QMAKE_COMPILER_DEFINES += _MSC_VER=1400
+
+QMAKE_CC = cl
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = byacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
+QMAKE_CFLAGS_WARN_ON = -W3
+QMAKE_CFLAGS_WARN_OFF = -W0
+QMAKE_CFLAGS_RELEASE = -O2 -MD
+QMAKE_CFLAGS_LTCG = -GL
+QMAKE_CFLAGS_DEBUG = -DDEBUG -D_DEBUG -Zi -MDd
+QMAKE_CFLAGS_YACC =
+
+# Uncomment the following lines to reduce library sizes
+# with potential cost of performance
+# QMAKE_CFLAGS += -Os
+# QMAKE_CFLAGS_RELEASE += -Os
+
+QMAKE_CXX = $$QMAKE_CC
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_STL_ON = -EHsc
+QMAKE_CXXFLAGS_STL_OFF =
+QMAKE_CXXFLAGS_RTTI_ON = -GR
+QMAKE_CXXFLAGS_RTTI_OFF =
+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -EHs-c-
+
+QMAKE_INCDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
+QMAKE_RUN_CC_IMP_BATCH = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
+QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
+
+QMAKE_LINK = link
+QMAKE_LFLAGS = /NOLOGO /NODEFAULTLIB:OLDNAMES.LIB
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_DEBUG = /DEBUG
+QMAKE_LFLAGS_LTCG = /LTCG
+QMAKE_LIBS_NETWORK = ws2.lib
+QMAKE_LIBS_OPENGL =
+QMAKE_LIBS_COMPAT =
+
+QMAKE_LIBS_EGL = libEGL.lib
+QMAKE_LIBS_OPENGL_ES1 = libGLES_CM.lib
+QMAKE_LIBS_OPENGL_ES2 = libGLESv2.lib
+
+QMAKE_LIBS_QT_ENTRY = -lqtmain
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
+
+QMAKE_IDL = midl
+QMAKE_LIB = lib
+QMAKE_RC = rc
+
+QMAKE_ZIP = zip -r -9
+
+QMAKE_COPY = copy /y
+QMAKE_COPY_DIR = xcopy /s /q /y /i
+QMAKE_MOVE = move
+QMAKE_DEL_FILE = del
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = if not exist
+QMAKE_MKDIR = mkdir
+
+VCPROJ_EXTENSION = .vcproj
+VCSOLUTION_EXTENSION = .sln
+VCPROJ_KEYWORD = Qt4VSv1.0
+load(qt_config)
diff --git a/mkspecs/common/wince/qplatformdefs.h b/mkspecs/common/wince/qplatformdefs.h
new file mode 100644
index 0000000000..763f687ba2
--- /dev/null
+++ b/mkspecs/common/wince/qplatformdefs.h
@@ -0,0 +1,133 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#ifdef UNICODE
+#ifndef _UNICODE
+#define _UNICODE
+#endif
+#endif
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+#include "qfunctions_wince.h"
+
+#define _POSIX_
+#include <limits.h>
+#undef _POSIX_
+
+#include <tchar.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <windows.h>
+
+#define Q_FS_FAT
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_STATBUF struct _stati64 // non-ANSI defs
+#define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs
+#define QT_STAT ::_stati64
+#define QT_FSTAT ::_fstati64
+#else
+#define QT_STATBUF struct stat // non-ANSI defs
+#define QT_STATBUF4TSTAT struct stat // non-ANSI defs
+#define QT_STAT ::qt_wince_stat
+#define QT_FSTAT ::qt_wince__fstat
+#endif
+#define QT_STAT_REG _S_IFREG
+#define QT_STAT_DIR _S_IFDIR
+#define QT_STAT_MASK _S_IFMT
+#if defined(_S_IFLNK)
+# define QT_STAT_LNK _S_IFLNK
+#endif
+#define QT_FILENO ::qt_wince___fileno
+#define QT_OPEN ::qt_wince_open
+#define QT_CLOSE ::qt_wince__close
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_LSEEK ::_lseeki64
+#define QT_TSTAT ::_tstati64
+#else
+#define QT_LSEEK ::qt_wince__lseek
+#define QT_TSTAT ::_tstat
+#endif
+#define QT_READ ::qt_wince__read
+#define QT_WRITE ::qt_wince__write
+#define QT_ACCESS ::qt_wince__access
+#define QT_GETCWD ::_getcwd
+#define QT_CHDIR ::_chdir
+#define QT_MKDIR ::qt_wince__mkdir
+#define QT_RMDIR ::qt_wince__rmdir
+#define QT_OPEN_LARGEFILE 0
+#define QT_OPEN_RDONLY _O_RDONLY
+#define QT_OPEN_WRONLY _O_WRONLY
+#define QT_OPEN_RDWR _O_RDWR
+#define QT_OPEN_CREAT _O_CREAT
+#define QT_OPEN_TRUNC _O_TRUNC
+#define QT_OPEN_APPEND _O_APPEND
+# define QT_OPEN_TEXT _O_TEXT
+# define QT_OPEN_BINARY _O_BINARY
+
+#define QT_FOPEN ::fopen
+#define QT_FSEEK ::fseek
+#define QT_FTELL ::ftell
+#define QT_FGETPOS ::fgetpos
+#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
+#define QT_FPOS_T fpos_t
+#define QT_OFF_T long
+
+#define QT_SIGNAL_ARGS int
+
+#define QT_VSNPRINTF(buffer, count, format, arg) \
+ _vsnprintf(buffer, count, format, arg)
+
+#define QT_SNPRINTF ::_snprintf
+
+# define F_OK 0
+# define X_OK 1
+# define W_OK 2
+# define R_OK 4
+
+typedef int mode_t;
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/cygwin-g++/qmake.conf b/mkspecs/cygwin-g++/qmake.conf
new file mode 100644
index 0000000000..c46384fc8b
--- /dev/null
+++ b/mkspecs/cygwin-g++/qmake.conf
@@ -0,0 +1,91 @@
+#
+# qmake configuration for cygwin-g++
+#
+# Written for Qt/X11 on Windows using Cygwin's POSIX API
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = byacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+QMAKE_CYGWIN_SHLIB = 1
+QMAKE_CYGWIN_EXE = 1
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_PREFIX_SHLIB = lib
+QMAKE_PREFIX_STATICLIB = lib
+QMAKE_EXTENSION_STATICLIB = a
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/cygwin-g++/qplatformdefs.h b/mkspecs/cygwin-g++/qplatformdefs.h
new file mode 100644
index 0000000000..aca176ecd4
--- /dev/null
+++ b/mkspecs/cygwin-g++/qplatformdefs.h
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+// Cygwin does not provide <sys/ipc.h> and <sys/shm.h> because it
+// doesn't support SysV IPC or shared memory. See for example:
+// http://afni.nimh.nih.gov/afni/afniboard/messages/1725.html
+#include <sys/time.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+//#include <windows.h>
+#include <netinet/in.h>
+
+#define QT_NO_USE_FSEEKO
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/darwin-g++/qmake.conf b/mkspecs/darwin-g++/qmake.conf
new file mode 100644
index 0000000000..84dc764e6b
--- /dev/null
+++ b/mkspecs/darwin-g++/qmake.conf
@@ -0,0 +1,106 @@
+#
+# qmake configuration for darwin-g++
+#
+# Written for Qt/X11 on Darwin and XFree86
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl native_precompiled_headers
+QT += core gui
+DEFINES += __USE_WS_X11__
+
+QMAKE_CC = cc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_EXTENSION_SHLIB = dylib
+QMAKE_EXTENSION_PLUGIN = so
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_THREAD =
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+
+QMAKE_CXX = c++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_THREAD =
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = c++
+QMAKE_LINK_SHLIB = c++
+QMAKE_LFLAGS += -headerpad_max_install_names
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_APP = -prebind
+QMAKE_LFLAGS_SHLIB = -prebind -dynamiclib -single_module
+QMAKE_LFLAGS_PLUGIN = -prebind -bundle
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE}
+
+QMAKE_LFLAGS_VERSION = -current_version$${LITERAL_WHITESPACE}
+QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}
+
+QMAKE_LFLAGS_RPATH =
+
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cq
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB = ranlib -s
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $$QMAKE_COPY
+QMAKE_COPY_DIR = $$QMAKE_COPY -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+QMAKE_CXXFLAGS_PRECOMPILE += -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/darwin-g++/qplatformdefs.h b/mkspecs/darwin-g++/qplatformdefs.h
new file mode 100644
index 0000000000..44c4f9579d
--- /dev/null
+++ b/mkspecs/darwin-g++/qplatformdefs.h
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#define QT_OPEN_LARGEFILE 0
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/features/build_pass.prf b/mkspecs/features/build_pass.prf
new file mode 100644
index 0000000000..6547c97443
--- /dev/null
+++ b/mkspecs/features/build_pass.prf
@@ -0,0 +1 @@
+CONFIG += no_autoqmake
diff --git a/mkspecs/features/dbusadaptors.prf b/mkspecs/features/dbusadaptors.prf
new file mode 100644
index 0000000000..3463d586dd
--- /dev/null
+++ b/mkspecs/features/dbusadaptors.prf
@@ -0,0 +1,41 @@
+qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
+
+for(DBUS_ADAPTOR, $$list($$unique(DBUS_ADAPTORS))) {
+
+ !contains(DBUS_ADAPTOR, .*\\w\\.xml$) {
+ warning("Invalid D-BUS adaptor: '$${DBUS_ADAPTOR}', please use 'com.mydomain.myinterface.xml' instead.")
+ next()
+ }
+
+ DBUS_ADAPTOR_LIST += $${DBUS_ADAPTOR}
+}
+
+dbus_adaptor_header.commands = $$QMAKE_QDBUSXML2CPP -a ${QMAKE_FILE_OUT}: ${QMAKE_FILE_IN}
+dbus_adaptor_header.output_function = dbus_adaptor_header_output
+dbus_adaptor_header.name = DBUSXML2CPP ADAPTOR HEADER ${QMAKE_FILE_IN}
+dbus_adaptor_header.variable_out = DBUS_ADAPTOR_HEADERS
+dbus_adaptor_header.input = DBUS_ADAPTOR_LIST
+
+defineReplace(dbus_adaptor_header_output) {
+ return("$$lower($$section($$list($$basename(1)),.,-2,-2))_adaptor.h")
+}
+
+dbus_adaptor_source.commands = $$QMAKE_QDBUSXML2CPP -i ${QMAKE_FILE_OUT_BASE}.h -a :${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+dbus_adaptor_source.output_function = dbus_adaptor_source_output
+dbus_adaptor_source.name = DBUSXML2CPP ADAPTOR SOURCE ${QMAKE_FILE_IN}
+dbus_adaptor_source.variable_out = SOURCES
+dbus_adaptor_source.input = DBUS_ADAPTOR_LIST
+
+load(moc)
+dbus_adaptor_moc.commands = $$moc_header.commands
+dbus_adaptor_moc.output = $$moc_header.output
+dbus_adaptor_moc.depends = $$dbus_adaptor_header.output
+dbus_adaptor_moc.input = DBUS_ADAPTOR_HEADERS
+dbus_adaptor_moc.variable_out = GENERATED_SOURCES
+dbus_adaptor_moc.name = $$moc_header.name
+
+defineReplace(dbus_adaptor_source_output) {
+ return("$$lower($$section($$list($$basename(1)),.,-2,-2))_adaptor.cpp")
+}
+
+QMAKE_EXTRA_COMPILERS += dbus_adaptor_header dbus_adaptor_source dbus_adaptor_moc
diff --git a/mkspecs/features/dbusinterfaces.prf b/mkspecs/features/dbusinterfaces.prf
new file mode 100644
index 0000000000..1828802a44
--- /dev/null
+++ b/mkspecs/features/dbusinterfaces.prf
@@ -0,0 +1,42 @@
+load(moc)
+
+qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
+
+for(DBUS_INTERFACE, $$list($$unique(DBUS_INTERFACES))) {
+
+ !contains(DBUS_INTERFACE, .*\\w\\.xml$) {
+ warning("Invalid D-BUS interface : '$${DBUS_INTERFACE}', please use 'com.mydomain.myinterface.xml' instead.")
+ next()
+ }
+
+ DBUS_INTERFACE_LIST += $${DBUS_INTERFACE}
+}
+
+dbus_interface_header.commands = $$QMAKE_QDBUSXML2CPP -p ${QMAKE_FILE_OUT}: ${QMAKE_FILE_IN}
+dbus_interface_header.output_function = dbus_interface_header_output
+dbus_interface_header.name = DBUSXML2CPP INTERFACE HEADER ${QMAKE_FILE_IN}
+dbus_interface_header.variable_out = DBUS_INTERFACE_HEADERS
+dbus_interface_header.input = DBUS_INTERFACE_LIST
+
+defineReplace(dbus_interface_header_output) {
+ return("$$lower($$section($$list($$basename(1)),.,-2,-2))_interface.h")
+}
+
+dbus_interface_source.commands = $$QMAKE_QDBUSXML2CPP -i ${QMAKE_FILE_OUT_BASE}.h -p :${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+dbus_interface_source.output_function = dbus_interface_source_output
+dbus_interface_source.name = DBUSXML2CPP INTERFACE SOURCE ${QMAKE_FILE_IN}
+dbus_interface_source.variable_out = SOURCES
+dbus_interface_source.input = DBUS_INTERFACE_LIST
+
+dbus_interface_moc.commands = $$moc_header.commands
+dbus_interface_moc.output = $$moc_header.output
+dbus_interface_moc.depends = $$dbus_interface_header.output
+dbus_interface_moc.input = DBUS_INTERFACE_HEADERS
+dbus_interface_moc.variable_out = GENERATED_SOURCES
+dbus_interface_moc.name = $$moc_header.name
+
+defineReplace(dbus_interface_source_output) {
+ return("$$lower($$section($$list($$basename(1)),.,-2,-2))_interface.cpp")
+}
+
+QMAKE_EXTRA_COMPILERS += dbus_interface_header dbus_interface_source dbus_interface_moc
diff --git a/mkspecs/features/debug.prf b/mkspecs/features/debug.prf
new file mode 100644
index 0000000000..c1ba1256cf
--- /dev/null
+++ b/mkspecs/features/debug.prf
@@ -0,0 +1,8 @@
+CONFIG -= release
+contains(QT_CONFIG,dwarf2)|dwarf2:load(dwarf2, true)
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_DEBUG
+QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_DEBUG
+QMAKE_LFLAGS += $$QMAKE_LFLAGS_DEBUG
+QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_DEBUG
+!debug_and_release:fix_output_dirs:fixExclusiveOutputDirs(debug, release)
diff --git a/mkspecs/features/debug_and_release.prf b/mkspecs/features/debug_and_release.prf
new file mode 100644
index 0000000000..ef33789cab
--- /dev/null
+++ b/mkspecs/features/debug_and_release.prf
@@ -0,0 +1 @@
+!macx-xcode:!symbian:addExclusiveBuilds(debug, Debug, release, Release)
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
new file mode 100644
index 0000000000..3f93220cc4
--- /dev/null
+++ b/mkspecs/features/default_post.prf
@@ -0,0 +1,122 @@
+QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
+!isEmpty(QT_BREAKPAD_ROOT_PATH): \ # quick test first whether requested ...
+ !staticlib:!static:CONFIG(release, debug|release):contains(TEMPLATE, .*(app|lib)): \ # is it applicable?
+ !contains(TARGET, .*phony_target.*): \ # monster hack, you don't really see this here, right? ;)
+ system($$QT_BREAKPAD_ROOT_PATH/qtbreakpadsymbols --breakpad-exists) { # do we really have it?
+ CONFIG += breakpad
+ CONFIG -= no_debug_info separate_debug_info
+ QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+ QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
+ QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
+}
+
+CONFIG(debug, debug|release):load(debug)
+else:load(release)
+debug_and_release:load(debug_and_release)
+incredibuild_xge {
+ CONFIG -= incredibuild_xge
+ CONFIG = incredibuild_xge $$CONFIG
+}
+
+breakpad {
+ !contains(DESTDIR, (/|.:[/\\\\]).*):TARGET_BASEPATH = $${OUT_PWD}/
+ !isEmpty(DESTDIR):TARGET_BASEPATH = $${TARGET_BASEPATH}$${DESTDIR}/
+
+ win32 {
+ TARGET_BASEPATH ~= s,/,\\,
+ contains(TEMPLATE, .*lib) {
+ isEmpty(TARGET_VERSION_EXT):!isEmpty(VERSION) {
+ TARGET_VERSION_EXT = $$section(VERSION, ., 0, 0)
+ isEqual(TARGET_VERSION_EXT, 0):unset(TARGET_VERSION_EXT)
+ }
+ TARGET_EXT = .dll
+ } else {
+ TARGET_EXT = .exe
+ }
+
+ DEBUGFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}$${TARGET_EXT}
+ PDBFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}.pdb
+ DEBUGFILENAME ~= s,/,\\,
+ PDBFILENAME ~= s,/,\\,
+ QMAKE_CLEAN += $$PDBFILENAME # for the debug case it is hardcoded in qmake
+ } else {
+ contains(TEMPLATE, .*lib):LIBPREFIX = lib
+
+ macx {
+ equals(TEMPLATE, lib) {
+ lib_bundle {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.framework/$${TARGET}
+ } else {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}
+ !plugin {
+ TEMP_VERSION = $$section(VERSION, ., 0, 0)
+ isEmpty(TEMP_VERSION):TEMP_VERSION = 1
+ TARGET_BASEPATH = $${TARGET_BASEPATH}.$${TEMP_VERSION}
+ }
+ TARGET_BASEPATH = $${TARGET_BASEPATH}.$${QMAKE_EXTENSION_SHLIB}
+ }
+ } else {
+ app_bundle {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.app/Contents/MacOS/$${TARGET}
+ } else {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
+ }
+ }
+ DEBUGFILENAME = $$TARGET_BASEPATH
+ } else {
+ equals(TEMPLATE, lib) {
+ plugin {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so
+ } else {
+ TEMP_VERSION = $$VERSION
+ isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION}
+ }
+ } else {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
+ }
+ DEBUGFILENAME = $$TARGET_BASEPATH
+ }
+ }
+
+ PROJECTPATH = $$OUT_PWD
+ win32:PROJECTPATH ~= s,/,\\,
+
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)
+ QMAKE_POST_LINK = $$QMAKE_POST_LINK$$quote($${QT_BREAKPAD_ROOT_PATH}$${QMAKE_DIR_SEP}qtbreakpadsymbols \"$$DEBUGFILENAME\" \"$$PROJECTPATH\")
+ !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP \"$$DEBUGFILENAME\")
+
+ unset(TARGET_BASEPATH)
+ unset(SYMBOLFILENAME)
+ unset(TARGET_EXT)
+ unset(TARGET_VERSION_EXT)
+ unset(TEMP_VERSION)
+}
+
+QMAKE_INCDIR += $$QMAKE_INCDIR_POST
+QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
+
+# Let every project have a standard GNU `check' target
+!contains(QMAKE_EXTRA_TARGETS, check) {
+ # `make check' should iterate through all subdirs
+ contains(TEMPLATE, subdirs) {
+ check.CONFIG = recursive
+ check.recurse = $$SUBDIRS
+ check.recurse_target = check
+ }
+ # `make check' should imply building the project
+ else {
+ check.depends = first
+ }
+ QMAKE_EXTRA_TARGETS += check
+}
+
+# Add special translation sources for projects that require them.
+# Note 1: Since lupdate will not parse regular config scopes right, contains checks are used instead.
+# Note 2: Checking for last value of TEMPLATE is used instead of simple contains check because
+# lupdate doesn't respect "-=" variable assignments and therefore always finds "app"
+# as the first value of TEMPLATE variable.
+contains(CONFIG, lupdate_run):contains(CONFIG, localize_deployment) {
+ equals($$list($$last(TEMPLATE)), app): SOURCES += $$[QT_INSTALL_DATA]/mkspecs/common/symbian/appCaptionForTranslation.cpp
+ SOURCES += $$[QT_INSTALL_DATA]/mkspecs/common/symbian/packageNameForTranslation.cpp
+}
diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf
new file mode 100644
index 0000000000..2e82f03eb9
--- /dev/null
+++ b/mkspecs/features/default_pre.prf
@@ -0,0 +1,3 @@
+load(exclusive_builds)
+### Qt 5: remove "uic" and "resources" - or add "qt"
+CONFIG = lex yacc warn_on debug uic resources $$CONFIG
diff --git a/mkspecs/features/designer.prf b/mkspecs/features/designer.prf
new file mode 100644
index 0000000000..fa40caab3f
--- /dev/null
+++ b/mkspecs/features/designer.prf
@@ -0,0 +1,7 @@
+QT += xml
+contains(QT_CONFIG, script): QT += script
+qt:load(qt)
+
+plugin:DEFINES += QDESIGNER_EXPORT_WIDGETS
+
+qtAddLibrary(QtDesigner)
diff --git a/mkspecs/features/dll.prf b/mkspecs/features/dll.prf
new file mode 100644
index 0000000000..943ab93def
--- /dev/null
+++ b/mkspecs/features/dll.prf
@@ -0,0 +1,2 @@
+CONFIG += shared
+
diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf
new file mode 100644
index 0000000000..7e7d098236
--- /dev/null
+++ b/mkspecs/features/egl.prf
@@ -0,0 +1,21 @@
+# On UNIX, we can use config tests to figure out if egl.h is in
+# EGL/egl.h or GLES/egl.h. Sadly, there are no config tests on WinCE
+# so we have to assume that for GLES 1.1 (CL), the EGL header is in
+# GLES/egl.h. We also assume there is no separate libEGL.lib library,
+# so we use the GL library instead.
+
+wince*:contains(QT_CONFIG, opengles1) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
+ LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1
+ for(p, QMAKE_LIBDIR_OPENGL_ES1) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+ DEFINES += QT_GLES_EGL
+} else {
+ INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ LIBS_PRIVATE += $$QMAKE_LIBS_EGL
+ LIBS += $$QMAKE_LFLAGS_EGL
+ for(p, QMAKE_LIBDIR_EGL) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+}
diff --git a/mkspecs/features/exclusive_builds.prf b/mkspecs/features/exclusive_builds.prf
new file mode 100644
index 0000000000..8898c96a43
--- /dev/null
+++ b/mkspecs/features/exclusive_builds.prf
@@ -0,0 +1,100 @@
+# fixExclusiveOutputDirs(1config, 2config)
+# Change all output paths that references 2config to have the string 1config in them
+defineTest(fixExclusiveOutputDirs) {
+ unset(firstBuild)
+ unset(secondBuild)
+ unset(appendFirstBuild)
+ firstBuild = $$1
+ secondBuild = $$2
+ count(ARGS, 2, greaterThan):isEqual($$list($$lower($$3)), false):appendFirstBuild = false
+ else:appendFirstBuild = true
+
+ isEmpty(QMAKE_DIR_REPLACE):QMAKE_DIR_REPLACE += OBJECTS_DIR MOC_DIR RCC_DIR
+ lessThan(firstBuild, $$secondBuild):eval($${firstBuild}_and_$${secondBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
+ else:eval($${secondBuild}_and_$${firstBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
+ for(fix, QMAKE_DIR_REPLACE) {
+ isEmpty($$fix)|isEqual($$fix, .) {
+ eval($$fix = $${firstBuild})
+ } else:contains($$list($$first($$fix)), .*$${secondBuild}.*) {
+ eval($$fix ~= s/$${secondBuild}/$${firstBuild}/gi)
+ } else:isEqual(appendFirstBuild, true):!contains($$list($$first($$fix)), .*$${firstBuild}.*) {
+ contains($$list($${first($$fix)}), .*/$):eval($$fix = $${first($$fix)}$${firstBuild})
+ else:eval($$fix = $${first($$fix)}-$${firstBuild})
+ }
+ export($$fix)
+ }
+ return(true)
+}
+
+# addExclusiveBuilds(1config, 1name, 2config, 2name)
+# Adds two BUILDS which are exclusive to each other.
+defineTest(addExclusiveBuilds) {
+ unset(firstBuild)
+ unset(firstBuildName)
+ unset(secondBuild)
+ unset(secondBuildName)
+
+ firstBuild = $$1
+ firstBuildName = $$2
+ secondBuild = $$3
+ secondBuildName = $$4
+
+ contains(TEMPLATE, subdirs) {
+ eval(sub_$${firstBuildName}.target = $$firstBuild)
+ export(sub_$${firstBuildName}.target)
+ eval(sub_$${firstBuildName}.CONFIG = recursive)
+ export(sub_$${firstBuildName}.CONFIG)
+ eval(sub_$${secondBuildName}.target = $$secondBuild)
+ export(sub_$${secondBuildName}.target)
+ eval(sub_$${secondBuildName}.CONFIG = recursive)
+ export(sub_$${secondBuildName}.CONFIG)
+ QMAKE_EXTRA_TARGETS += sub_$${firstBuildName} sub_$${secondBuildName}
+ export(QMAKE_EXTRA_TARGETS)
+ } else:!build_pass {
+ first_BUILDS =
+ second_BUILDS =
+ suffix_BUILDS = Build
+
+ isEmpty(BUILDS): BUILDPERMUTATIONS = $$suffix_BUILDS
+ else: BUILDPERMUTATIONS = $$BUILDS
+
+ for(permutation, BUILDPERMUTATIONS) {
+ permutation ~= s/$${suffix_BUILDS}$//
+ isEmpty(permutation): permutationName =
+ else: permutationName = -$$permutation
+ # Makefile target rule
+ eval($${firstBuildName}$${permutation}.target = $${firstBuild}$$lower($${permutationName}))
+ export($${firstBuildName}$${permutation}.target)
+ # IDE name
+ eval($${firstBuildName}$${permutation}.name = $${firstBuildName}$${permutationName})
+ export($${firstBuildName}$${permutation}.name)
+ # prl import CONFIG option
+ eval($${firstBuildName}$${permutation}.PRL_CONFIG = $${firstBuild}$${permutation})
+ export($${firstBuildName}$${permutation}.PRL_CONFIG)
+ # Individual CONFIG option
+ eval($${firstBuildName}$${permutation}.CONFIG = $${firstBuild} $${firstBuildName}Build $$eval($${permutation}.CONFIG))
+ export($${firstBuildName}$${permutation}.CONFIG)
+
+ eval($${secondBuildName}$${permutation}.target = $${secondBuild}$$lower($${permutationName}))
+ export($${secondBuildName}$${permutation}.target)
+ eval($${secondBuildName}$${permutation}.name = $${secondBuildName}$${permutationName})
+ export($${secondBuildName}$${permutation}.name)
+ eval($${secondBuildName}$${permutation}.PRL_CONFIG = $${secondBuild}$${permutation})
+ export($${secondBuildName}$${permutation}.PRL_CONFIG)
+ eval($${secondBuildName}$${permutation}.CONFIG = $${secondBuild} $${secondBuildName}Build $$eval($${permutation}.CONFIG))
+ export($${secondBuildName}$${permutation}.CONFIG)
+
+ first_BUILDS += $${firstBuildName}$${permutation}
+ second_BUILDS += $${secondBuildName}$${permutation}
+ }
+
+ # A mutual exclusive block.
+ CONFIG($${firstBuild}, $${firstBuild}|$${secondBuild}): BUILDS = $$first_BUILDS $$second_BUILDS
+ else: BUILDS = $$second_BUILDS $$first_BUILDS
+ export(BUILDS)
+ } else {
+ eval($${firstBuildName}Build:fixExclusiveOutputDirs($$firstBuild, $$secondBuild, false))
+ eval($${secondBuildName}Build:fixExclusiveOutputDirs($$secondBuild, $$firstBuild, false))
+ }
+ return(true)
+}
diff --git a/mkspecs/features/help.prf b/mkspecs/features/help.prf
new file mode 100644
index 0000000000..15685e7a57
--- /dev/null
+++ b/mkspecs/features/help.prf
@@ -0,0 +1,4 @@
+INCLUDEPATH = $$QMAKE_INCDIR_QT/QtHelp $$INCLUDEPATH
+QT += xml sql
+
+qtAddLibrary(QtHelp)
diff --git a/mkspecs/features/include_source_dir.prf b/mkspecs/features/include_source_dir.prf
new file mode 100644
index 0000000000..8794998f43
--- /dev/null
+++ b/mkspecs/features/include_source_dir.prf
@@ -0,0 +1 @@
+!equals(_PRO_FILE_PWD_, $$OUT_PWD):INCLUDEPATH *= .
diff --git a/mkspecs/features/incredibuild_xge.prf b/mkspecs/features/incredibuild_xge.prf
new file mode 100644
index 0000000000..97ccc44066
--- /dev/null
+++ b/mkspecs/features/incredibuild_xge.prf
@@ -0,0 +1,11 @@
+contains(TEMPLATE, "vc.*") {
+ EOC = $$escape_expand(\\n\\t)
+
+ # The VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
+ # No other generator understands the \h
+ win32-msvc2*|wince*msvc*: EOC = $$escape_expand(\\r\\h)
+
+ for(xge, INCREDIBUILD_XGE) {
+ $${xge}.commands = Rem IncrediBuild_AllowRemote $$EOC Rem IncrediBuild_OutputFile $$replace($${xge}.output,/,\\) $$EOC $$eval($${xge}.commands)
+ }
+}
diff --git a/mkspecs/features/lex.prf b/mkspecs/features/lex.prf
new file mode 100644
index 0000000000..43d8fbd038
--- /dev/null
+++ b/mkspecs/features/lex.prf
@@ -0,0 +1,24 @@
+#
+# Lex extra-compiler for handling files specified in the LEXSOURCES variable
+#
+
+{
+ lex.name = Lex ${QMAKE_FILE_IN}
+ lex.input = LEXSOURCES
+ lex_included {
+ lex.CONFIG += no_link
+ } else {
+ lex.variable_out = GENERATED_SOURCES
+ }
+ isEmpty(QMAKE_LEXFLAGS_MANGLE):QMAKE_LEXFLAGS_MANGLE = -P${QMAKE_FILE_BASE}
+ QMAKE_LEXEXTRAFLAGS = $$QMAKE_LEXFLAGS
+ !yacc_no_name_mangle:QMAKE_LEXEXTRAFLAGS += $$QMAKE_LEXFLAGS_MANGLE
+
+ lex.commands = $$QMAKE_LEX $$QMAKE_LEXEXTRAFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \
+ $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) \
+ $$QMAKE_MOVE lex.${QMAKE_FILE_BASE}.c $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t)
+ lex.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}
+
+ silent:lex.commands = @echo Lex ${QMAKE_FILE_IN} && $$lex.commands
+ QMAKE_EXTRA_COMPILERS += lex
+}
diff --git a/mkspecs/features/link_pkgconfig.prf b/mkspecs/features/link_pkgconfig.prf
new file mode 100644
index 0000000000..a3dbd1ffcc
--- /dev/null
+++ b/mkspecs/features/link_pkgconfig.prf
@@ -0,0 +1,12 @@
+# handle pkg-config files
+isEmpty(PKG_CONFIG):PKG_CONFIG = pkg-config # keep consistent with qt_functions.prf too!
+
+for(PKGCONFIG_LIB, $$list($$unique(PKGCONFIG))) {
+ # don't proceed if the .pro asks for a package we don't have!
+ !packagesExist($$PKGCONFIG_LIB):error("Package $$PKGCONFIG_LIB not found")
+
+ QMAKE_CXXFLAGS += $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB)
+ QMAKE_CFLAGS += $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB)
+ LIBS += $$system($$PKG_CONFIG --libs $$PKGCONFIG_LIB)
+}
+
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
new file mode 100644
index 0000000000..273094d4cd
--- /dev/null
+++ b/mkspecs/features/mac/default_post.prf
@@ -0,0 +1,17 @@
+load(default_post)
+!no_objective_c:CONFIG += objective_c
+
+# Pick a suitable default architecture for qmake-based applications.
+# If the Qt package contains one of x86 and x86_64, pick that one. If it
+# contains both then use the compiler default. Make a similiar decision for
+# PowerPC-based systems. Note that this logic assumes that Qt has been
+# configured with an architecture that is usable on the system.
+qt:!isEmpty(QT_CONFIG) {
+ contains(QMAKE_HOST.arch, ppc)|contains(QMAKE_HOST.arch, "Power Macintosh") {
+ !contains(QT_CONFIG, ppc64):contains(QT_CONFIG, ppc):CONFIG += ppc
+ contains(QT_CONFIG, ppc64):!contains(QT_CONFIG, ppc):CONFIG += ppc64
+ } else {
+ !contains(QT_CONFIG, x86_64):contains(QT_CONFIG, x86):CONFIG += x86
+ contains(QT_CONFIG, x86_64):!contains(QT_CONFIG, x86):CONFIG += x86_64
+ }
+}
diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
new file mode 100644
index 0000000000..81e1d061f8
--- /dev/null
+++ b/mkspecs/features/mac/default_pre.prf
@@ -0,0 +1,3 @@
+CONFIG = sdk rez $$CONFIG
+load(default_pre)
+
diff --git a/mkspecs/features/mac/dwarf2.prf b/mkspecs/features/mac/dwarf2.prf
new file mode 100644
index 0000000000..fc055629f8
--- /dev/null
+++ b/mkspecs/features/mac/dwarf2.prf
@@ -0,0 +1,6 @@
+macx-xcode|macx-pbuilder {
+} else {
+ QMAKE_CFLAGS_DEBUG += $$QMAKE_CFLAGS_DWARF2
+ QMAKE_OBJECTIVE_CFLAGS_DEBUG += $$QMAKE_OBJECTIVE_DWARF2
+ QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CXXFLAGS_DWARF2
+}
diff --git a/mkspecs/features/mac/objective_c.prf b/mkspecs/features/mac/objective_c.prf
new file mode 100644
index 0000000000..0f25f41eec
--- /dev/null
+++ b/mkspecs/features/mac/objective_c.prf
@@ -0,0 +1,23 @@
+
+for(source, SOURCES) {
+ contains(source,.*\\.mm?$) {
+ warning(Objective-C source \'$$source\' found in SOURCES but should be in OBJECTIVE_SOURCES)
+ SOURCES -= $$source
+ OBJECTIVE_SOURCES += $$source
+ }
+}
+
+isEmpty(QMAKE_OBJECTIVE_CC):QMAKE_OBJECTIVE_CC = $$QMAKE_CC
+
+OBJECTIVE_C_OBJECTS_DIR = $$OBJECTS_DIR
+isEmpty(OBJECTIVE_C_OBJECTS_DIR):OBJECTIVE_C_OBJECTS_DIR = .
+isEmpty(QMAKE_EXT_OBJECTIVE_C):QMAKE_EXT_OBJECTIVE_C = .mm .m
+
+objective_c.dependency_type = TYPE_C
+objective_c.variables = QMAKE_OBJECTIVE_CFLAGS
+objective_c.commands = $$QMAKE_OBJECTIVE_CC -c $(QMAKE_COMP_QMAKE_OBJECTIVE_CFLAGS) $(DEFINES) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+objective_c.output = $$OBJECTIVE_C_OBJECTS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+objective_c.input = OBJECTIVE_SOURCES
+objective_c.name = Compile ${QMAKE_FILE_IN}
+silent:objective_c.commands = @echo objective-c ${QMAKE_FILE_IN} && $$objective_c.commands
+QMAKE_EXTRA_COMPILERS += objective_c
diff --git a/mkspecs/features/mac/ppc.prf b/mkspecs/features/mac/ppc.prf
new file mode 100644
index 0000000000..e9169d9aa3
--- /dev/null
+++ b/mkspecs/features/mac/ppc.prf
@@ -0,0 +1,7 @@
+macx-xcode|macx-pbuilder {
+} else {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_PPC
+ QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_PPC
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_PPC
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_PPC
+}
diff --git a/mkspecs/features/mac/ppc64.prf b/mkspecs/features/mac/ppc64.prf
new file mode 100644
index 0000000000..5a04d5beb3
--- /dev/null
+++ b/mkspecs/features/mac/ppc64.prf
@@ -0,0 +1,7 @@
+macx-xcode|macx-pbuilder {
+} else {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_PPC_64
+ QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_PPC_64
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_PPC_64
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_PPC_64
+}
diff --git a/mkspecs/features/mac/rez.prf b/mkspecs/features/mac/rez.prf
new file mode 100644
index 0000000000..3defd8685a
--- /dev/null
+++ b/mkspecs/features/mac/rez.prf
@@ -0,0 +1,16 @@
+
+#global defaults
+isEmpty(QMAKE_REZ) {
+ QMAKE_REZ = /Developer/Tools/Rez
+}
+isEmpty(REZ_DIR):REZ_DIR = .
+isEmpty(QMAKE_EXT_REZ):QMAKE_EXT_REZ = .rsrc
+
+rez_source.CONFIG += no_link
+rez_source.dependency_type = TYPE_C
+rez_source.commands = $$QMAKE_REZ ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} -useDF
+rez_source.output = $$REZ_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_REZ)}
+rez_source.input = REZ_FILES
+rez_source.name = REZ ${QMAKE_FILE_IN}
+silent:rez_source.commands = @echo rez ${QMAKE_FILE_IN} && $$rez_source.commands
+QMAKE_EXTRA_COMPILERS += rez_source
diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
new file mode 100644
index 0000000000..5eab94896b
--- /dev/null
+++ b/mkspecs/features/mac/sdk.prf
@@ -0,0 +1,8 @@
+!isEmpty(QMAKE_MAC_SDK) {
+ !macx-xcode:!macx-pbuilder {
+ QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
+ QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
+ QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK
+ QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK
+ }
+}
diff --git a/mkspecs/features/mac/x86.prf b/mkspecs/features/mac/x86.prf
new file mode 100644
index 0000000000..a7a9f84274
--- /dev/null
+++ b/mkspecs/features/mac/x86.prf
@@ -0,0 +1,7 @@
+macx-xcode|macx-pbuilder {
+} else {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_X86
+ QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_X86
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_X86
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_X86
+}
diff --git a/mkspecs/features/mac/x86_64.prf b/mkspecs/features/mac/x86_64.prf
new file mode 100644
index 0000000000..65b6b79651
--- /dev/null
+++ b/mkspecs/features/mac/x86_64.prf
@@ -0,0 +1,7 @@
+macx-xcode|macx-pbuilder {
+} else {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_X86_64
+ QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_X86_64
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_X86_64
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_X86_64
+}
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
new file mode 100644
index 0000000000..d0b36e41b2
--- /dev/null
+++ b/mkspecs/features/moc.prf
@@ -0,0 +1,116 @@
+
+#global defaults
+qtPrepareTool(QMAKE_MOC, moc)
+isEmpty(MOC_DIR):MOC_DIR = .
+isEmpty(QMAKE_H_MOD_MOC):QMAKE_H_MOD_MOC = moc_
+isEmpty(QMAKE_EXT_CPP_MOC):QMAKE_EXT_CPP_MOC = .moc
+
+# On Windows, put the includes into a .inc file which moc will read, if the project
+# has too many includes. We do this to overcome a command-line limit on Win < XP
+INCLUDETEMP=
+WIN_INCLUDETEMP=
+win32:count($$list($$INCLUDEPATH), 40, >) {
+ INCLUDETEMP = $$MOC_DIR/mocinclude.tmp
+
+ WIN_INCLUDETEMP=$$INCLUDETEMP
+
+ EOC = $$escape_expand(\\n\\t)
+
+ contains(TEMPLATE, "vc.*") {
+ # the VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
+ # No other generator understands the \h
+ if(win32-msvc2*|wince*msvc*): EOC = $$escape_expand(\\r\\h)
+ else: EOC = $$escape_expand(\\\\\\n\\t)
+ }
+
+ unset(INCFILELIST)
+ RET =
+ for(incfile, $$list($$INCLUDEPATH)) {
+ INCFILELIST = -I$$incfile
+ isEmpty(RET): RET += @echo $$INCFILELIST> $$WIN_INCLUDETEMP $$EOC
+ else: RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
+ }
+ !isEmpty(INCFILELIST):RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
+
+ build_pass|isEmpty(BUILDS) {
+ mocinclude.target = $$INCLUDETEMP
+ mocinclude.commands = $$RET
+ QMAKE_EXTRA_TARGETS += mocinclude
+ }
+}
+
+defineReplace(mocCmdBase) {
+ !isEmpty(WIN_INCLUDETEMP) {
+ RET =
+ contains(TEMPLATE, "vc.*") {
+ RET += $$mocinclude.commands
+ }
+ RET += $$QMAKE_MOC $(DEFINES) @$$WIN_INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D)
+ return($$RET)
+ }
+ return($$QMAKE_MOC $(DEFINES) $(INCPATH) $$join(QMAKE_COMPILER_DEFINES, " -D", -D))
+}
+
+#moc headers
+moc_header.CONFIG = moc_verify
+moc_header.dependency_type = TYPE_C
+moc_header.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
+moc_header.input = HEADERS
+moc_header.variable_out = SOURCES
+moc_header.name = MOC ${QMAKE_FILE_IN}
+!contains(TEMPLATE, "vc.*") {
+ !isEmpty(INCLUDETEMP):moc_header.depends += $$INCLUDETEMP
+}
+silent:moc_header.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_header.commands
+QMAKE_EXTRA_COMPILERS += moc_header
+INCREDIBUILD_XGE += moc_header
+
+#moc sources
+moc_source.CONFIG = no_link moc_verify
+moc_source.dependency_type = TYPE_C
+moc_source.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC}
+moc_source.input = SOURCES OBJECTIVE_SOURCES
+moc_source.name = MOC ${QMAKE_FILE_IN}
+!contains(TEMPLATE, "vc.*") {
+ !isEmpty(INCLUDETEMP):moc_source.depends += $$INCLUDETEMP
+}
+silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands
+QMAKE_EXTRA_COMPILERS += moc_source
+INCREDIBUILD_XGE += moc_source
+
+#make sure we can include these files
+moc_dir_short = $$MOC_DIR
+contains(QMAKE_HOST.os,Windows):moc_dir_short ~= s,^.:,/,
+contains(moc_dir_short, ^[/\\\\].*):INCLUDEPATH += $$MOC_DIR
+else:INCLUDEPATH += $$OUT_PWD/$$MOC_DIR
+
+# Backwards compatibility: Make shadow builds with default MOC_DIR work
+# if the user did not add the source dir explicitly.
+equals(MOC_DIR, .) {
+ CONFIG -= include_source_dir
+ CONFIG = include_source_dir $$CONFIG
+}
+
+#auto depend on moc
+unix:!symbian:!no_mocdepend {
+ moc_source.depends += $$first(QMAKE_MOC)
+ moc_header.depends += $$first(QMAKE_MOC)
+ !contains(TARGET, moc) { #auto build moc
+ isEmpty(QMAKE_MOC_SRC):QMAKE_MOC_SRC = "$(QTDIR)/src/tools/moc"
+ make_moc.target = $$first(QMAKE_MOC)
+ make_moc.commands = (cd $$QMAKE_MOC_SRC && $(MAKE))
+ QMAKE_EXTRA_TARGETS += make_moc
+ }
+}
+
+#generate a mocclean
+build_pass|isEmpty(BUILDS):mocclean.depends = compiler_moc_header_clean compiler_moc_source_clean
+else:mocclean.CONFIG += recursive
+QMAKE_EXTRA_TARGETS += mocclean
+
+#generate a mocables
+build_pass|isEmpty(BUILDS):mocables.depends = compiler_moc_header_make_all compiler_moc_source_make_all
+else:mocables.CONFIG += recursive
+QMAKE_EXTRA_TARGETS += mocables
diff --git a/mkspecs/features/no_debug_info.prf b/mkspecs/features/no_debug_info.prf
new file mode 100644
index 0000000000..e05410d491
--- /dev/null
+++ b/mkspecs/features/no_debug_info.prf
@@ -0,0 +1,14 @@
+
+win32-msvc2*|wince*msvc* {
+ QMAKE_CFLAGS -= -Zi
+ QMAKE_CFLAGS_DEBUG -= -Zi
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -= -Zi
+ QMAKE_CXXFLAGS -= -Zi
+ QMAKE_CXXFLAGS_DEBUG -= -Zi
+ QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -Zi
+} else {
+ QMAKE_CFLAGS -= -g -ggdb3
+ QMAKE_CXXFLAGS -= -g -ggdb3
+ QMAKE_LFLAGS -= -g -ggdb3
+ QMAKE_LIBFLAGS -= -g -ggdb3
+}
diff --git a/mkspecs/features/qdbus.prf b/mkspecs/features/qdbus.prf
new file mode 100644
index 0000000000..1d8704d3d5
--- /dev/null
+++ b/mkspecs/features/qdbus.prf
@@ -0,0 +1,2 @@
+qtAddLibrary(QtDBus)
+CONFIG += dbusadaptors dbusinterfaces
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
new file mode 100644
index 0000000000..191a449719
--- /dev/null
+++ b/mkspecs/features/qt.prf
@@ -0,0 +1,221 @@
+CONFIG *= moc thread
+
+#handle defines
+win32 {
+ qt_static:DEFINES += QT_NODLL
+ !contains(DEFINES, QT_NODLL) {
+ QT_ENV_DLL = $$(QT_DLL)
+ QT_ENV_NO_DLL = $$(QT_NODLL)
+ isEmpty(QT_ENV_NO_DLL) {
+ shared|!isEmpty(QT_ENV_DLL):DEFINES += QT_DLL
+ }
+ contains(DEFINES, QT_MAKEDLL)|contains(DEFINES, QT_DLL):QMAKE_QT_DLL = 1
+ }
+}
+CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG
+no_keywords:DEFINES += QT_NO_KEYWORDS
+plugin { #Qt plugins
+ static:DEFINES += QT_STATICPLUGIN
+ DEFINES += QT_PLUGIN
+
+ # Triggers both on Qt being configured with -arch boundschecker,
+ # and if you qmake CONFIG+=boundchecker on your plugin project
+ boundschecker|contains(QT_CONFIG,boundschecker) {
+ # This option is added for plugins when Qt is configured for Boundschecker,
+ # since we want Boundschecker to not instrument the qt_plugin_query_verification_data
+ # function, as we call that function without the plugin's dependent DLLs, thus
+ # Boundscheckers instrumentation will fail. The function only returns a const char *,
+ # so no instrumentation is really needed on that function anyways.
+ QMAKE_CFLAGS += /nmignore:*:qt_plugin_query_verification_data
+ QMAKE_CXXFLAGS += /nmignore:*:qt_plugin_query_verification_data
+ }
+}
+
+#handle includes
+INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picking up "stale" includes
+win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
+
+# As order does matter for static libs, we reorder the QT variable here
+TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core meegographicssystemhelper
+for(QTLIB, $$list($$TMPLIBS)) {
+ contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
+}
+
+QT_UNKNOWN = $$QT
+QT_UNKNOWN -= $$QT_ORDERED
+QT = $$QT_ORDERED
+for(QTLIB, $$list($$QT_UNKNOWN)) {
+ !contains(TMPLIBS, $$QTLIB):message("Warning: unknown QT: $$QTLIB")
+}
+
+QT_PLUGIN_VERIFY = QTPLUGIN DEPLOYMENT_PLUGIN
+for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) {
+ for(QTPLUG, $$list($$lower($$unique($$QT_CURRENT_VERIFY)))) {
+ qplugin_style =
+ !qt_debug:!qt_release {
+ CONFIG(debug, debug|release):qplugin_style = debug
+ else:qplugin_style = release
+ } else:CONFIG(qt_debug, qt_debug|qt_release) {
+ qplugin_style = debug
+ } else {
+ qplugin_style = release
+ }
+
+ # Check if the plugin is known to Qt. We can use this to determine
+ # the plugin path. Unknown plugins must rely on the default link path.
+ ACCESSIBLEPLUGINS = qtaccessiblewidgets qtaccessiblecompatwidgets
+ CODECPLUGINS = qcncodecs qjpcodecs qkrcodecs qtwcodecs
+ DECORATIONPLUGINS = qdecorationdefault qdecorationwindows
+ GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxsnap qgfxvga16 qgfxmatrox qgfxvoodoo qgfxtransformed qgfxshadowfb
+ IMAGEPLUGINS = qgif qmng qjpeg qsvg
+ INPUTPLUGINS = qimsw-multi
+ MOUSEDRIVERPLUGINS = qtslibmousehandler
+ SQLPLUGINS = qsqldb2 qsqloci qsqltds qsqlodbc qsqlpsql qsqlibase qsqlmysql qsqlite2 qsqlite
+ PHONONPLUGINS = phonon_waveout phonon_ds9
+
+ ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS
+
+ QT_PLUGINPATH =
+ contains(ALLQTPLUGINS, $$QTPLUG) {
+ # Determine the plugin path
+ contains(ACCESSIBLEPLUGINS, $$QTPLUG): QT_PLUGINPATH = accessible
+ contains(CODECPLUGINS, $$QTPLUG): QT_PLUGINPATH = codecs
+ contains(DECORATIONPLUGINS, $$QTPLUG): QT_PLUGINPATH = decorations
+ contains(GFXDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = gfxdrivers
+ contains(IMAGEPLUGINS, $$QTPLUG): QT_PLUGINPATH = imageformats
+ contains(INPUTPLUGINS, $$QTPLUG): QT_PLUGINPATH = inputmethods
+ contains(MOUSEDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = mousedrivers
+ contains(SQLPLUGINS, $$QTPLUG): QT_PLUGINPATH = sqldrivers
+ contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend
+ }
+
+ # Generate the plugin linker line
+ target_qt:isEqual(TARGET, QTPLUG) {
+ warning($$TARGET cannot have a QTPLUGIN of $$QTPLUG)
+ } else {
+ QT_LINKAGE = -l$${QTPLUG}
+ win32 {
+ CONFIG(debug, debug|release):QT_LINKAGE = -l$${QTPLUG}d
+ } else:mac {
+ isEqual(qplugin_style, debug):QT_LINKAGE = -l$${QTPLUG}_debug
+ }
+ }
+
+ # Only link against plugin in static builds
+ isEqual(QT_CURRENT_VERIFY, QTPLUGIN): {
+ !isEmpty(QT_PLUGINPATH): LIBS *= -L$$[QT_INSTALL_PLUGINS]/$$QT_PLUGINPATH
+ LIBS += $$QT_LINKAGE
+ # if the plugin is linked statically there is no need to deploy it
+ DEPLOYMENT_PLUGIN -= $$QT_CURRENT_VERIFY
+ }
+ isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:wince*: {
+ QT_ITEM =
+ CONFIG(debug, debug|release): QT_ITEM = $${QTPLUG}d4.dll
+ else: QT_ITEM = $${QTPLUG}4.dll
+
+ eval(qt_additional_plugin_$${QTPLUG}.files = $$[QT_INSTALL_PLUGINS]/$${QT_PLUGINPATH}/$${QT_ITEM})
+ eval(qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH})
+
+ DEPLOYMENT *= qt_additional_plugin_$${QTPLUG}
+ }
+ isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:symbian: {
+ QT_ITEM = $${QTPLUG}.dll
+
+ eval(qt_additional_plugin_$${QTPLUG}.files = $${QT_ITEM})
+ eval(qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH})
+
+ DEPLOYMENT *= qt_additional_plugin_$${QTPLUG}
+ }
+ }
+}
+#specific module settings
+!isEmpty(QT_BUILD_TREE):QMAKE_LIBDIR = $$QT_BUILD_TREE/lib $$QMAKE_LIBDIR #as above, prepending prevents us from picking up "stale" libs
+QMAKE_LIBDIR += $$QMAKE_LIBDIR_QT
+for(QTLIB, $$list($$lower($$unique(QT)))) {
+ unset(qlib_style)
+ !qt_debug:!qt_release {
+ CONFIG(debug, debug|release):qlib_style = debug
+ else:qlib_style = release
+ } else:CONFIG(qt_debug, qt_debug|qt_release) {
+ qlib_style = debug
+ } else {
+ qlib_style = release
+ }
+
+ unset(qlib)
+ isEqual(QTLIB, gui):qlib = QtGui
+ else:isEqual(QTLIB, network):qlib = QtNetwork
+ else:isEqual(QTLIB, xml):qlib = QtXml
+ else:isEqual(QTLIB, xmlpatterns):qlib = QtXmlPatterns
+ else:isEqual(QTLIB, opengl):qlib = QtOpenGL
+ else:isEqual(QTLIB, openvg):qlib = QtOpenVG
+ else:isEqual(QTLIB, sql):qlib = QtSql
+ else:isEqual(QTLIB, core):qlib = QtCore
+ else:isEqual(QTLIB, canvas):qlib = QtCanvas
+ else:isEqual(QTLIB, qt3support):qlib = Qt3Support
+ else:isEqual(QTLIB, svg):qlib = QtSvg
+ else:isEqual(QTLIB, script):qlib = QtScript
+ else:isEqual(QTLIB, scripttools):qlib = QtScriptTools
+ else:isEqual(QTLIB, testlib):qlib = QtTest
+ else:isEqual(QTLIB, dbus):qlib = QtDBus
+ else:isEqual(QTLIB, phonon) {
+ qlib = phonon
+ INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon_compat
+
+ # The Helix backend requires this. Since we can't let a plugin set it,
+ # we bump the values for all Symbian Phonon plugins.
+ symbian:isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x040000 0x1600000
+
+ } 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:isEqual(QTLIB, meegographicssystemhelper):qlib = QtMeeGoGraphicsSystemHelper
+ else:message("Unknown QT: $$QTLIB"):qlib =
+ !isEmpty(qlib) {
+ target_qt:isEqual(TARGET, qlib) {
+ warning($$TARGET cannot have a QT of $$QTLIB)
+ } else {
+ DEFINES *= $$upper(QT_$${QTLIB}_LIB)
+ isEqual(QTLIB, opengl):CONFIG += opengl
+ isEqual(QTLIB, openvg):CONFIG += openvg
+ isEqual(QTLIB, qt3support):DEFINES *= QT3_SUPPORT
+ isEqual(QTLIB, testlib):CONFIG += console
+ isEqual(QTLIB, dbus):CONFIG += dbusadaptors dbusinterfaces
+
+ qtAddLibrary($$qlib)
+ }
+ }
+}
+
+qt_compat {
+ !qt_compat_no_warning:QTDIR_build:warning(***USE of COMPAT inside of QTDIR!**) #just for us
+ INCLUDEPATH *= $$QMAKE_INCDIR_QT/Qt
+ DEFINES *= QT_COMPAT
+}
+
+wince*:static:gui {
+ QTLIB += qmenu_wce.res
+}
+
+!isEmpty(QT_NAMESPACE):DEFINES *= QT_NAMESPACE=$$QT_NAMESPACE
+mac {
+ !isEmpty(QT_NAMESPACE_MAC_CRC):DEFINES *= QT_NAMESPACE_MAC_CRC=$$QT_NAMESPACE_MAC_CRC
+}
+
+#SIMD defines:
+mmx:DEFINES += QT_HAVE_MMX
+3dnow:DEFINES += QT_HAVE_3DNOW
+sse:DEFINES += QT_HAVE_SSE QT_HAVE_MMXEXT
+sse2:DEFINES += QT_HAVE_SSE2
+sse3:DEFINES += QT_HAVE_SSE3
+ssse3:DEFINES += QT_HAVE_SSSE3
+sse4_1:DEFINES += QT_HAVE_SSE4_1
+sse4_2:DEFINES += QT_HAVE_SSE4_2
+avx:DEFINES += QT_HAVE_AVX
+iwmmxt:DEFINES += QT_HAVE_IWMMXT
diff --git a/mkspecs/features/qt_config.prf b/mkspecs/features/qt_config.prf
new file mode 100644
index 0000000000..de1cac4651
--- /dev/null
+++ b/mkspecs/features/qt_config.prf
@@ -0,0 +1,22 @@
+# This file is loaded by the mkspecs, before .qmake.cache has been loaded.
+# Consequently, we have to do some stunts to get values out of the cache.
+
+exists($$_QMAKE_CACHE_):QMAKE_QT_CONFIG = $$fromfile($$_QMAKE_CACHE_, QMAKE_QT_CONFIG)
+isEmpty(QMAKE_QT_CONFIG)|!exists($$QMAKE_QT_CONFIG) {
+ !isEmpty(QT_BUILD_TREE):QMAKE_QT_CONFIG = $$QT_BUILD_TREE/mkspecs/qconfig.pri
+ else:exists($$_QMAKE_CACHE_):infile($$_QMAKE_CACHE_, QT_BUILD_TREE):QMAKE_QT_CONFIG = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)/mkspecs/qconfig.pri
+ else:exists($$[QT_INSTALL_DATA]/mkspecs/qconfig.pri):QMAKE_QT_CONFIG = $$[QT_INSTALL_DATA]/mkspecs/qconfig.pri
+}
+!exists($$QMAKE_QT_CONFIG)|!include($$QMAKE_QT_CONFIG, "", true) {
+ debug(1, "Cannot load qconfig.pri!")
+} else {
+ debug(1, "Loaded .qconfig.pri from ($$QMAKE_QT_CONFIG)")
+ for(dir, $$list($$unique($$list($$dirname(QMAKE_QT_CONFIG) \
+ $$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))))) {
+ debug(1, "Loading modules from $${dir}")
+ for(mod, $$list($$files($$dir/modules/qt_*.pri))):include($$mod)
+ }
+}
+
+load(qt_functions)
+
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
new file mode 100644
index 0000000000..5baf7ce2b4
--- /dev/null
+++ b/mkspecs/features/qt_functions.prf
@@ -0,0 +1,124 @@
+defineReplace(qtLibraryTarget) {
+ unset(LIBRARY_NAME)
+ LIBRARY_NAME = $$1
+ mac:!static:contains(QT_CONFIG, qt_framework) {
+ QMAKE_FRAMEWORK_BUNDLE_NAME = $$LIBRARY_NAME
+ export(QMAKE_FRAMEWORK_BUNDLE_NAME)
+ }
+ contains(TEMPLATE, .*lib):CONFIG(debug, debug|release) {
+ !debug_and_release|build_pass {
+ mac:RET = $$member(LIBRARY_NAME, 0)_debug
+ else:win32:RET = $$member(LIBRARY_NAME, 0)d
+ }
+ }
+ isEmpty(RET):RET = $$LIBRARY_NAME
+ return($$RET)
+}
+
+defineTest(qtAddLibrary) {
+ INCLUDEPATH -= $$QMAKE_INCDIR_QT/$$1
+ INCLUDEPATH = $$QMAKE_INCDIR_QT/$$1 $$INCLUDEPATH
+
+ LIB_NAME = $$1
+ unset(LINKAGE)
+ mac {
+ CONFIG(qt_framework, qt_framework|qt_no_framework) { #forced
+ QMAKE_FRAMEWORKPATH *= $${QMAKE_LIBDIR_QT}
+ FRAMEWORK_INCLUDE = $$QMAKE_LIBDIR_QT/$${LIB_NAME}.framework/Headers
+ !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
+ INCLUDEPATH -= $$FRAMEWORK_INCLUDE
+ INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
+ }
+ LINKAGE = -framework $${LIB_NAME}$${QT_LIBINFIX}
+ } else:!qt_no_framework { #detection
+ for(frmwrk_dir, $$list($$QMAKE_LIBDIR_QT $$QMAKE_LIBDIR $$(DYLD_FRAMEWORK_PATH) /Library/Frameworks)) {
+ exists($${frmwrk_dir}/$${LIB_NAME}.framework) {
+ QMAKE_FRAMEWORKPATH *= $${frmwrk_dir}
+ FRAMEWORK_INCLUDE = $$frmwrk_dir/$${LIB_NAME}.framework/Headers
+ !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
+ INCLUDEPATH -= $$FRAMEWORK_INCLUDE
+ INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
+ }
+ LINKAGE = -framework $${LIB_NAME}
+ break()
+ }
+ }
+ }
+ }
+ symbian {
+ isEqual(LIB_NAME, QtCore) {
+ #workaround for dependency from f32file.h on e32svr.h which has moved location in symbian3
+ contains(SYMBIAN_VERSION, Symbian3) {
+ INCLUDEPATH *= $$OS_LAYER_SYSTEMINCLUDE
+ }
+ } else:isEqual(LIB_NAME, QtGui) {
+ # Needed for #include <QtGui> because qs60mainapplication.h includes aknapp.h
+ INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE
+ } else:isEqual(LIB_NAME, QtWebKit) {
+ # Needed for because relative inclusion problem in toolchain
+ INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtXmlPatterns
+ INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
+ isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
+ isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+ } else:isEqual(LIB_NAME, QtXmlPatterns) {
+ # Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
+ INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
+ } else:isEqual(LIB_NAME, QtNetwork) {
+ isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
+ } else:isEqual(LIB_NAME, QtDeclarative) {
+ isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
+ isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+ }
+ export(TARGET.EPOCHEAPSIZE)
+ export(TARGET.CAPABILITY)
+ }
+ isEmpty(LINKAGE) {
+ if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
+ win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
+ mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
+ }
+ isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
+ }
+ !isEmpty(QMAKE_LSB) {
+ QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
+ QMAKE_LFLAGS *= -L/opt/lsb/lib
+ QMAKE_LFLAGS *= --lsb-shared-libs=$${LIB_NAME}$${QT_LIBINFIX}
+ }
+ LIBS += $$LINKAGE
+ export(LIBS)
+ export(INCLUDEPATH)
+ export(QMAKE_FRAMEWORKPATH)
+ export(QMAKE_LFLAGS)
+ return(true)
+}
+
+# variable, default
+defineTest(qtPrepareTool) {
+ isEmpty($$1) {
+ !isEmpty(QT_BUILD_TREE):$$1 = $$QT_BUILD_TREE/bin/$$2
+ else:$$1 = $$[QT_INSTALL_BINS]/$$2
+ }
+ $$1 ~= s,[/\\\\],$$QMAKE_DIR_SEP,
+ contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
+ exists($$eval($$1).bat) {
+ $$1 = $$eval($$1).bat
+ } else {
+ $$1 = $$eval($$1).exe
+ }
+ }
+ export($$1)
+}
+
+defineTest(packagesExist) {
+ # this can't be done in global scope here because qt_functions is loaded
+ # before the .pro is parsed, so if the .pro set PKG_CONFIG, we wouldn't know it
+ # yet. oops.
+ isEmpty(PKG_CONFIG):PKG_CONFIG = pkg-config # keep consistent with link_pkgconfig.prf! too
+
+ for(package, ARGS) {
+ !system($$PKG_CONFIG --exists $$package):return(false)
+ }
+
+ return(true)
+}
+
diff --git a/mkspecs/features/qtestlib.prf b/mkspecs/features/qtestlib.prf
new file mode 100644
index 0000000000..0b1fbee622
--- /dev/null
+++ b/mkspecs/features/qtestlib.prf
@@ -0,0 +1,4 @@
+
+CONFIG += console
+
+qtAddLibrary(QtTest)
diff --git a/mkspecs/features/qtopia.prf b/mkspecs/features/qtopia.prf
new file mode 100644
index 0000000000..7672a8d4a9
--- /dev/null
+++ b/mkspecs/features/qtopia.prf
@@ -0,0 +1 @@
+CONFIG *= qtopiainc qtopialib
diff --git a/mkspecs/features/qtopiainc.prf b/mkspecs/features/qtopiainc.prf
new file mode 100644
index 0000000000..2665da5859
--- /dev/null
+++ b/mkspecs/features/qtopiainc.prf
@@ -0,0 +1 @@
+INCLUDEPATH += $$QMAKE_INCDIR_QTOPIA
diff --git a/mkspecs/features/qtopialib.prf b/mkspecs/features/qtopialib.prf
new file mode 100644
index 0000000000..0c5ccf1ade
--- /dev/null
+++ b/mkspecs/features/qtopialib.prf
@@ -0,0 +1,2 @@
+!isEmpty(QMAKE_LIBDIR_QTOPIA):QMAKE_LIBDIR = $$QMAKE_LIBDIR_QTOPIA
+LIBS += $$QMAKE_LIBS_QTOPIA
diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf
new file mode 100644
index 0000000000..ede96575f3
--- /dev/null
+++ b/mkspecs/features/qttest_p4.prf
@@ -0,0 +1,23 @@
+isEmpty(TEMPLATE):TEMPLATE=app
+CONFIG += qt warn_on console depend_includepath testcase
+
+# x11 is not defined by configure (the following line is copied from gui.pro)
+!win32:!embedded:!qpa:!mac:!symbian:CONFIG += x11
+
+qtAddLibrary(QtTest)
+
+symbian:{
+ TARGET.EPOCHEAPSIZE = 0x100000 0x2000000
+# DEFINES += QTEST_NO_SPECIALIZATIONS
+ TARGET.CAPABILITY="None"
+ RSS_RULES ="group_name=\"QtTests\";"
+}
+
+# prefix test binary with tst_
+!contains(TARGET, ^tst_.*):TARGET = $$join(TARGET,,"tst_")
+
+isEmpty(target.path) {
+ target.path += $$[QT_INSTALL_PREFIX]/tests/qt4/$${TARGET}
+}
+
+INSTALLS += target
diff --git a/mkspecs/features/release.prf b/mkspecs/features/release.prf
new file mode 100644
index 0000000000..2d63c240d0
--- /dev/null
+++ b/mkspecs/features/release.prf
@@ -0,0 +1,7 @@
+CONFIG -= debug
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RELEASE
+QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_RELEASE
+QMAKE_LFLAGS += $$QMAKE_LFLAGS_RELEASE
+QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE
+!debug_and_release:fix_output_dirs:fixExclusiveOutputDirs(release, debug) \ No newline at end of file
diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
new file mode 100644
index 0000000000..a305a4f0eb
--- /dev/null
+++ b/mkspecs/features/resources.prf
@@ -0,0 +1,29 @@
+defined(qtPrepareTool)|load(qt_functions) ### Qt 5: see default_pre.prf
+qtPrepareTool(QMAKE_RCC, rcc)
+
+isEmpty(RCC_DIR):RCC_DIR = .
+isEmpty(QMAKE_RESOURCE_PREFIX):QMAKE_RESOURCE_PREFIX = /tmp/
+isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc
+
+resource_combine {
+ rcc.CONFIG += combine
+ rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_combined$${first(QMAKE_EXT_CPP)}
+} else {
+ rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
+}
+!contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT
+!contains(QMAKE_RESOURCE_FLAGS, -name) {
+ resource_combine {
+ isEmpty(QMAKE_RESOURCE_NAME):!isEmpty(TARGET):QMAKE_RESOURCE_NAME = $$TARGET
+ !isEmpty(QMAKE_RESOURCE_NAME):QMAKE_RESOURCE_FLAGS += -name $$QMAKE_RESOURCE_NAME
+ } else {
+ QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE}
+ }
+}
+rcc.commands = "$$QMAKE_RCC" $$QMAKE_RESOURCE_FLAGS "${QMAKE_FILE_IN}" -o "${QMAKE_FILE_OUT}"
+rcc.depend_command = "$$QMAKE_RCC" -list $$QMAKE_RESOURCE_FLAGS "${QMAKE_FILE_IN}"
+rcc.input = RESOURCES
+rcc.variable_out = SOURCES
+rcc.name = RCC ${QMAKE_FILE_IN}
+silent:rcc.commands = @echo rcc "${QMAKE_FILE_IN}" && $$rcc.commands
+QMAKE_EXTRA_COMPILERS += rcc
diff --git a/mkspecs/features/shared.prf b/mkspecs/features/shared.prf
new file mode 100644
index 0000000000..86efd8e6d8
--- /dev/null
+++ b/mkspecs/features/shared.prf
@@ -0,0 +1,7 @@
+CONFIG -= static
+contains(TEMPLATE, ".*lib"): {
+ CONFIG += dll
+ CONFIG -= staticlib
+ win32:QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL
+}
+!static_and_shared:fix_output_dirs:fixExclusiveOutputDirs(shared, static)
diff --git a/mkspecs/features/silent.prf b/mkspecs/features/silent.prf
new file mode 100644
index 0000000000..141e6bf9e4
--- /dev/null
+++ b/mkspecs/features/silent.prf
@@ -0,0 +1,6 @@
+!macx-xcode {
+ QMAKE_CC = @echo compiling $< && $$QMAKE_CC
+ QMAKE_CXX = @echo compiling $< && $$QMAKE_CXX
+ !contains(QMAKE_LINK, "@:"):QMAKE_LINK = @echo linking $@ && $$QMAKE_LINK
+ QMAKE_LINK_SHLIB = @echo linking $@ && $$QMAKE_LINK_SHLIB
+}
diff --git a/mkspecs/features/static.prf b/mkspecs/features/static.prf
new file mode 100644
index 0000000000..288852d5df
--- /dev/null
+++ b/mkspecs/features/static.prf
@@ -0,0 +1,14 @@
+CONFIG -= shared dll
+contains(TEMPLATE, ".*lib"):{
+ CONFIG += staticlib
+ unix {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_STATIC_LIB
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STATIC_LIB
+ }
+}
+
+mac {
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB
+}
+
+!static_and_shared:fix_output_dirs:fixExclusiveOutputDirs(static, shared)
diff --git a/mkspecs/features/static_and_shared.prf b/mkspecs/features/static_and_shared.prf
new file mode 100644
index 0000000000..39a9a1f740
--- /dev/null
+++ b/mkspecs/features/static_and_shared.prf
@@ -0,0 +1,3 @@
+!contains(TEMPLATE, subdirs):!macx-xcode:!symbian-abld:!symbian-sbsv2 {
+ addExclusiveBuilds(static, Static, shared, Shared)
+}
diff --git a/mkspecs/features/staticlib.prf b/mkspecs/features/staticlib.prf
new file mode 100644
index 0000000000..4884964a6f
--- /dev/null
+++ b/mkspecs/features/staticlib.prf
@@ -0,0 +1 @@
+CONFIG += static
diff --git a/mkspecs/features/symbian/add_mmp_rules.prf b/mkspecs/features/symbian/add_mmp_rules.prf
new file mode 100644
index 0000000000..7f96b811a2
--- /dev/null
+++ b/mkspecs/features/symbian/add_mmp_rules.prf
@@ -0,0 +1,33 @@
+# Arg1: List of conditions to generate block for
+# Arg2: List of variables containing rules to add
+defineTest(addMMPRules) {
+ unset(myConditions)
+ unset(myVariables)
+ unset(myIfDef)
+
+ myConditions = $$eval($$1) default
+ myVariables = $$eval($$2)
+ myIfDef = if
+
+ for(condition, $$list($$myConditions)) {
+ contains(condition, default) {
+ libBlock = "$${LITERAL_HASH}else"
+ } else {
+ libBlock = "$${LITERAL_HASH}$${myIfDef} defined($${condition})"
+ myIfDef = elif
+ }
+
+ for(var, $$list($$myVariables)) {
+ varVal = $$eval($${var}.$${condition})
+ isEmpty(varVal) {
+ # No value defined for current condition, so use default
+ varVal = $$eval($${var}.default)
+ }
+ !isEmpty(varVal): libBlock += "$$join(varVal,$$escape_expand(\\n))"
+ }
+
+ MMP_RULES += $$libBlock
+ }
+ MMP_RULES += "$${LITERAL_HASH}endif"
+ export(MMP_RULES)
+}
diff --git a/mkspecs/features/symbian/application_icon.prf b/mkspecs/features/symbian/application_icon.prf
new file mode 100644
index 0000000000..d9918bfd5f
--- /dev/null
+++ b/mkspecs/features/symbian/application_icon.prf
@@ -0,0 +1,87 @@
+load(data_caging_paths)
+
+contains(CONFIG, no_icon) {
+ # If no_icon keyword exist, the S60 UI app is just made hidden. This because S60 app FW
+ # requires the registration resource file to exist always
+ contains(QT, gui):contains(CONFIG, qt) {
+ symbian:RSS_RULES += "hidden = KAppIsHidden;"
+ CONFIG -= no_icon
+ }
+}
+
+
+!contains(CONFIG, no_icon) {
+ baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
+ contains(baseTarget, "^.*\\..*$") {
+ CONFIG += no_icon
+ ICON =
+ warning("Symbian resources do not support '.' character in TARGET, skipping resource generation.")
+ } else {
+ symbian-abld|symbian-sbsv2 {
+ resourceZDir = $$EPOCROOT$$HW_ZDIR$$APP_RESOURCE_DIR
+ regZDir = $$EPOCROOT$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR
+ } else {
+ contains(DESTDIR, "/.*") {
+ resourceZDir = $$DESTDIR
+ } else:isEmpty(DESTDIR) {
+ resourceZDir = $$OUT_PWD
+ } else {
+ resourceZDir = $$OUT_PWD/$$DESTDIR
+ }
+ regZDir = $$resourceZDir
+ }
+
+ default_resource_deployment.files += $$resourceZDir/$${baseTarget}.rsc
+ default_resource_deployment.path = $$APP_RESOURCE_DIR
+ default_reg_deployment.files += $$regZDir/$${baseTarget}_reg.rsc
+ default_reg_deployment.path = $$REG_RESOURCE_IMPORT_DIR
+
+ !isEmpty(ICON) {
+ !count(ICON, 1) {
+ ICON = $$first(ICON)
+ warning("Only first icon specified in ICON variable is used: $$ICON")
+ }
+
+ # Note: symbian-sbsv2 builds can't utilize extra compiler for mifconv, so ICON handling is done in code
+ !symbian-sbsv2 {
+ # Absolute path required for shadow builds.
+ # However, in older Symbian environments abld toolchain can't handle even moderately long
+ # paths, so don't force absolute there.
+ !symbian-abld:!contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON
+
+ #Makefile: requires paths with backslash
+ ICON_backslashed = $$ICON
+
+ symbian-abld {
+ # ${ZDIR} is defined in Makefile
+ mifIconZDir = ${ZDIR}$$APP_RESOURCE_DIR
+ } else {
+ mifIconZDir = $$resourceZDir
+ }
+
+ # Extra compiler rules for mifconv
+ mifconv.target = $$mifIconZDir/$${baseTarget}.mif
+ contains(QMAKE_HOST.os, "Windows") {
+ ICON_backslashed = $$replace(ICON_backslashed, /, \\)
+ mifconv.target = $$replace(mifconv.target, /, \\)
+ }
+ # Based on: http://www.forum.nokia.com/document/Cpp_Developers_Library
+ # svg-t icons should always use /c32 depth
+ mifconv.commands = mifconv $$mifconv.target /c32 $$ICON_backslashed
+
+ mifconv.depends = $$ICON
+ PRE_TARGETDEPS += $$mifconv.target
+ QMAKE_EXTRA_TARGETS += mifconv
+ QMAKE_CLEAN += $$mifconv.target
+ }
+ # Rules to use generated MIF file from symbian resources
+ RSS_RULES.number_of_icons = $$size(ICON_backslashed)
+
+ RSS_RULES.icon_file = $$APP_RESOURCE_DIR/$${baseTarget}.mif
+
+ default_resource_deployment.files += $$resourceZDir/$${baseTarget}.mif
+ }
+ }
+}
+
+
diff --git a/mkspecs/features/symbian/armcc_warnings.prf b/mkspecs/features/symbian/armcc_warnings.prf
new file mode 100644
index 0000000000..3331bffeef
--- /dev/null
+++ b/mkspecs/features/symbian/armcc_warnings.prf
@@ -0,0 +1,22 @@
+# 68: integer conversion resulted in a change of sign (sounds useful, but it's
+# buggy and is reported even in places where it makes no sense)
+# 111: Statement is unreachable
+# 185: Dynamic initialization in unreachable code
+# 187: use of "=" where "==" may have been intended
+# 191: Type qualifier is meaningless on cast type
+# 368: class "<class>" defines no constructor to initialize the following: <member>
+# (Disabled because there are other ways of assigning besides constructors)
+# 830: function "xxx" has no corresponding operator delete (to be called if an
+# exception is thrown during initialization of an allocated object) (used a
+# lot in 3rd party code)
+# 997: function "xxx" is hidden by "yyy" -- virtual function override intended?
+# (used all over the place in the Symbian SDK)
+# 1293: Assignment in condition
+# 1294: pre-ANSI C style functions declarations (used a lot in 3rd party code)
+# 2874: <variable> may be used before being set (this one sounds useful, but
+# it's output also for class instances, making it useless in practice)
+QMAKE_CFLAGS.ARMCC += --diag_suppress 68,111,185,187,191,368,830,997,1293,1294,2874
+QMAKE_CXXFLAGS.ARMCC += --diag_suppress 68,111,185,187,191,368,830,997,1293,1294,2874
+
+# 6780: <origvis> visibility removed from symbol '<symname>' through <impexp>
+QMAKE_LFLAGS.ARMCC += --diag_suppress 6780
diff --git a/mkspecs/features/symbian/data_caging_paths.prf b/mkspecs/features/symbian/data_caging_paths.prf
new file mode 100644
index 0000000000..7f5420cc88
--- /dev/null
+++ b/mkspecs/features/symbian/data_caging_paths.prf
@@ -0,0 +1,80 @@
+#
+# ==============================================================================
+# Name : data_caging_paths.prf
+# Part of :
+# Interface : Data Caging Path Definitions API for Qt/S60
+# Description : Predefined include paths to be used in the pro-files for the
+# paths related to data caging.
+#
+# Usage examples:
+#
+# # Load these definitions on pro-file if needed:
+# load(data_caging_paths)
+#
+# # These variables are mostly useful when specifying deployment
+#
+# myLib.files = myLib.dll
+# myLib.path = $$SHARED_LIB_DIR
+# DEPLOYMENT += myLib
+#
+# # Note: Do not use $$PLUGINS_DIR or $$PLUGINS_1_DIR to deploy Qt plugins.
+# # $$QT_PUBLIC_PLUGINS_BASE specifies the public base directory for Qt
+# # plugin stubs:
+#
+# myPublicImageFormatPlugin.files = myImageFormat.dll
+# myPublicImageFormatPlugin.path = $$QT_PLUGINS_BASE_DIR/imageformats
+# DEPLOYMENT += myPublicImageFormatPlugin
+#
+# ==============================================================================
+
+exists($${EPOCROOT}epoc32/include/data_caging_paths.prf) {
+
+ # Load platform specific paths
+ load($${EPOCROOT}epoc32/include/data_caging_paths.prf)
+
+} else {
+ # No platform specific paths provided, use default paths
+
+ APPARC_RECOGNISER_RESOURCES_DIR = /resource/apps/registrationresourcefiles
+ APP_BITMAP_DIR = /resource/apps
+ APP_RESOURCE_DIR = /resource/apps
+ BITMAP_DIR = /resource/apps
+ BIOFILE_DIR = /resource/messaging/bif
+ CHARCONV_PLUGIN_DIR = /resource/charconv
+ CONTACTS_RESOURCE_DIR = /resource/cntmodel
+ CTRL_PANEL_RESOURCE_DIR = /resource/controls
+ CONVERTER_PLUGIN_RESOURCE_DIR = /resource/convert
+ ECOM_RESOURCE_DIR = /resource/plugins
+ ERROR_RESOURCE_DIR = /resource/errors
+ PROGRAMS_DIR = /sys/bin
+ FEP_RESOURCES_DIR = /resource/fep
+ HELP_FILE_DIR = /resource/help
+ LOG_ENGINE_RESOURCE_DIR = /resource/logengine
+ MTM_RESOURCE_DIR = /resource/messaging
+ MTM_INFO_FILE_DIR = /resource/messaging/mtm
+ PRINTER_DRIVER_DIR = /resource/printers
+ SHARED_LIB_DIR = /sys/bin
+ UIKLAF_RESOURCE_DIR = /resource/uiklaf
+ WAPPUSH_PLUGIN_RESOURCE_DIR = /resource/messaging/wappush
+ WATCHER_PLUGIN_RESOURCE_DIR = /resource/messaging/watchers
+ RECOGNISERS_DIR = /sys/bin
+ PARSERS_DIR = /sys/bin
+ NOTIFIERS_DIR = /sys/bin
+ PLUGINS_DIR = /sys/bin
+ PLUGINS_1_DIR = /sys/bin
+ RESOURCE_FILES_DIR = /resource
+
+ CA_CERTIFICATES_DIR = /private/101f72a6
+ COMMDB_DIR = /private/100012a5
+ SS_CONFIG_FILE_DIR = /private/101f7989/esock
+ TRUSTED_FONTS_DIR = /private/10003a16/fonts
+ UNTRUSTED_FONT_DIR = /private/10003a16/import/fonts
+ WINDOW_SERVER_INI_DIR = /private/10003b20
+ SKINS_DIR = /private/10207114
+ BOOTDATA_DIR = /resource/bootdata
+}
+
+isEmpty(HW_ZDIR): HW_ZDIR = epoc32/data/z
+isEmpty(REG_RESOURCE_DIR): REG_RESOURCE_DIR = /private/10003a3f/apps
+isEmpty(REG_RESOURCE_IMPORT_DIR): REG_RESOURCE_IMPORT_DIR = /private/10003a3f/import/apps
+isEmpty(APP_PRIVATE_DIR_BASE): APP_PRIVATE_DIR_BASE = /private
diff --git a/mkspecs/features/symbian/debug.prf b/mkspecs/features/symbian/debug.prf
new file mode 100644
index 0000000000..b5afeb6ba6
--- /dev/null
+++ b/mkspecs/features/symbian/debug.prf
@@ -0,0 +1 @@
+QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/udeb
diff --git a/mkspecs/features/symbian/def_files.prf b/mkspecs/features/symbian/def_files.prf
new file mode 100644
index 0000000000..746de6a242
--- /dev/null
+++ b/mkspecs/features/symbian/def_files.prf
@@ -0,0 +1,96 @@
+# With DEF files enabled, removed exported symbols are treated as errors
+# and there is binary compatibility between successive builds.
+
+CONFIG -= def_files_disabled
+
+# We need a target name without the INFIX'ed part, since DEF files are not infixed.
+equals(QMAKE_TARGET_PRODUCT, Qt4)|equals(QMAKE_TARGET_PRODUCT, QTestLib):clean_TARGET = $$replace(TARGET, "$${QT_LIBINFIX}$", "")
+else:clean_TARGET = $$TARGET
+
+defineTest(qtTestIfDirExists) {
+ contains(QMAKE_HOST.os,Windows) {
+ dirToTest = $$1
+ $$dirToTest ~= s,/,\\,
+ # Windows trick. Test for existence of nul, which every directory has.
+ retValue = $$system("if exist $$dirToTest\\nul echo true")
+ contains(retValue, true):return(true)|return(false)
+ } else {
+ system("test -d $$1"):return(true)|return(false)
+ }
+}
+
+symbian-abld|symbian-sbsv2 {
+ # Firstly, if the MMP_RULES already contain a defBlock variable, don't generate another one
+ # (this bit is slightly magic, because it depends upon everyone creating their DEFFILE statements
+ # in a defBlock variable; but otherwise we have to expand MMP_RULES then scan for the DEFFILE keyword)
+ # Similarly, explicit EXPORTUNFROZEN should block adding defBlock
+ !contains(MMP_RULES, defBlock):!contains(MMP_RULES, EXPORTUNFROZEN) {
+ # Apps are executables on Symbian, so don't have exports, and therefore don't have DEF files
+ # Plugins use standard DEF files, which qmake generates, so shouldn't be using these DEFFILE
+ # statements - they use the qmake generated statements instead
+ # Static libraries obviously don't have DEF files, as they don't take part in dynamic linkage
+ !contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): {
+ !isEmpty(DEF_FILE) {
+ defBlock = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "DEFFILE $$DEF_FILE/bwins/$${clean_TARGET}.def" \
+ "$${LITERAL_HASH}elif defined EABI" \
+ "DEFFILE $$DEF_FILE/eabi/$${clean_TARGET}.def" \
+ "$${LITERAL_HASH}endif"
+ } else:!isEmpty(defFilePath) {
+ defBlock = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "DEFFILE $$defFilePath/bwins/$${clean_TARGET}.def" \
+ "$${LITERAL_HASH}elif defined EABI" \
+ "DEFFILE $$defFilePath/eabi/$${clean_TARGET}.def" \
+ "$${LITERAL_HASH}endif"
+ } else {
+ # If defFilePath is not defined, then put the folders containing the DEF files at the
+ # same level as the .pro (and generated MMP) file(s)
+ defBlock = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "DEFFILE ./bwins/$${clean_TARGET}.def" \
+ "$${LITERAL_HASH}elif defined EABI" \
+ "DEFFILE ./eabi/$${clean_TARGET}.def" \
+ "$${LITERAL_HASH}endif"
+ }
+ MMP_RULES += defBlock
+ }
+ }
+
+} else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib):!contains(CONFIG, plugin) {
+ !isEmpty(DEF_FILE) {
+ defFile = $$DEF_FILE
+ } else {
+ defFile = .
+ }
+ qtTestIfDirExists($$_PRO_FILE_PWD_/$$defFile) {
+ !exists("$$_PRO_FILE_PWD_/$$defFile/eabi") {
+ dirToCreate = $$_PRO_FILE_PWD_/$$defFile/eabi
+ contains(QMAKE_HOST.os,Windows):dirToCreate ~= s,/,\\,
+ system("$$QMAKE_MKDIR $$dirToCreate")
+ }
+ elf2e32FileToAdd = $$_PRO_FILE_PWD_/$$defFile/eabi/$$basename(clean_TARGET)u.def
+ } else {
+ elf2e32FileToAdd = $$_PRO_FILE_PWD_/$$defFile
+ }
+ QMAKE_ELF2E32_FLAGS += "--definput=$$elf2e32FileToAdd"
+
+ symbianObjdir = $$OBJECTS_DIR
+ isEmpty(symbianObjdir):symbianObjdir = .
+
+ freeze_target.target = freeze
+ freeze_target.depends = first
+ # The perl part is to convert to unix line endings and remove comments, which the s60 tools refuse to do.
+ freeze_target.commands = $$QMAKE_COPY $$symbianObjdir/$${TARGET}.def $$elf2e32FileToAdd
+ QMAKE_EXTRA_TARGETS += freeze_target
+} else:contains(TEMPLATE, subdirs) {
+ freeze_target.target = freeze
+ freeze_target.CONFIG = recursive
+ freeze_target.recurse = $$SUBDIRS
+ QMAKE_EXTRA_TARGETS += freeze_target
+} else {
+ freeze_target.target = freeze
+ freeze_target.commands =
+ QMAKE_EXTRA_TARGETS += freeze_target
+}
diff --git a/mkspecs/features/symbian/def_files_disabled.prf b/mkspecs/features/symbian/def_files_disabled.prf
new file mode 100644
index 0000000000..0344911f6d
--- /dev/null
+++ b/mkspecs/features/symbian/def_files_disabled.prf
@@ -0,0 +1,13 @@
+# With DEF files disabled, binary compatibility is broken every time you build
+
+CONFIG -= def_files
+
+# See def_files.prf for reasoning on the slight nastiness of this
+!contains(MMP_RULES, defBlock) {
+ # See def_files.prf for reasoning for excluding target types and configs below
+ !contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): {
+ # with EXPORTUNFROZEN enabled, new exports are included in the dll and dso/lib without
+ # needing to run abld/sbs freeze
+ MMP_RULES *= EXPORTUNFROZEN
+ }
+}
diff --git a/mkspecs/features/symbian/default_post.prf b/mkspecs/features/symbian/default_post.prf
new file mode 100644
index 0000000000..470372eb4a
--- /dev/null
+++ b/mkspecs/features/symbian/default_post.prf
@@ -0,0 +1,100 @@
+load(default_post)
+
+contains(TEMPLATE, ".*app") {
+ contains(CONFIG, stdbinary) {
+ QMAKE_LIBS +=
+ } else:contains(CONFIG,qt) {
+ QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
+ } else {
+ QMAKE_LIBS += $$QMAKE_LIBS_NO_QT_ENTRY
+ }
+
+ contains(DESTDIR, "/.*") {
+ default_bin_deployment.files += $$DESTDIR/$$symbianRemoveSpecialCharacters($$basename(TARGET)).exe
+ } else:isEmpty(DESTDIR) {
+ default_bin_deployment.files += $$OUT_PWD/$$symbianRemoveSpecialCharacters($$basename(TARGET)).exe
+ } else {
+ default_bin_deployment.files += $$OUT_PWD/$$DESTDIR/$$symbianRemoveSpecialCharacters($$basename(TARGET)).exe
+ }
+ default_bin_deployment.path += /sys/bin
+
+ load(application_icon.prf)
+}
+contains(TEMPLATE, lib): {
+ contains(CONFIG, staticlib)|contains(CONFIG, static): {
+ # Static libs should not have LIBRARY statements in S60
+ QMAKE_LIBS =
+ # Static libs do not need def files
+ MMP_RULES -= EXPORTUNFROZEN
+ }
+ contains(CONFIG, plugin):!contains(CONFIG, stdbinary): {
+ # Plugins based on normal libraries have predefined def file
+ MMP_RULES -= EXPORTUNFROZEN
+ }
+} else {
+ # Applications don't need this
+ MMP_RULES -= EXPORTUNFROZEN
+}
+
+isEmpty(TARGET.UID3):TARGET.UID3 = $$generate_uid("$${OUT_PWD}/$${TARGET}")
+isEmpty(TARGET.UID2) {
+ contains(CONFIG, stdbinary) {
+ TARGET.UID2 = 0x20004C45
+ } else {
+ contains(TEMPLATE, app) {
+ contains(QT, gui) {
+ TARGET.UID2 = 0x100039CE
+ } else {
+ TARGET.UID2 = 0
+ }
+ } else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
+ TARGET.UID2 = 0x1000008d
+ }
+ }
+}
+
+# Add dependency to Qt package to all other projects besides Qt libs.
+# Note: Qt libs package with full capabilities has UID3 of 0x2001E61C,
+# while self-signed version typically has temporary UID3 of 0xE001E61C.
+contains(CONFIG, qt):!contains(TARGET.UID3, 0x2001E61C):!contains(TARGET.UID3, 0xE001E61C):isEmpty(QT_LIBINFIX) {
+ qt_pkg_name = Qt
+ pkg_depends_qt += \
+ "; Default dependency to Qt libraries" \
+ "(0x2001E61C), $${QT_MAJOR_VERSION}, $${QT_MINOR_VERSION}, $${QT_PATCH_VERSION}, {$$addLanguageDependentPkgItem(qt_pkg_name)}"
+
+ # Projects linking to webkit need dependency to webkit
+ contains(QT, webkit): {
+ # these can be overridden by mkspecs/modules/qt_webkit.pri
+ isEmpty(QT_WEBKIT_MAJOR_VERSION) {
+ QT_WEBKIT_MAJOR_VERSION = $${QT_MAJOR_VERSION}
+ QT_WEBKIT_MINOR_VERSION = $${QT_MINOR_VERSION}
+ QT_WEBKIT_PATCH_VERSION = $${QT_PATCH_VERSION}
+ }
+
+ webkit_pkg_name = QtWebKit
+ pkg_depends_webkit += \
+ "; Dependency to Qt Webkit" \
+ "(0x200267C2), $${QT_WEBKIT_MAJOR_VERSION}, $${QT_WEBKIT_MINOR_VERSION}, $${QT_WEBKIT_PATCH_VERSION}, {$$addLanguageDependentPkgItem(webkit_pkg_name)}"
+ } else {
+ default_deployment.pkg_prerules -= pkg_depends_webkit
+ }
+} else {
+ default_deployment.pkg_prerules -= pkg_depends_webkit pkg_depends_qt
+}
+
+isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000
+isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x020000 0x800000
+
+# Supports Symbian^3 platforms by default and also S60 3.1, 3.2, and 5.0 if built against any of those.
+platform_product_id = S60ProductID
+platform_product_id = $$addLanguageDependentPkgItem(platform_product_id)
+pkg_platform_dependencies = \
+ "; Default HW/platform dependencies" \
+ "[0x20022E6D],0,0,0,{$$platform_product_id}" \
+ "[0x2003A678],0,0,0,{$$platform_product_id}"
+contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
+ pkg_platform_dependencies += \
+ "[0x102032BE],0,0,0,{$$platform_product_id}" \
+ "[0x102752AE],0,0,0,{$$platform_product_id}" \
+ "[0x1028315F],0,0,0,{$$platform_product_id}"
+}
diff --git a/mkspecs/features/symbian/default_pre.prf b/mkspecs/features/symbian/default_pre.prf
new file mode 100644
index 0000000000..ddb23b3157
--- /dev/null
+++ b/mkspecs/features/symbian/default_pre.prf
@@ -0,0 +1,2 @@
+CONFIG = stl_off $$CONFIG
+load(default_pre)
diff --git a/mkspecs/features/symbian/do_not_build_as_thumb.prf b/mkspecs/features/symbian/do_not_build_as_thumb.prf
new file mode 100644
index 0000000000..91a63c2263
--- /dev/null
+++ b/mkspecs/features/symbian/do_not_build_as_thumb.prf
@@ -0,0 +1,13 @@
+symbian-abld|symbian-sbsv2 {
+ MMP_RULES += ALWAYS_BUILD_AS_ARM
+} else:symbian-armcc {
+ QMAKE_CFLAGS -= --thumb
+ QMAKE_CFLAGS += --arm
+ QMAKE_CXXFLAGS -= --thumb
+ QMAKE_CXXFLAGS += --arm
+} else:symbian-gcce {
+ QMAKE_CFLAGS -= --thumb
+ QMAKE_CFLAGS += -marm -mthumb-interwork -mapcs
+ QMAKE_CXXFLAGS -= --thumb
+ QMAKE_CXXFLAGS += -marm -mthumb-interwork -mapcs
+}
diff --git a/mkspecs/features/symbian/epocallowdlldata.prf b/mkspecs/features/symbian/epocallowdlldata.prf
new file mode 100644
index 0000000000..b336f488fd
--- /dev/null
+++ b/mkspecs/features/symbian/epocallowdlldata.prf
@@ -0,0 +1 @@
+TARGET.EPOCALLOWDLLDATA=1
diff --git a/mkspecs/features/symbian/localize_deployment.prf b/mkspecs/features/symbian/localize_deployment.prf
new file mode 100644
index 0000000000..185c7130c0
--- /dev/null
+++ b/mkspecs/features/symbian/localize_deployment.prf
@@ -0,0 +1,118 @@
+SYMBIAN_LANG.af = 34 #Afrikaans
+SYMBIAN_LANG.sq = 35 #Albanian
+SYMBIAN_LANG.am = 36 #Amharic
+SYMBIAN_LANG.ar = 37 #Arabic
+SYMBIAN_LANG.hy = 38 #Armenian
+SYMBIAN_LANG.eu = 102 #Basque
+SYMBIAN_LANG.bn = 41 #Bengali
+SYMBIAN_LANG.bg = 42 #Bulgarian
+SYMBIAN_LANG.my = 43 #Burmese
+SYMBIAN_LANG.be = 40 #Byelorussian
+SYMBIAN_LANG.ca = 44 #Catalan
+SYMBIAN_LANG.zh = 31 #Chinese
+SYMBIAN_LANG.hr = 45 #Croatian
+SYMBIAN_LANG.cs = 25 #Czech
+SYMBIAN_LANG.da = 07 #Danish
+SYMBIAN_LANG.nl = 18 #Dutch
+SYMBIAN_LANG.en = 01 #English(UK)
+SYMBIAN_LANG.et = 49 #Estonian
+SYMBIAN_LANG.fi = 09 #Finnish
+SYMBIAN_LANG.fr = 02 #French
+SYMBIAN_LANG.gd = 52 #Gaelic
+SYMBIAN_LANG.gl = 103 #Galician
+SYMBIAN_LANG.ka = 53 #Georgian
+SYMBIAN_LANG.de = 03 #German
+SYMBIAN_LANG.el = 54 #Greek
+SYMBIAN_LANG.gu = 56 #Gujarati
+SYMBIAN_LANG.he = 57 #Hebrew
+SYMBIAN_LANG.hi = 58 #Hindi
+SYMBIAN_LANG.hu = 17 #Hungarian
+SYMBIAN_LANG.is = 15 #Icelandic
+SYMBIAN_LANG.id = 59 #Indonesian
+SYMBIAN_LANG.ga = 60 #Irish
+SYMBIAN_LANG.it = 05 #Italian
+SYMBIAN_LANG.ja = 32 #Japanese
+SYMBIAN_LANG.kn = 62 #Kannada
+SYMBIAN_LANG.kk = 63 #Kazakh
+SYMBIAN_LANG.ko = 65 #Korean
+SYMBIAN_LANG.lo = 66 #Laothian
+SYMBIAN_LANG.lv = 67 #Latvian
+SYMBIAN_LANG.lt = 68 #Lithuanian
+SYMBIAN_LANG.mk = 69 #Macedonian
+SYMBIAN_LANG.ms = 70 #Malay
+SYMBIAN_LANG.ml = 71 #Malayalam
+SYMBIAN_LANG.mr = 72 #Marathi
+SYMBIAN_LANG.mo = 73 #Moldavian
+SYMBIAN_LANG.mn = 74 #Mongolian
+SYMBIAN_LANG.nb = 08 #Norwegian
+SYMBIAN_LANG.nn = 75 #Nynorsk
+SYMBIAN_LANG.fa = 50 #Persian
+SYMBIAN_LANG.pl = 27 #Polish
+SYMBIAN_LANG.pt = 13 #Portuguese
+SYMBIAN_LANG.pa = 77 #Punjabi
+SYMBIAN_LANG.ro = 78 #Romanian
+SYMBIAN_LANG.ru = 16 #Russian
+SYMBIAN_LANG.sr = 79 #Serbian
+SYMBIAN_LANG.si = 80 #Singhalese
+SYMBIAN_LANG.sk = 26 #Slovak
+SYMBIAN_LANG.sl = 28 #Slovenian
+SYMBIAN_LANG.so = 81 #Somali
+SYMBIAN_LANG.st = 101 #South Sotho/Sesotho
+SYMBIAN_LANG.es = 04 #Spanish
+SYMBIAN_LANG.sw = 84 #Swahili
+SYMBIAN_LANG.sv = 06 #Swedish
+SYMBIAN_LANG.tl = 39 #Tagalog
+SYMBIAN_LANG.ta = 87 #Tamil
+SYMBIAN_LANG.te = 88 #Telugu
+SYMBIAN_LANG.th = 33 #Thai
+SYMBIAN_LANG.bo = 89 #Tibetan
+SYMBIAN_LANG.ti = 90 #Tigrinya
+SYMBIAN_LANG.tr = 14 #Turkish
+SYMBIAN_LANG.tk = 92 #Turkmen
+SYMBIAN_LANG.uk = 93 #Ukrainian
+SYMBIAN_LANG.ur = 94 #Urdu
+SYMBIAN_LANG.vi = 96 #Vietnamese
+SYMBIAN_LANG.cy = 97 #Welsh
+SYMBIAN_LANG.zu = 98 #Zulu
+
+# Regional dialects
+SYMBIAN_LANG.en_US = 10 #American English
+SYMBIAN_LANG.fr_BE = 21 #Belgian French
+SYMBIAN_LANG.pt_BR = 76 #Brazilian Portuguese
+SYMBIAN_LANG.en_CA = 46 #Canadian English
+SYMBIAN_LANG.fr_CA = 51 #Canadian French
+SYMBIAN_LANG.el_CY = 55 #Cyprus Greek
+SYMBIAN_LANG.tr_CY = 91 #Cyprus Turkish
+SYMBIAN_LANG.en_TW = 157 #English as appropriate for use in Taiwan
+SYMBIAN_LANG.en_HK = 158 #English as appropriate for use in Hong Kong
+SYMBIAN_LANG.en_CN = 159 #English as appropriate for use in the Peoples Republic of China
+SYMBIAN_LANG.en_JP = 160 #English as appropriate for use in Japan
+SYMBIAN_LANG.en_TH = 161 #English as appropriate for use in Thailand
+SYMBIAN_LANG.sv_FI = 85 #Finland Swedish
+SYMBIAN_LANG.zh_HK = 30 #HongKong Chinese
+SYMBIAN_LANG.es_419 = 83 #Latin American Spanish
+SYMBIAN_LANG.en_ZA = 48 #South African English
+SYMBIAN_LANG.fr_CH = 11 #Swiss French
+SYMBIAN_LANG.de_CH = 12 #Swiss German
+SYMBIAN_LANG.it_CH = 61 #Swiss Italian
+SYMBIAN_LANG.zh_TW = 29 #Taiwan Chinese
+
+isEmpty(SYMBIAN_MATCHED_LANGUAGES) {
+ matchSymbianLanguages()
+}
+
+# If there are translations that do not have Symbian language code defined for that exact
+# language + country combination, but have Symbian language code defined for just the language,
+# map the language + country combination to the same value as the plain language.
+for(language, SYMBIAN_UNMAPPED_LANGUAGES) {
+ languageVar = SYMBIAN_LANG.$${language}
+ fallbackLanguageVar = SYMBIAN_LANG.$$eval(SYMBIAN_LANGUAGE_FALLBACK.$$language)
+ $$languageVar = $$eval($$fallbackLanguageVar)
+}
+
+!isEmpty(SYMBIAN_MATCHED_TRANSLATIONS) {
+ # Generate dependencies to .ts files for pkg files
+ template_pkg_target.depends += $$SYMBIAN_MATCHED_TRANSLATIONS
+ installer_pkg_target.depends += $$SYMBIAN_MATCHED_TRANSLATIONS
+ stub_pkg_target.depends += $$SYMBIAN_MATCHED_TRANSLATIONS
+}
diff --git a/mkspecs/features/symbian/moc.prf b/mkspecs/features/symbian/moc.prf
new file mode 100644
index 0000000000..6030944c7d
--- /dev/null
+++ b/mkspecs/features/symbian/moc.prf
@@ -0,0 +1,18 @@
+load(moc)
+
+symbian-abld|symbian-sbsv2 {
+ RET = $$find(MOC_DIR, "(/|^)\\.[^/]+/?$")
+ !isEmpty(RET):{
+ error("Symbian does not support directories starting with a dot. Please set MOC_DIR to a different value in your profile. MOC_DIR: $$MOC_DIR")
+ }
+
+ RET = $$find(RCC_DIR, "(/|^)\\.[^/]+/?$")
+ !isEmpty(RET):{
+ error("Symbian does not support directories starting with a dot. Please set RCC_DIR to a different value in your profile. RCC_DIR: $$RCC_DIR")
+ }
+
+ RET = $$find(OBJECTS_DIR, "(/|^)\\.[^/]+/?$")
+ !isEmpty(RET):{
+ error("Symbian does not support directories starting with a dot. Please set OBJECTS_DIR to a different value in your profile. OBJECTS_DIR: $$OBJECTS_DIR")
+ }
+}
diff --git a/mkspecs/features/symbian/nested_exceptions.prf b/mkspecs/features/symbian/nested_exceptions.prf
new file mode 100644
index 0000000000..defca94d6f
--- /dev/null
+++ b/mkspecs/features/symbian/nested_exceptions.prf
@@ -0,0 +1,4 @@
+# use nested exceptions runtime support for apps
+contains(TEMPLATE, app) {
+ MMP_RULES *= EPOCNESTEDEXCEPTIONS
+}
diff --git a/mkspecs/features/symbian/opengl.prf b/mkspecs/features/symbian/opengl.prf
new file mode 100644
index 0000000000..9a8ab18433
--- /dev/null
+++ b/mkspecs/features/symbian/opengl.prf
@@ -0,0 +1,21 @@
+contains(QT_CONFIG, opengles1) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
+ !isEmpty(QMAKE_LIBDIR_OPENGL_ES1):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES1
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1_QT
+ else:LIBS += $$QMAKE_LIBS_OPENGL_ES1
+} else:contains(QT_CONFIG, opengles2) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2
+ !isEmpty(QMAKE_LIBDIR_OPENGL_ES2):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES2_QT
+ else:LIBS += $$QMAKE_LIBS_OPENGL_ES2
+} else {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+ !isEmpty(QMAKE_LIBDIR_OPENGL):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_QT
+ else:LIBS += $$QMAKE_LIBS_OPENGL
+}
+
+contains(QT_CONFIG, egl) {
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+}
+
diff --git a/mkspecs/features/symbian/platform_paths.prf b/mkspecs/features/symbian/platform_paths.prf
new file mode 100644
index 0000000000..f19898f188
--- /dev/null
+++ b/mkspecs/features/symbian/platform_paths.prf
@@ -0,0 +1,496 @@
+#
+# ==============================================================================
+# Name : platform_paths.prf
+# Part of :
+# Interface : Platform Path Definitions API for Qt/S60
+# Description : Predefined include paths to be used in the pro-files for the
+# components in the layered model. There is one definition for
+# each layer. The pro-file should use the statement that is
+# intended for the same layer as where the pro-file resides.
+#
+# Usage examples:
+#
+# Note: this file gets automatically added to all Qt/S60 projects
+#
+# Variable usages to add the system include paths
+#
+# The include paths has to be related to the layer in which your SW
+# resides. Thus as an example: a component residing in middleware
+# layer should use the MW specific macro.
+#
+# INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+# INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE
+#
+# If there is a need to include public headers of some S60 component,
+# various *_EXPORT_PATH macros can be utilized:
+#
+# INCLUDEPATH += $$OS_LAYER_PUBLIC_EXPORT_PATH(somecomponent)
+#
+# Variables related to using various parts of stdapis:
+#
+# To use STLLIB you need to have this in your pro-file:
+#
+# QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+# DEFINES *= $$STLLIB_USAGE_DEFINES
+#
+# Depending on what module you are using from stdapis you need to have
+# one or more of the following variables in your pro-file.
+#
+# INCLUDEPATH += $$OS_LAYER_LIBC_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_GLIB_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_SSL_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_BOOST_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_DBUS_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_LIBUTILITY_SYSTEMINCLUDE
+#
+# These paths are primarily meant to be used as is in bld.inf and .mmp
+# files, so they do not contain epocroot when using official symbian
+# toolchains (symbian-abld or symbian-sbsv2).
+# For makefile based mkspecs, epocroot is prepended to all paths for
+# convenience.
+#
+# To use paths defined here in other contexts that require epocroot to be
+# prepended always, such as exists checks, please use prependEpocroot
+# replacement function:
+#
+# exists($$prependEpocroot($$MW_LAYER_PUBLIC_EXPORT_PATH(foobar.h)))
+#
+# ==============================================================================
+
+symbian-abld|symbian-sbsv2 {
+ epocroot_prefix = /
+} else {
+ epocroot_prefix = $${EPOCROOT}
+}
+
+symbian-abld|symbian-sbsv2:exists($${EPOCROOT}epoc32/include/platform_paths.prf) {
+
+ # Symbian does not provide correct profiles for non-mmp based systems, so
+ # we only should get in here with abld and sbsv2.
+
+ # Load platform specific paths
+ load($${EPOCROOT}epoc32/include/platform_paths.prf)
+
+} else {
+
+ # No platform specific paths provided, use default paths
+
+ exists($${EPOCROOT}epoc32/include/mw) { # New SF structure
+
+ # ---------------------------------------
+ # Location, where the applications layer specific public headers are exported
+ # ---------------------------------------
+
+ defineReplace(APP_LAYER_SDK_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/app/$$1)
+ }
+ defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/app/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the applications layer specific platform headers are exported
+ # ---------------------------------------
+
+ defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/platform/app/$$1)
+ }
+ defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/platform/app/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the middleware layer specific public headers are exported
+ # ---------------------------------------
+
+ defineReplace(MW_LAYER_SDK_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/mw/$$1)
+ }
+ defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/mw/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the middleware layer specific platform headers are exported
+ # ---------------------------------------
+
+ defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/platform/mw/$$1)
+ }
+ defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/platform/mw/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the os layer specific public headers are exported
+ # ---------------------------------------
+
+ defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/$$1)
+ }
+ # WARNING: If the following path changes see the exists() function around line 219
+ defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the os specific platform headers are exported
+ # ---------------------------------------
+
+ defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/platform/$$1)
+ }
+ defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/platform/$$1)
+ }
+
+ # ---------------------------------------
+ # General comments about the 3 define statements related to include paths:
+ # 1) the /epoc32/include/oem is now defined there for backward compability.
+ # Once the directory is empty, the directory will be removed. However this
+ # enables us to ensure that if you use these define statements => you do
+ # not have to remove the statements later on, when the directory no longer
+ # exists.
+ # 2) These statements should be enough in normal cases. For certain specific
+ # cases you might need to add some specific directory from /epoc32/include
+ # (for instance /epoc32/include/ecom).
+ # In normal cases the include staments in code should be relative to one of
+ # the system include paths, but in certain cases, the included files requires
+ # that the subdirectory is also part of the system include paths.
+ # ---------------------------------------
+
+ # This variable defines the include paths, which are intended to be
+ # used in the pro-files that are part of the applications-layer. It includes all
+ # the needed directories from the /epoc32/include, that are valid ones for the
+ # application-layer components.
+ #
+ # Applications layer is the last one in the list, since most likely the most of
+ # the headers come from middleware or os-layer => thus they are first.
+
+ APP_LAYER_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include \
+ $${epocroot_prefix}epoc32/include/mw \
+ $${epocroot_prefix}epoc32/include/platform/mw \
+ $${epocroot_prefix}epoc32/include/platform \
+ $${epocroot_prefix}epoc32/include/app \
+ $${epocroot_prefix}epoc32/include/platform/app \
+ $${epocroot_prefix}epoc32/include/platform/loc \
+ $${epocroot_prefix}epoc32/include/platform/mw/loc \
+ $${epocroot_prefix}epoc32/include/platform/app/loc \
+ $${epocroot_prefix}epoc32/include/platform/loc/sc \
+ $${epocroot_prefix}epoc32/include/platform/mw/loc/sc \
+ $${epocroot_prefix}epoc32/include/platform/app/loc/sc
+
+ # This define statements defines the include paths, which are intended to be
+ # used in the pro-files that are part of the middleware-layer. It includes all
+ # the needed directories from the /epoc32/include, that are valid ones for the
+ # middleware-layer components.
+
+ MW_LAYER_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include \
+ $${epocroot_prefix}epoc32/include/mw \
+ $${epocroot_prefix}epoc32/include/platform/mw \
+ $${epocroot_prefix}epoc32/include/platform \
+ $${epocroot_prefix}epoc32/include/platform/loc \
+ $${epocroot_prefix}epoc32/include/platform/mw/loc \
+ $${epocroot_prefix}epoc32/include/platform/loc/sc \
+ $${epocroot_prefix}epoc32/include/platform/mw/loc/sc
+
+ # This define statements defines the include paths, which are intended to be
+ # used in the pro-files that are part of the osextensions-layer. It includes all
+ # the needed directories from the /epoc32/include, that are valid ones for the
+ # os-layer components.
+
+ OS_LAYER_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include \
+ $${epocroot_prefix}epoc32/include/platform \
+ $${epocroot_prefix}epoc32/include/platform/loc \
+ $${epocroot_prefix}epoc32/include/platform/loc/sc
+
+ # This define statements defines the include paths, which are intended to be
+ # used in the pro-files that are part of the os-layer. This is intended
+ # to be only used by those components which need to use in their mmp-file either
+ # kern_ext.mmh or nkern_ext.mmh. Reason is that those
+ # 2 files already contain the /epoc32/include as system include path.
+
+ OS_LAYER_KERNEL_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include/platform
+
+
+ # ---------------------------------------
+ # Definitions that also define the systeminclude paths for various
+ # part of stdapis. Append to INCLUDEPATH in pro-file.
+ # ---------------------------------------
+
+ OS_LAYER_LIBC_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/sys)
+
+ OS_LAYER_GLIB_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject)
+
+ OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
+
+ # stlportv5 is preferred over stlport as it has the throwing version of operator new
+ exists($${EPOCROOT}epoc32/include/stdapis/stlport) \
+ :!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) {
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
+ } else {
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
+ }
+
+ OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
+
+ OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
+
+ OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility)
+
+ } else { # Old pre-SF structure
+
+ # ---------------------------------------
+ # Location, where the applications layer specific public headers are exported
+ # ---------------------------------------
+
+ defineReplace(APP_LAYER_SDK_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/applications/$$1)
+ }
+ defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/applications/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the applications layer specific platform headers are exported
+ # ---------------------------------------
+
+ defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/domain/applications/$$1)
+ }
+ defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/domain/applications/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the middleware layer specific public headers are exported
+ # ---------------------------------------
+
+ defineReplace(MW_LAYER_SDK_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/middleware/$$1)
+ }
+ defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/middleware/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the middleware layer specific platform headers are exported
+ # ---------------------------------------
+
+ defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/domain/middleware/$$1)
+ }
+ defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/domain/middleware/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the os layer specific public headers are exported
+ # ---------------------------------------
+
+ defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/osextensions/$$1)
+ }
+ # WARNING: If the following path changes see the exists() function around line 430
+ defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/osextensions/$$1)
+ }
+
+ # ---------------------------------------
+ # Location, where the os specific platform headers are exported
+ # ---------------------------------------
+
+ defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/domain/osextensions/$$1)
+ }
+ defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) {
+ return ($${epocroot_prefix}epoc32/include/domain/osextensions/$$1)
+ }
+
+ # ---------------------------------------
+ # General comments about the 3 define statements related to include paths:
+ # 1) the /epoc32/include/oem is now defined there for backward compability.
+ # Once the directory is empty, the directory will be removed. However this
+ # enables us to ensure that if you use these define statements => you do
+ # not have to remove the statements later on, when the directory no longer
+ # exists.
+ # 2) These statements should be enough in normal cases. For certain specific
+ # cases you might need to add some specific directory from /epoc32/include
+ # (for instance /epoc32/include/ecom).
+ # In normal cases the include staments in code should be relative to one of
+ # the system include paths, but in certain cases, the included files requires
+ # that the subdirectory is also part of the system include paths.
+ # ---------------------------------------
+
+ # This variable defines the include paths, which are intended to be
+ # used in the pro-files that are part of the applications-layer. It includes all
+ # the needed directories from the /epoc32/include, that are valid ones for the
+ # application-layer components.
+ #
+ # Applications layer is the last one in the list, since most likely the most of
+ # the headers come from middleware or os-layer => thus they are first.
+
+ APP_LAYER_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include \
+ $${epocroot_prefix}epoc32/include/oem \
+ $${epocroot_prefix}epoc32/include/middleware \
+ $${epocroot_prefix}epoc32/include/domain/middleware \
+ $${epocroot_prefix}epoc32/include/osextensions \
+ $${epocroot_prefix}epoc32/include/domain/osextensions \
+ $${epocroot_prefix}epoc32/include/applications \
+ $${epocroot_prefix}epoc32/include/domain/applications \
+ $${epocroot_prefix}epoc32/include/domain/osextensions/loc \
+ $${epocroot_prefix}epoc32/include/domain/middleware/loc \
+ $${epocroot_prefix}epoc32/include/domain/applications/loc \
+ $${epocroot_prefix}epoc32/include/domain/osextensions/loc/sc \
+ $${epocroot_prefix}epoc32/include/domain/middleware/loc/sc \
+ $${epocroot_prefix}epoc32/include/domain/applications/loc/sc
+
+ # This define statements defines the include paths, which are intended to be
+ # used in the pro-files that are part of the middleware-layer. It includes all
+ # the needed directories from the /epoc32/include, that are valid ones for the
+ # middleware-layer components.
+
+ MW_LAYER_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include \
+ $${epocroot_prefix}epoc32/include/oem \
+ $${epocroot_prefix}epoc32/include/middleware \
+ $${epocroot_prefix}epoc32/include/domain/middleware \
+ $${epocroot_prefix}epoc32/include/osextensions \
+ $${epocroot_prefix}epoc32/include/domain/osextensions \
+ $${epocroot_prefix}epoc32/include/domain/osextensions/loc \
+ $${epocroot_prefix}epoc32/include/domain/middleware/loc \
+ $${epocroot_prefix}epoc32/include/domain/osextensions/loc/sc \
+ $${epocroot_prefix}epoc32/include/domain/middleware/loc/sc
+
+ # This define statements defines the include paths, which are intended to be
+ # used in the pro-files that are part of the osextensions-layer. It includes all
+ # the needed directories from the /epoc32/include, that are valid ones for the
+ # os-layer components.
+
+ OS_LAYER_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include \
+ $${epocroot_prefix}epoc32/include/oem \
+ $${epocroot_prefix}epoc32/include/osextensions \
+ $${epocroot_prefix}epoc32/include/domain/osextensions \
+ $${epocroot_prefix}epoc32/include/domain/osextensions/loc \
+ $${epocroot_prefix}epoc32/include/domain/osextensions/loc/sc
+
+ # This define statements defines the include paths, which are intended to be
+ # used in the pro-files that are part of the os-layer. This is intended
+ # to be only used by those components which need to use in their mmp-file either
+ # kern_ext.mmh or nkern_ext.mmh. Reason is that those
+ # 2 files already contain the /epoc32/include as system include path.
+
+ OS_LAYER_KERNEL_SYSTEMINCLUDE = \
+ $${epocroot_prefix}epoc32/include/oem \
+ $${epocroot_prefix}epoc32/include/osextensions \
+ $${epocroot_prefix}epoc32/include/domain/osextensions
+
+
+ # ---------------------------------------
+ # Definitions that also define the systeminclude paths for various
+ # part of stdapis. Append to INCLUDEPATH in pro-file.
+ # ---------------------------------------
+
+ OS_LAYER_LIBC_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/sys) \
+ $${epocroot_prefix}epoc32/include/stdapis \
+ $${epocroot_prefix}epoc32/include/stdapis/sys
+
+ OS_LAYER_GLIB_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject) \
+ $${epocroot_prefix}epoc32/include/stdapis/glib-2.0 \
+ $${epocroot_prefix}epoc32/include/stdapis/glib-2.0/glib \
+ $${epocroot_prefix}epoc32/include/stdapis/glib-2.0/gObject
+
+ OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl) \
+ $${epocroot_prefix}epoc32/include/stdapis/openssl
+
+ # stlportv5 is preferred over stlport as it has the throwing version of operator new
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5) \
+ $${epocroot_prefix}epoc32/include/stdapis/stlportv5
+ exists($${EPOCROOT}epoc32/include/osextensions/stdapis/stlport) \
+ |exists($${EPOCROOT}epoc32/include/stdapis/stlport) {
+ !exists($${EPOCROOT}epoc32/include/osextensions/stdapis/stlportv5) \
+ :!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) {
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport) \
+ $${epocroot_prefix}epoc32/include/stdapis/stlport
+ }
+ }
+
+ OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost) \
+ $${epocroot_prefix}epoc32/include/stdapis/boost
+
+ OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus) \
+ $${epocroot_prefix}epoc32/include/stdapis/dbus-1.0 \
+ $${epocroot_prefix}epoc32/include/stdapis/dbus-1.0/dbus
+
+ OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility) \
+ $${epocroot_prefix}epoc32/include/stdapis/utility
+
+ }
+
+ # Definitions common to both structures
+
+ # ---------------------------------------
+ # Definitions to export IBY files to different folders where they will be taken
+ # to ROM image
+ # ---------------------------------------
+
+ defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/core/app/$$1)
+ }
+ defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/core/mw/$$1)
+ }
+
+ defineReplace(LANGUAGE_APP_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/language/app/$$1)
+ }
+ defineReplace(LANGUAGE_MW_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/language/mw/$$1)
+ }
+
+ defineReplace(CUSTOMER_APP_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/customer/app/$$1)
+ }
+ defineReplace(CUSTOMER_MW_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/customer/mw/$$1)
+ }
+
+ defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/customervariant/app/$$1)
+ }
+ defineReplace(CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH) {
+ return($${epocroot_prefix}epoc32/rom/include/customervariant/mw/$$1)
+ }
+
+ # You need to define the following in pro-file, if you are using the stllib:
+ # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+ # DEFINES *= $$STLLIB_USAGE_DEFINES
+ STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
+ STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
+
+ # Smart prepend of EPOCROOT to a string
+ defineReplace(prependEpocroot) {
+ contains(1, ^$${EPOCROOT}) {
+ return($$1)
+ } else {
+ return($${EPOCROOT}$$replace(1,"^/",))
+ }
+ }
+
+}
diff --git a/mkspecs/features/symbian/prepend_includepath.prf b/mkspecs/features/symbian/prepend_includepath.prf
new file mode 100644
index 0000000000..d9fd4fe46e
--- /dev/null
+++ b/mkspecs/features/symbian/prepend_includepath.prf
@@ -0,0 +1,14 @@
+# Allow .pro files to specify include path(s) to be prepended to the list.
+#
+# This allows the project to override the default ordering, whereby paths
+# relative to $$QMAKE_INCDIR_QT always come first. This ordering can cause
+# problems when both the epoc32/include tree and a Qt include directory
+# contain a header of the same name - in this case, the Qt header is always
+# included by virtue of its path appearing first in the SYSTEMINCLUDE
+# directives in the generated MMP file.
+#
+# To work around this situation, the following line can be added to the .pro
+# file:
+# PREPEND_INCLUDEPATH = /epoc32/include
+#
+INCLUDEPATH = $$PREPEND_INCLUDEPATH $$INCLUDEPATH
diff --git a/mkspecs/features/symbian/qt.prf b/mkspecs/features/symbian/qt.prf
new file mode 100644
index 0000000000..c376b642d1
--- /dev/null
+++ b/mkspecs/features/symbian/qt.prf
@@ -0,0 +1,13 @@
+contains(DEFINES, QT_MAKEDLL)|contains(DEFINES, QT_DLL) {
+ CONFIG *= epocallowdlldata
+}
+
+CONFIG += qtmain
+
+load(qt)
+
+# Workaround for the fact that Gnupoc and Symbian chose different approaches to
+# the letter casing of headers.
+contains(CONFIG, is_using_gnupoc) {
+ INCLUDEPATH += $${PWD}/../../common/symbian/header-wrappers
+}
diff --git a/mkspecs/features/symbian/qt_config.prf b/mkspecs/features/symbian/qt_config.prf
new file mode 100644
index 0000000000..82c18621b7
--- /dev/null
+++ b/mkspecs/features/symbian/qt_config.prf
@@ -0,0 +1,9 @@
+load(qt_config)
+
+!contains(QMAKE_HOST.os, "Windows") {
+ # Test for the existence of lower cased headers, a sign of using Gnupoc.
+ # Note that the qmake "exists" test won't do because it is case insensitive.
+ system("test -f $${EPOCROOT}epoc32/include/akndoc.h") {
+ CONFIG += is_using_gnupoc
+ }
+}
diff --git a/mkspecs/features/symbian/release.prf b/mkspecs/features/symbian/release.prf
new file mode 100644
index 0000000000..8164495c6f
--- /dev/null
+++ b/mkspecs/features/symbian/release.prf
@@ -0,0 +1 @@
+QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/urel
diff --git a/mkspecs/features/symbian/run_on_phone.prf b/mkspecs/features/symbian/run_on_phone.prf
new file mode 100644
index 0000000000..ba88a662f9
--- /dev/null
+++ b/mkspecs/features/symbian/run_on_phone.prf
@@ -0,0 +1,40 @@
+# make sure we have a sis file and then call 'runonphone' to execute it on the phone
+
+GENERATE_RUN_TARGETS = false
+
+contains(TEMPLATE, app): GENERATE_RUN_TARGETS = true
+else:!equals(DEPLOYMENT, default_deployment) {
+ for(dep_item, $$list($$DEPLOYMENT)) {
+ ### Qt 5: remove .sources, inconsistent with INSTALLS
+ dep_item_sources = $$eval($${dep_item}.files) $$eval($${dep_item}.sources)
+ !isEmpty(dep_item_sources): GENERATE_RUN_TARGETS = true
+ }
+}
+
+equals(GENERATE_RUN_TARGETS, true) {
+ baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
+ sis_file = $${baseTarget}.sis
+ symbian-abld|symbian-sbsv2 {
+ sis_destdir =
+ } else {
+ sis_destdir = $$DESTDIR
+ isEmpty(sis_destdir):sis_destdir = .
+ !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
+ !isEmpty(sis_destdir):!contains(sis_destdir, "[/\\\\]$"):sis_destdir = $${sis_destdir}/
+ contains(QMAKE_HOST.os, "Windows"):sis_destdir = $$replace(sis_destdir, "/", "\\")
+ }
+
+ contains(SYMBIAN_PLATFORMS, "WINSCW"):contains(TEMPLATE, "app") {
+ run_target.target = run
+ run_target.commands = call "$${EPOCROOT}epoc32/release/winscw/udeb/$${baseTarget}.exe" $(QT_RUN_OPTIONS)
+
+ QMAKE_EXTRA_TARGETS += run_target
+ }
+
+ runonphone_target.target = runonphone
+ runonphone_target.depends = sis
+ runonphone_target.commands = runonphone $(QT_RUN_ON_PHONE_OPTIONS) --sis "$${sis_destdir}$${sis_file}"
+ contains(TEMPLATE, "app"):runonphone_target.commands += "$${baseTarget}.exe" $(QT_RUN_OPTIONS)
+
+ QMAKE_EXTRA_TARGETS += runonphone_target
+}
diff --git a/mkspecs/features/symbian/sis_targets.prf b/mkspecs/features/symbian/sis_targets.prf
new file mode 100644
index 0000000000..d0fe881003
--- /dev/null
+++ b/mkspecs/features/symbian/sis_targets.prf
@@ -0,0 +1,226 @@
+# Sis file creation
+GENERATE_SIS_TARGETS = false
+
+contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
+else:!equals(DEPLOYMENT, default_deployment) {
+ for(dep_item, $$list($$DEPLOYMENT)) {
+ ### Qt 5: remove .sources, inconsistent with INSTALLS
+ dep_item_sources = $$eval($${dep_item}.files) $$eval($${dep_item}.sources)
+ !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
+ }
+}
+
+equals(GENERATE_SIS_TARGETS, true) {
+
+ baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
+ template_pkg_target.target = $${baseTarget}_template.pkg
+ template_pkg_target.depends += $$_PRO_FILE_
+ template_pkg_target.commands = $(MAKE) -f $(MAKEFILE) qmake
+ installer_pkg_target.target = $${baseTarget}_installer.pkg
+ installer_pkg_target.depends += $$_PRO_FILE_
+ installer_pkg_target.commands = $(MAKE) -f $(MAKEFILE) qmake
+ stub_pkg_target.target = $${baseTarget}_stub.pkg
+ stub_pkg_target.depends += $$_PRO_FILE_
+ stub_pkg_target.commands = $(MAKE) -f $(MAKEFILE) qmake
+ QMAKE_EXTRA_TARGETS += template_pkg_target installer_pkg_target stub_pkg_target
+
+ qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage)
+
+ CREATEPACKAGE_DIR = $$OBJECTS_DIR/createpackage_tmp
+ QMAKE_CLEAN += $$CREATEPACKAGE_DIR/*
+
+ symbian-abld|symbian-sbsv2 {
+ symbian-sbsv2 {
+ CONVERT_GCCE_PARAM = -g
+ } else {
+ CONVERT_GCCE_PARAM =
+ }
+
+ make_cache_name = .make.cache
+ sis_target.target = sis
+ sis_target.commands = $(if $(wildcard $$make_cache_name), \
+ $(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \
+ , \
+ $(if $(QT_SIS_TARGET), \
+ $(MAKE) -f $(MAKEFILE) ok_sis \
+ , \
+ $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
+ ) \
+ )
+
+ sis_target.depends += $${baseTarget}_template.pkg
+
+ ok_sis_target.target = ok_sis
+ ok_sis_target.commands = $$QMAKE_CREATEPACKAGE $$CONVERT_GCCE_PARAM -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
+ $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+
+ unsigned_sis_target.target = unsigned_sis
+ unsigned_sis_target.commands = $(if $(wildcard $$make_cache_name), \
+ $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \
+ , \
+ $(if $(QT_SIS_TARGET), \
+ $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \
+ , \
+ $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
+ ) \
+ )
+
+ unsigned_sis_target.depends += $${baseTarget}_template.pkg
+
+ ok_unsigned_sis_target.target = ok_unsigned_sis
+ ok_unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $$CONVERT_GCCE_PARAM -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET)
+
+ target_sis_target.target = $${baseTarget}.sis
+ target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
+
+ # The installer_sis target has dependency to sis target, so it will regenerate sis package.
+ # To create smart installer wrapper for for an existing sis package, use ok_installer_sis target directly.
+ installer_sis_target.target = installer_sis
+ installer_sis_target.commands = $(MAKE) -f $(MAKEFILE) ok_installer_sis
+ installer_sis_target.depends = $${baseTarget}_installer.pkg sis
+
+ ok_installer_sis_target.target = ok_installer_sis
+ ok_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
+ $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+ ok_installer_sis_target.depends = $${baseTarget}_installer.pkg
+
+ unsigned_installer_sis_target.target = unsigned_installer_sis
+ unsigned_installer_sis_target.commands = $(MAKE) -f $(MAKEFILE) ok_unsigned_installer_sis
+ unsigned_installer_sis_target.depends = $${baseTarget}_installer.pkg unsigned_sis
+
+ ok_unsigned_installer_sis_target.target = ok_unsigned_installer_sis
+ ok_unsigned_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_installer.pkg
+ ok_unsigned_installer_sis_target.depends = $${baseTarget}_installer.pkg
+
+ fail_sis_nocache_target.target = fail_sis_nocache
+ fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)"
+
+ stub_sis_target.target = stub_sis
+ stub_sis_target.commands = $(if $(wildcard $$make_cache_name), \
+ $(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \
+ , \
+ $(if $(QT_SIS_TARGET), \
+ $(MAKE) -f $(MAKEFILE) ok_stub_sis \
+ , \
+ $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
+ ) \
+ )
+
+ stub_sis_target.depends += $${baseTarget}_stub.pkg
+
+ ok_stub_sis_target.target = ok_stub_sis
+ ok_stub_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \
+ $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+
+ QMAKE_EXTRA_TARGETS += sis_target \
+ ok_sis_target \
+ unsigned_sis_target \
+ ok_unsigned_sis_target \
+ target_sis_target \
+ installer_sis_target \
+ ok_installer_sis_target \
+ unsigned_installer_sis_target \
+ ok_unsigned_installer_sis_target \
+ fail_sis_nocache_target \
+ stub_sis_target \
+ ok_stub_sis_target
+ # Sbsv2 has its own store_build target which is using flms.
+ !symbian-sbsv2 {
+ contains(QMAKE_HOST.os, "Windows") {
+ shellFixedHash = $${LITERAL_HASH}
+ } else {
+ shellFixedHash = \\$${LITERAL_HASH}
+ }
+ store_build_target.target = store_build
+ store_build_target.commands = \
+ @echo $${shellFixedHash} ============================================================================== > $$make_cache_name \
+ && echo $${shellFixedHash} This file is generated by make and should not be modified by the user >> $$make_cache_name \
+ && echo $${shellFixedHash} Name : $$make_cache_name >> $$make_cache_name \
+ && echo $${shellFixedHash} Part of : lineedits >> $$make_cache_name \
+ && echo $${shellFixedHash} Description : This file is used to cache last build target for >> $$make_cache_name \
+ && echo $${shellFixedHash} make sis target. >> $$make_cache_name \
+ && echo $${shellFixedHash} Version : >> $$make_cache_name \
+ && echo $${shellFixedHash} >> $$make_cache_name \
+ && echo $${shellFixedHash} ============================================================================== >> $$make_cache_name \
+ && echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name
+
+ QMAKE_EXTRA_TARGETS += store_build_target
+ QMAKE_CLEAN += $$make_cache_name
+ }
+ } else {
+ sis_destdir = $$DESTDIR
+ isEmpty(sis_destdir):sis_destdir = .
+ !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
+
+ sis_target.target = sis
+ sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
+ - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+ sis_target.depends = first $${baseTarget}_template.pkg
+
+ unsigned_sis_target.target = unsigned_sis
+ unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
+ unsigned_sis_target.depends = first $${baseTarget}_template.pkg
+
+ target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis
+ target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
+
+ installer_sis_target.target = installer_sis
+ installer_sis_target.commands = $(MAKE) -f $(MAKEFILE) ok_installer_sis
+ installer_sis_target.depends = $${baseTarget}_installer.pkg sis
+
+ ok_installer_sis_target.target = ok_installer_sis
+ ok_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
+ $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+ ok_installer_sis_target.depends = $${baseTarget}_installer.pkg
+
+ unsigned_installer_sis_target.target = unsigned_installer_sis
+ unsigned_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_installer.pkg
+ unsigned_installer_sis_target.depends = $${baseTarget}_installer.pkg unsigned_sis
+
+ !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") {
+ sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
+ unsigned_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_unsigned.sis $$sis_destdir
+ installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_installer.sis $$sis_destdir
+ unsigned_installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_unsigned_installer.sis $$sis_destdir
+ }
+
+ QMAKE_EXTRA_TARGETS += sis_target \
+ unsigned_sis_target \
+ target_sis_target \
+ installer_sis_target \
+ ok_installer_sis_target \
+ unsigned_installer_sis_target
+
+ QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis
+ }
+
+ deploy_target.target = deploy
+ contains(QMAKE_HOST.os, "Windows") {
+ deploy_target.depends = sis
+ deploy_target.commands = call $$target_sis_target.target
+ } else {
+ deploy_target.commands = @echo Deployment not supported in this environment
+ }
+ QMAKE_EXTRA_TARGETS += deploy_target
+
+} else {
+ contains(TEMPLATE, subdirs) {
+ # Enable recursive sis target.
+ sis_target.CONFIG = recursive
+ sis_target.recurse = $$SUBDIRS
+ } else {
+ # Make sure we build everything, since other sis targets in a recursive invocation
+ # may depend on them, even if this one is empty.
+ # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive.
+ !symbian-abld:!symbian-sbsv2: sis_target.depends = first
+ }
+ sis_target.commands =
+ sis_target.target = sis
+ QMAKE_EXTRA_TARGETS += sis_target
+
+ symbian-abld {
+ # Create dummy store_build target to avoid errors from .mk callbacks during build
+ store_build_target.target = store_build
+ QMAKE_EXTRA_TARGETS += store_build_target
+ }
+}
diff --git a/mkspecs/features/symbian/stl.prf b/mkspecs/features/symbian/stl.prf
new file mode 100644
index 0000000000..1fd5e16e32
--- /dev/null
+++ b/mkspecs/features/symbian/stl.prf
@@ -0,0 +1,43 @@
+CONFIG -= stl_off
+
+# STL usage in S60 requires the "OPTION CW -wchar_t on" mmp statement to be used.
+# This statement is added via $$STLLIB_USAGE_CW_FLAGS variable below.
+# S60 STL documentation instructs to use also "MACRO _WCHAR_T_DECLARED" statement,
+# but QtS60 will not compile if that statement is set.
+
+QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+
+# Path to stlport headers
+INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE
+
+# Remove mkspecs/common/symbian/stl-off from beginning of includepath
+# in order to use new and delete operators from STL
+INCLUDEPATH -= $$[QT_INSTALL_DATA]/mkspecs/common/symbian/stl-off
+
+# libstdcppv5 is preferred over libstdcpp as it has/uses the throwing version of operator new
+# STDCPP turns on standard C++ new behaviour (ie. throwing new)
+use_libstdcppv5 = true
+
+# Fall back to old implementation if that is the only one that is found
+exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcpp.dso)|exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcpp.dll) {
+ !exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso):!exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcppv5.dll) {
+ use_libstdcppv5 = false
+ }
+}
+
+equals(use_libstdcppv5, true) {
+ LIBS *= -llibstdcppv5.dll
+ symbian-abld|symbian-sbsv2 {
+ MMP_RULES *= "STDCPP"
+ } else {
+ DEFINES *= __SYMBIAN_STDCPP_SUPPORT__
+ LIBS *= -lstdnew.dll
+ }
+} else {
+ LIBS *= -llibstdcpp.dll
+}
+
+# use the runtime support for nested exceptions, if a library is available
+exists($${EPOCROOT}epoc32/release/armv5/urel/usrt_nx_*.lib) {
+ CONFIG += nested_exceptions
+}
diff --git a/mkspecs/features/symbian/stl_off.prf b/mkspecs/features/symbian/stl_off.prf
new file mode 100644
index 0000000000..d5d1c7c30f
--- /dev/null
+++ b/mkspecs/features/symbian/stl_off.prf
@@ -0,0 +1,2 @@
+CONFIG -= stl
+
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
new file mode 100644
index 0000000000..8c757077d3
--- /dev/null
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -0,0 +1,369 @@
+symbian-armcc {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS.ARMCC
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS.ARMCC
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS.ARMCC
+ # This is to prevent inclusion of the shipped RVCT headers, which are often in the
+ # environment variable RVCTxxINC by default. -J prevents the searching of that location,
+ # but needs a path, so just specify somewhere guaranteed not to contain header files.
+ QMAKE_CFLAGS += -J$${EPOCROOT}epoc32/ignore_this_path
+ QMAKE_CXXFLAGS += -J$${EPOCROOT}epoc32/ignore_this_path
+} else:symbian-gcce {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS.GCCE
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS.GCCE
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS.GCCE
+}
+
+# We need a target name without the INFIX'ed part, since flags are not infixed.
+equals(QMAKE_TARGET_PRODUCT, Qt4):clean_TARGET = $$replace(TARGET, "$${QT_LIBINFIX}$", "")
+else:clean_TARGET = $$TARGET
+
+# we have some module specific options (defined in qt.prf) lets add them
+!contains(clean_TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${clean_TARGET}_CXXFLAGS)
+!isEmpty(TMPVAR):QMAKE_CXXFLAGS += $$TMPVAR
+!contains(clean_TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${clean_TARGET}_LFLAGS)
+!isEmpty(TMPVAR) {
+ QMAKE_LFLAGS += $$TMPVAR
+} else :symbian-gcce { # lets provide a simple default. Without elf2e32 complains
+ QMAKE_LFLAGS += -Ttext 0x80000 -Tdata 0x400000
+}
+
+qtPrepareTool(QMAKE_ELF2E32_WRAPPER, elf2e32_qtwrapper)
+
+isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000
+isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x020000 0x800000
+epoc_heap_size = $$split(TARGET.EPOCHEAPSIZE, " ")
+epoc_heap_size = $$join(epoc_heap_size, ",")
+
+symbianObjdir=$$OBJECTS_DIR
+isEmpty(symbianObjdir) {
+ symbianObjdir = .
+}
+symbianDestdir=$$DESTDIR
+isEmpty(symbianDestdir) {
+ symbianDestdir = .
+}
+baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
+!equals(TARGET, "$$baseTarget"):symbianDestdir = $$symbianDestdir/$$dirname(TARGET)
+
+contains(QMAKE_CFLAGS, "--thumb")|contains(QMAKE_CXXFLAGS, "--thumb")|contains(QMAKE_CFLAGS, "-mthumb")|contains(QMAKE_CXXFLAGS, "-mthumb") {
+ DEFINES += __MARM_THUMB__
+}
+
+defineReplace(processSymbianLibrary) {
+ qt_library = $$replace(1, "\\.dll$", ".dso")
+ qt_library = $$replace(qt_library, "^-l", "")
+ isFullName = $$find(qt_library, \\.)
+ isEmpty(isFullName):qt_library="$${qt_library}.dso"
+ return($$qt_library)
+}
+
+# This part turn "-llibc" into "libc.dso", and moves -L entries to QMAKE_LIBDIR.
+libsToProcess = LIBS LIBS_PRIVATE QMAKE_LIBS
+for(libToProcess, libsToProcess) {
+ qt_libraries = $$split($$libToProcess, " ")
+ eval($$libToProcess =)
+ for(qt_library, qt_libraries) {
+ contains(qt_library, "^-L.*") {
+ qt_library = $$replace(qt_library, "^-L", "")
+ QMAKE_LIBDIR += $$qt_library
+ } else {
+ qt_newLib = $$processSymbianLibrary($$qt_library)
+ contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
+ symbian-gcce:qt_newLib = "-l:$$qt_newLib"
+ eval($$libToProcess *= \$\$qt_newLib)
+ }
+ }
+}
+
+elf2e32_LIBPATH =
+for(libPath, QMAKE_LIBDIR) {
+ elf2e32_LIBPATH += "--libpath=$$libPath"
+}
+
+isEmpty(VERSION) {
+ VERSION = $$QT_VERSION
+}
+
+# Check for version validity.
+!isEmpty(VERSION):!contains(VERSION, "[0-9]+"):!contains(VERSION, "[0-9]+\\.[0-9]+")!contains(VERSION, "[0-9]+(\\.[0-9]+){2}") {
+ error("Invalid VERSION for Symbian: $$VERSION")
+}
+
+splitVersion = $$split(VERSION, ".")
+count(splitVersion, 0) {
+ # Default Symbian version if none is specified.
+ hexVersion = "000a0000"
+ decVersion = "10.0"
+} else {
+ count(splitVersion, 3) {
+ hexVersion = $$system("perl -e \"printf (\\\"%02x\\\", $$member(splitVersion, 0))\"")
+ hexPart2 = $$system("perl -e \"printf (\\\"%02x\\\", $$member(splitVersion, 1))\"")
+ hexPart2 = $$hexPart2$$system("perl -e \"printf (\\\"%02x\\\", $$member(splitVersion, 2))\"")
+ decVersion = $$system("perl -e \"printf (\\\"%1d\\\", 0x$$hexVersion)\"").
+ hexVersion = $$hexVersion$$hexPart2
+ decVersion = $$decVersion$$system("perl -e \"printf (\\\"%d\\\", 0x$$hexPart2)\"")
+
+ !contains(hexVersion, "[0-9a-f]{8}"):hexVersion = "00$${hexVersion}"
+ } else { # app code may have different numbering...
+ hexVersion = $$VERSION
+ decVersion = $$VERSION
+ }
+}
+#error ("hexVersion: $$hexVersion, decVersion: $$decVersion")
+
+intUid3 = $$lower($$replace(TARGET.UID3, "^0x", ""))
+isEmpty(TARGET.SID):TARGET.SID = $$TARGET.UID3
+isEmpty(TARGET.UID2):TARGET.UID2 = 0x00000000
+
+capability = $$replace(TARGET.CAPABILITY, " ", "+")
+capability = $$join(capability, "+")
+capability = $$replace(capability, "\\+-", "-")
+isEmpty(capability): capability = "None"
+capability = "--capability=$$capability"
+
+contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
+ contains(CONFIG, plugin):QMAKE_ELF2E32_FLAGS += --definput=plugin_commonu.def
+
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
+ moveCmd = $$QMAKE_MOVE $$symbianDestdir/$${baseTarget}.dll $$symbianDestdir/$${baseTarget}.sym
+ contains(QMAKE_HOST.os,Windows):moveCmd = $$replace(moveCmd, /, \\)
+ QMAKE_POST_LINK = $$moveCmd \
+ && $$QMAKE_ELF2E32_WRAPPER --version=$$decVersion \
+ --sid=$$TARGET.SID \
+ --uid1=0x10000079 \
+ --uid2=$$TARGET.UID2 \
+ --uid3=$$TARGET.UID3 \
+ --targettype=DLL \
+ --elfinput=$${symbianDestdir}/$${baseTarget}.sym \
+ --output=$${symbianDestdir}/$${baseTarget}.dll \
+ --tmpdso=$${symbianObjdir}/$${baseTarget}.dso \
+ --dso=$${symbianDestdir}/$${baseTarget}.dso \
+ --defoutput=$$symbianObjdir/$${baseTarget}.def \
+ --linkas=\"$${baseTarget}{$${hexVersion}}[$${intUid3}].dll\" \
+ --heap=$$epoc_heap_size \
+ --stack=$$TARGET.EPOCSTACKSIZE \
+ $$elf2e32_LIBPATH \
+ $$capability \
+ $$QMAKE_ELF2E32_FLAGS \
+ $$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK
+ QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym
+ QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.dso
+ QMAKE_CLEAN += $${symbianObjdir}/$${baseTarget}.dso
+ QMAKE_CLEAN += $${symbianObjdir}/$${baseTarget}.def
+
+ symbian-armcc: {
+ LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso
+ # Quotation unfortunately is different on Windows and unix.
+ contains(QMAKE_HOST.os, Windows) {
+ LIBS += \"h_t__uf.l(switch8.o)\" edllstub.lib \"edll.lib(uc_dll_.o)\"
+ } else {
+ LIBS += h_t__uf.l\\(switch8.o\\) edllstub.lib edll.lib\\(uc_dll_.o\\)
+ }
+ } else :symbian-gcce {
+ LIBS += \
+ -l:edllstub.lib \
+ -l:edll.lib \
+ -l:usrt2_2.lib \
+ -l:dfpaeabi.dso \
+ -l:drtaeabi.dso \
+ -l:scppnwdl.dso \
+ -lsupc++ \
+ -lgcc
+ }
+
+ QMAKE_LFLAGS += --soname \"$${baseTarget}{$${hexVersion}}[$${intUid3}].dll\"
+ DEFINES += __DLL__
+}
+
+contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@:.*") {
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
+ moveCmd = $$QMAKE_MOVE $$symbianDestdir/$${baseTarget} $$symbianDestdir/$${baseTarget}.sym
+ contains(QMAKE_HOST.os,Windows):moveCmd = $$replace(moveCmd, /, \\)
+ QMAKE_POST_LINK = $$moveCmd \
+ && $$QMAKE_ELF2E32_WRAPPER --version $$decVersion \
+ --sid=$$TARGET.SID \
+ --uid1=0x1000007a \
+ --uid2=$$TARGET.UID2 \
+ --uid3=$$TARGET.UID3 \
+ --targettype=EXE \
+ --elfinput=$${symbianDestdir}/$${baseTarget}.sym \
+ --output=$${symbianDestdir}/$${baseTarget}.exe \
+ --linkas=\"$${baseTarget}{$${hexVersion}}[$${intUid3}].exe\" \
+ --heap=$$epoc_heap_size \
+ --stack=$$TARGET.EPOCSTACKSIZE \
+ $$elf2e32_LIBPATH \
+ $$capability \
+ $$QMAKE_ELF2E32_FLAGS \
+ && $$QMAKE_COPY "$${symbianDestdir}/$${baseTarget}.exe" "$${symbianDestdir}/$${baseTarget}" \
+ $$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK
+ QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym
+ QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.exe
+ QMAKE_CLEAN += $${symbianDestdir}/$${baseTarget}
+
+ symbian-armcc: {
+ QMAKE_LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
+ QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\)
+ contains(CONFIG, "qt") {
+ QMAKE_LIBS -= $$QMAKE_LIBS_QT_ENTRY
+ QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
+ } else {
+ QMAKE_LIBS -= $$QMAKE_LIBS_NO_QT_ENTRY
+ QMAKE_LIBS += $$QMAKE_LIBS_NO_QT_ENTRY
+ }
+ } else :symbian-gcce {
+ # notice that we can't merge these as ordering of arguments is important.
+ QMAKE_LIBS += \
+ -l:eexe.lib \
+ -l:usrt2_2.lib
+ contains(CONFIG, "qt") {
+ modified_entry = $$replace(QMAKE_LIBS_QT_ENTRY, "^-l", "-l:")
+ QMAKE_LIBS -= $$modified_entry
+ QMAKE_LIBS += $$modified_entry
+ } else {
+ modified_entry = $$replace(QMAKE_LIBS_NO_QT_ENTRY, "^-l", "-l:")
+ QMAKE_LIBS -= $$modified_entry
+ modified_entry = $$replace(QMAKE_LIBS_NO_QT_ENTRY_GCCE, "^-l", "-l:")
+ QMAKE_LIBS -= $$modified_entry
+ QMAKE_LIBS += $$modified_entry
+ }
+ QMAKE_LIBS += \
+ -l:dfpaeabi.dso \
+ -l:drtaeabi.dso \
+ -l:scppnwdl.dso \
+ -lsupc++ \
+ -lgcc
+ QMAKE_LFLAGS += --shared
+ }
+
+ QMAKE_LFLAGS += --soname \"$${baseTarget}{$${hexVersion}}[$${intUid3}].exe\"
+ DEFINES += __EXE__
+}
+
+# Symbian resource files
+symbian_resources_INCLUDES = $$join(INCLUDEPATH, " -I", "-I")
+symbian_resources_DEFINES = $$join(DEFINES, " -D", "-D")
+symbian_resources_DEFINES += -D__QT_SYMBIAN_RESOURCE__
+symbian_resources_RCC_DIR = $$replace(RCC_DIR, "/$", "")
+symbian_resources_INCLUDES += "-I$$symbian_resources_RCC_DIR"
+
+for(symbian_resource, SYMBIAN_RESOURCES) {
+ symbian_resource = $$basename(symbian_resource)
+ symbian_resource_clean = $$replace(symbian_resource, "\\.rss$", ".rsc")
+ QMAKE_DISTCLEAN += $${symbianDestdir}/$${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}$${QT_LIBINFIX}.rsg
+symbianresources.commands = cpp -nostdinc -undef \
+ -include $$QMAKE_SYMBIAN_INCLUDES \
+ $$symbian_resources_INCLUDES \
+ $$symbian_resources_DEFINES \
+ ${QMAKE_FILE_NAME} \
+ > $${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \
+ && rcomp -u -m045,046,047 \
+ -s$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \
+ -o$${symbianDestdir}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsc \
+ -h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsg \
+ -i${QMAKE_FILE_NAME}
+silent:symbianresources.commands = @echo rcomp $< && $$symbianresources.commands
+symbianresources.dependency_type = TYPE_C
+symbianresources.CONFIG = no_link target_predeps
+
+QMAKE_EXTRA_COMPILERS += symbianresources
+
+# This section generates the rsg and rsc files for symbian.
+contains(TEMPLATE, "app"):!contains(CONFIG, "no_icon") {
+ # Look for extra languages for the resources, and then generate a target for each one.
+ localize_deployment:symbianGenResourceLanguages = $$SYMBIAN_MATCHED_LANGUAGES default
+ else:symbianGenResourceLanguages = default
+ for(language, symbianGenResourceLanguages) {
+ # Special languages get their language number appended to the filename.
+ contains(language, default) {
+ symbianGenResource_DEFINES = $$symbian_resources_DEFINES
+ rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}.rpp
+ rsc = $${symbianDestdir}/$${baseTarget}.rsc
+ rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}.rsg
+ } else {
+ languageNo = $$eval(SYMBIAN_LANG.$$language)
+ symbianGenResource_DEFINES = $$symbian_resources_DEFINES -DLANGUAGE_$${languageNo}
+ rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}_$${languageNo}.rpp
+ rsc = $${symbianDestdir}/$${baseTarget}.r$${languageNo}
+ rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}_$${languageNo}.rsg
+ }
+
+ # Make our own extra target in order to get dependencies for generated
+ # files right. This also avoids the warning about files not found.
+ eval(symbianGenResource_$${language}.target = $$rsg)
+ eval(symbianGenResource_$${language}.commands = cpp -nostdinc -undef \
+ -include $$QMAKE_SYMBIAN_INCLUDES \
+ $$symbian_resources_INCLUDES \
+ $$symbianGenResource_DEFINES \
+ $${baseTarget}.rss \
+ > $$rpp \
+ && rcomp -u -m045,046,047 \
+ -s$$rpp \
+ -o$$rsc \
+ -h$$rsg \
+ -i$${baseTarget}.rss)
+ silent:eval(symbianGenResource_$${language}.commands = @echo rcomp $${baseTarget}.rss && $$eval(symbianGenResource_$${language}.commands))
+ eval(symbianGenResource_$${language}.depends = $${baseTarget}.rss)
+ PRE_TARGETDEPS += $$rsg
+ QMAKE_CLEAN += $$rsg $$rpp
+ QMAKE_DISTCLEAN += $$rsc
+
+ QMAKE_EXTRA_TARGETS += symbianGenResource_$${language}
+
+ # Note that we depend on the base rsg file, even if dealing with a specific language.
+ # hence we don't use $$rsg on the next line.
+ eval(symbianGenRegResource_$${language}.depends = $${baseTarget}_reg.rss $${symbian_resources_RCC_DIR}/$${baseTarget}.rsg)
+ contains(language, default) {
+ rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg.rpp
+ rsc = $${symbianDestdir}/$${baseTarget}_reg.rsc
+ rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg.rsg
+ } else {
+ rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg_$${languageNo}.rpp
+ rsc = $${symbianDestdir}/$${baseTarget}_reg.r$${languageNo}
+ rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg_$${languageNo}.rsg
+ }
+ eval(symbianGenRegResource_$${language}.target = $$rsg)
+ eval(symbianGenRegResource_$${language}.commands = cpp -nostdinc -undef \
+ -include $$QMAKE_SYMBIAN_INCLUDES \
+ $$symbian_resources_INCLUDES \
+ $$symbianGenResource_DEFINES \
+ $${baseTarget}_reg.rss \
+ > $$rpp \
+ && rcomp -u -m045,046,047 \
+ -s$$rpp \
+ -o$$rsc \
+ -h$$rsg \
+ -i$${baseTarget}_reg.rss)
+ silent:eval(symbianGenRegResource_$${language}.commands = @echo rcomp $${baseTarget}_reg.rss && $$eval(symbianGenRegResource_$${language}.commands))
+ PRE_TARGETDEPS += $$rsg
+ QMAKE_CLEAN += $$rsg $$rpp
+ QMAKE_DISTCLEAN += $$rsc
+
+ QMAKE_EXTRA_TARGETS += symbianGenRegResource_$${language}
+ }
+
+ # Trick to get qmake to create the RCC_DIR for us.
+ symbianRccDirCreation.input = SOURCES
+ symbianRccDirCreation.commands =
+ symbianRccDirCreation.output = $${symbian_resources_RCC_DIR}/symbian_resource_dummy
+ symbianRccDirCreation.CONFIG = no_link combine
+
+ QMAKE_EXTRA_COMPILERS += symbianRccDirCreation
+
+ QMAKE_DISTCLEAN += $${baseTarget}.rss \
+ $${baseTarget}_reg.rss \
+ $${baseTarget}.loc
+}
+
+# Generated pkg files
+
+QMAKE_DISTCLEAN += $${baseTarget}_template.pkg \
+ $${baseTarget}_installer.pkg \
+ $${baseTarget}_stub.pkg
diff --git a/mkspecs/features/symbian/thread.prf b/mkspecs/features/symbian/thread.prf
new file mode 100644
index 0000000000..885438ab36
--- /dev/null
+++ b/mkspecs/features/symbian/thread.prf
@@ -0,0 +1,2 @@
+# Symbian behaves like POSIX when it comes to threads.
+include(../unix/thread.prf)
diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf
new file mode 100644
index 0000000000..7a7c9e305a
--- /dev/null
+++ b/mkspecs/features/testcase.prf
@@ -0,0 +1,65 @@
+!contains(TEMPLATE,subdirs) {
+
+check.files =
+check.path = .
+
+# If the test ends up in a different directory, we should cd to that directory.
+# Note that qmake modifies DESTDIR after this file is processed,
+# therefore, testing DESTDIR for emptiness is not sufficient.
+# Also note that in debug-and-release mode we don't want to cd into the debug/release
+# directory (e.g. if the test goes to foo/release/tst_thing.exe, we want to do
+# cd foo && release/tst_thing.exe ).
+MUNGED_DESTDIR=$$DESTDIR
+MUNGED_TARGET=$$TARGET
+win32:debug_and_release {
+ contains(DESTDIR,^release$)|contains(DESTDIR,^debug$):MUNGED_DESTDIR=
+
+ # In debug-and-release mode, the first ../ in TARGET breaks out of the debug/release
+ # subdirectory. However, since make's working directory is already outside of the
+ # debug/release subdirectory, this first ../ should be ignored when deciding if
+ # we have to change directory before running the test.
+ MUNGED_TARGET=$$replace(MUNGED_TARGET,^\\.\\./,)
+}
+!isEmpty(MUNGED_DESTDIR):!contains(MUNGED_DESTDIR,^\\./?):check.commands = cd $(DESTDIR) &&
+contains(MUNGED_TARGET,.*/.*):check.commands = cd $(DESTDIR) &&
+
+# Allow for a custom test runner script
+check.commands += $(TESTRUNNER)
+
+macx {
+ app_bundle: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET)
+ else: check.commands += ./$(QMAKE_TARGET)
+}
+else:unix: check.commands += ./$(QMAKE_TARGET)
+else: check.commands += $(DESTDIR_TARGET)
+
+# For Qt/Embedded, run every test app as a QWS server
+embedded: check.commands += -qws
+
+# Allow for custom arguments to tests
+check.commands += $(TESTARGS)
+QMAKE_EXTRA_TARGETS *= check
+
+!debug_and_release|build_pass {
+ check.depends = first
+} else {
+ check.CONFIG = recursive
+ # In debug and release mode, only run the test once.
+ # Run debug if available, release otherwise.
+ debug_and_release {
+ check.target = dummy_check
+ check.recurse_target = check
+ debug {
+ real_check.depends = debug-check
+ real_check.target = check
+ QMAKE_EXTRA_TARGETS += real_check
+ } else {
+ real_check.depends = release-check
+ real_check.target = check
+ QMAKE_EXTRA_TARGETS += real_check
+ }
+ }
+}
+
+}
+
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf
new file mode 100644
index 0000000000..74a26833a4
--- /dev/null
+++ b/mkspecs/features/uic.prf
@@ -0,0 +1,117 @@
+defined(qtPrepareTool)|load(qt_functions) ### Qt 5: see default_pre.prf
+qtPrepareTool(QMAKE_UIC3, uic3)
+qtPrepareTool(QMAKE_UIC, uic)
+
+isEmpty(UI_DIR):UI_DIR = .
+isEmpty(UI_SOURCES_DIR):UI_SOURCES_DIR = $$UI_DIR
+isEmpty(UI_HEADERS_DIR):UI_HEADERS_DIR = $$UI_DIR
+isEmpty(QMAKE_MOD_UIC):QMAKE_MOD_UIC = ui_
+
+# Allow FORMS3 to contain old UIC3 forms, while FORMS contains new
+# UIC files in the same project. However, if CONFIG+=uic3 and no
+# FORMS3 is defined, FORMS may only contain old UIC3 files.
+
+!uic3|!isEmpty(FORMS3) {
+ # If we have CONFIG+=uic3 and no FORMS3, then don't do this step,
+ # as UIC3 files don't need a ui_<formname>.h file
+
+ uic.commands = $$QMAKE_UIC ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ uic.depend_command = "$$QMAKE_UIC" -d "${QMAKE_FILE_IN}"
+ uic.output = $$UI_HEADERS_DIR/$${QMAKE_MOD_UIC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
+ uic.input = FORMS
+ uic.variable_out = GENERATED_FILES
+ uic.CONFIG += no_link target_predeps
+ uic.name = UIC ${QMAKE_FILE_IN}
+ silent:uic.commands = @echo uic ${QMAKE_FILE_IN} && $$uic.commands
+ QMAKE_EXTRA_COMPILERS += uic
+ INCREDIBUILD_XGE += uic
+}
+
+!isEmpty(FORMS)|!isEmpty(FORMS3) {
+ ui_dir_short = $$UI_HEADERS_DIR
+ contains(QMAKE_HOST.os,Windows):ui_dir_short ~= s,^.:,/,
+ contains(ui_dir_short, ^[/\\\\].*):INCLUDEPATH += $$UI_HEADERS_DIR
+ else:INCLUDEPATH += $$OUT_PWD/$$UI_HEADERS_DIR
+}
+
+# Backwards compatibility: Make shadow builds with default UI_DIR work
+# if the user did not add the source dir explicitly.
+equals(UI_DIR, .) {
+ CONFIG -= include_source_dir
+ CONFIG = include_source_dir $$CONFIG
+}
+
+uic3 {
+ isEmpty(FORMS3) {
+ UIC3_FORMS = FORMS
+ !build_pass:message("Project contains CONFIG+=uic3, but no files in FORMS3; UI files in FORMS treated as UIC3 form files.")
+ } else {
+ UIC3_FORMS = FORMS3
+ }
+
+ uic3_decl.commands = $$QMAKE_UIC3 ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ uic3_decl.dependency_type = TYPE_UI
+ uic3_decl.output = $$UI_HEADERS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
+ uic3_decl.input = $$UIC3_FORMS
+ uic3_decl.CONFIG += no_link
+ uic3_decl.variable_out = GENERATED_FILES UIC3_HEADERS
+ uic3_decl.name = UIC3 Decl ${QMAKE_FILE_IN}
+ silent:uic3_decl.commands = @echo uic3 ${QMAKE_FILE_IN} && $$uic3_decl.commands
+ QMAKE_EXTRA_COMPILERS += uic3_decl
+
+ uic3_impl.commands = $$QMAKE_UIC3 -impl ${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ uic3_impl.dependency_type = TYPE_UI
+ uic3_impl.output = $$UI_SOURCES_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
+ uic3_impl.depends = $$UI_HEADERS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
+ uic3_impl.input = $$UIC3_FORMS
+ uic3_impl.variable_out = GENERATED_SOURCES
+ uic3_impl.name = UIC3 Impl ${QMAKE_FILE_IN}
+ silent:uic3_impl.commands = @echo uic3 -impl ${QMAKE_FILE_IN} && $$uic3_impl.commands
+ QMAKE_EXTRA_COMPILERS += uic3_impl
+
+ ### add a moc step
+ load(moc)
+ uic3_moc.commands = $$moc_header.commands
+ uic3_moc.output = $$moc_header.output
+ uic3_moc.depends = $$UI_HEADERS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
+ uic3_moc.input = UIC3_HEADERS
+ uic3_moc.variable_out = GENERATED_SOURCES
+ uic3_moc.name = $$moc_header.name
+ !contains(TEMPLATE, "vc.*"):!isEmpty(INCLUDETEMP):uic3_moc.depends += $$INCLUDETEMP
+ QMAKE_EXTRA_COMPILERS += uic3_moc
+}
+
+defineReplace(imageCollectionCmd) {
+ unset(EMBEDDED_IMAGES)
+ RET =
+ for(image, $$list($$split(1))) {
+ EMBEDDED_IMAGES += $$image
+ count(EMBEDDED_IMAGES, 5) {
+ isEmpty(RET): RET += echo $$EMBEDDED_IMAGES > $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
+ else: RET += echo $$EMBEDDED_IMAGES >> $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
+ unset(EMBEDDED_IMAGES)
+ }
+ }
+ !isEmpty(EMBEDDED_IMAGES):RET += echo $$EMBEDDED_IMAGES >> $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
+ !isEmpty(RET) {
+ RET += $$QMAKE_UIC3 -embed $$TARGET -f $${UI_DIR}/images.tmp -o $$2 $$escape_expand(\\n\\t)
+ return($$RET)
+ }
+ return($$QMAKE_UIC3 -embed $$TARGET $$1 -o $$2)
+}
+
+image_collection.output = $${UI_DIR}/qmake_image_collection$${first(QMAKE_EXT_CPP)}
+image_collection.variable_out = SOURCES
+image_collection.input = IMAGES
+image_collection.CONFIG += combine
+image_collection.name = UIC3 Image collection in ${QMAKE_FILE_OUT}
+!win32 {
+ image_collection.commands = $$QMAKE_UIC3 -embed $$TARGET ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ silent:image_collection.commands = @echo uic3 -embed ${QMAKE_FILE_IN} && $$image_collection.commands
+} else {
+ image_collection.commands = ${QMAKE_FUNC_imageCollectionCmd}
+ silent:image_collection.commands = @echo uic3 -embed $$TARGET -f $${UI_DIR}/images.tmp && $image_collection.commands
+}
+QMAKE_EXTRA_COMPILERS += image_collection
+
+
diff --git a/mkspecs/features/uitools.prf b/mkspecs/features/uitools.prf
new file mode 100644
index 0000000000..65995770de
--- /dev/null
+++ b/mkspecs/features/uitools.prf
@@ -0,0 +1,14 @@
+QT += xml
+qt:load(qt)
+
+# Include the correct version of the UiLoader library
+symbian: QTUITOOLS_LINKAGE = -lQtUiTools.lib
+else: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
+
+CONFIG(debug, debug|release) {
+ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
+ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
+}
+LIBS += $$QTUITOOLS_LINKAGE
+
+INCLUDEPATH = $$QMAKE_INCDIR_QT/QtUiTools $$INCLUDEPATH
diff --git a/mkspecs/features/unix/bsymbolic_functions.prf b/mkspecs/features/unix/bsymbolic_functions.prf
new file mode 100644
index 0000000000..5a60463e36
--- /dev/null
+++ b/mkspecs/features/unix/bsymbolic_functions.prf
@@ -0,0 +1,6 @@
+
+!staticlib:!static:contains(TEMPLATE, lib) {
+ QMAKE_LFLAGS_SHLIB += $$QMAKE_LFLAGS_BSYMBOLIC_FUNC
+
+ !isEmpty(QMAKE_DYNAMIC_LIST_FILE):QMAKE_LFLAGS_SHLIB += $$QMAKE_LFLAGS_DYNAMIC_LIST$$QMAKE_DYNAMIC_LIST_FILE
+}
diff --git a/mkspecs/features/unix/dylib.prf b/mkspecs/features/unix/dylib.prf
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/mkspecs/features/unix/dylib.prf
@@ -0,0 +1 @@
+
diff --git a/mkspecs/features/unix/gdb_dwarf_index.prf b/mkspecs/features/unix/gdb_dwarf_index.prf
new file mode 100644
index 0000000000..14db4fcf1b
--- /dev/null
+++ b/mkspecs/features/unix/gdb_dwarf_index.prf
@@ -0,0 +1,15 @@
+!CONFIG(separate_debug_info):CONFIG(debug, debug|release):!staticlib:!static:!contains(TEMPLATE, subdirs):!isEmpty(QMAKE_OBJCOPY) {
+
+ QMAKE_GDB_INDEX = { test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\"; } && \
+ test \$\$(gdb --version | sed -e \'s,[^0-9]\\+\\([0-9]\\)\\.\\([0-9]\\).*,\\1\\2,;q\') -gt 72 && \
+ gdb --nx --batch --quiet -ex \'set confirm off\' -ex \'save gdb-index .\' -ex quit \'$(TARGET)\' && \
+ test -f $(TARGET).gdb-index && \
+ $$QMAKE_OBJCOPY --add-section \'.gdb_index=$(TARGET).gdb-index\' --set-section-flags \'.gdb_index=readonly\' \'$(TARGET)\' \'$(TARGET)\' && \
+ $$QMAKE_DEL_FILE $(TARGET).gdb-index || true
+
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
+ QMAKE_POST_LINK = $$QMAKE_GDB_INDEX $$QMAKE_POST_LINK
+
+ silent:QMAKE_POST_LINK = @echo indexing $@ for gdb && $$QMAKE_POST_LINK
+}
+
diff --git a/mkspecs/features/unix/hide_symbols.prf b/mkspecs/features/unix/hide_symbols.prf
new file mode 100644
index 0000000000..4af99c2eac
--- /dev/null
+++ b/mkspecs/features/unix/hide_symbols.prf
@@ -0,0 +1,4 @@
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_HIDESYMS
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_HIDESYMS
+QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_HIDESYMS
+QMAKE_LFLAGS += $$QMAKE_LFLAGS_HIDESYMS
diff --git a/mkspecs/features/unix/largefile.prf b/mkspecs/features/unix/largefile.prf
new file mode 100644
index 0000000000..104d6759a8
--- /dev/null
+++ b/mkspecs/features/unix/largefile.prf
@@ -0,0 +1,2 @@
+DEFINES += _LARGEFILE64_SOURCE _LARGEFILE_SOURCE
+
diff --git a/mkspecs/features/unix/opengl.prf b/mkspecs/features/unix/opengl.prf
new file mode 100644
index 0000000000..74a514915d
--- /dev/null
+++ b/mkspecs/features/unix/opengl.prf
@@ -0,0 +1,17 @@
+contains(QT_CONFIG, opengles1) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
+ !isEmpty(QMAKE_LIBDIR_OPENGL_ES1):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES1
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1
+ else:LIBS += $$QMAKE_LIBS_OPENGL_ES1
+} else:contains(QT_CONFIG, opengles2) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2
+ !isEmpty(QMAKE_LIBDIR_OPENGL_ES2):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES2
+ else:LIBS += $$QMAKE_LIBS_OPENGL_ES2
+} else {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+ !isEmpty(QMAKE_LIBDIR_OPENGL):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_QT
+ else:LIBS += $$QMAKE_LIBS_OPENGL
+}
+
diff --git a/mkspecs/features/unix/openvg.prf b/mkspecs/features/unix/openvg.prf
new file mode 100644
index 0000000000..29acec18ff
--- /dev/null
+++ b/mkspecs/features/unix/openvg.prf
@@ -0,0 +1,15 @@
+!isEmpty(QMAKE_INCDIR_OPENVG): INCLUDEPATH += $$QMAKE_INCDIR_OPENVG
+!isEmpty(QMAKE_LIBDIR_OPENVG): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENVG
+!isEmpty(QMAKE_LIBS_OPENVG): LIBS += $$QMAKE_LIBS_OPENVG
+
+contains(QT_CONFIG, egl) {
+ !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ !isEmpty(QMAKE_LIBDIR_EGL): LIBS += -L$$QMAKE_LIBDIR_EGL
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+}
+
+contains(QT_CONFIG, openvg_on_opengl) {
+ !isEmpty(QMAKE_INCDIR_OPENGL): INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+ !isEmpty(QMAKE_LIBDIR_OPENGL): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENGL
+ !isEmpty(QMAKE_LIBS_OPENGL): LIBS += $$QMAKE_LIBS_OPENGL
+}
diff --git a/mkspecs/features/unix/separate_debug_info.prf b/mkspecs/features/unix/separate_debug_info.prf
new file mode 100644
index 0000000000..8843c6d2a8
--- /dev/null
+++ b/mkspecs/features/unix/separate_debug_info.prf
@@ -0,0 +1,18 @@
+
+!separate_debug_info_nocopy:!staticlib:!static:!contains(TEMPLATE, subdirs):!isEmpty(QMAKE_OBJCOPY) {
+ QMAKE_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; targ=`basename $(TARGET)`; $$QMAKE_OBJCOPY --only-keep-debug \"\$\$targ\" \"\$\$targ.debug\" && $$QMAKE_OBJCOPY --strip-debug \"\$\$targ\" && $$QMAKE_OBJCOPY --add-gnu-debuglink=\"\$\$targ.debug\" \"\$\$targ\" && chmod -x \"\$\$targ.debug\"
+ QMAKE_INSTALL_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; $(INSTALL_FILE) `basename $(TARGET)`.debug $(INSTALL_ROOT)/\$\$target_path/
+
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
+ QMAKE_POST_LINK = $$QMAKE_SEPARATE_DEBUG_INFO $$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo creating $@.debug && $$QMAKE_POST_LINK
+
+ isEmpty(DESTDIR) {
+ target.targets += "`basename $(TARGET)`.debug"
+ QMAKE_DISTCLEAN += "`basename $(TARGET)`.debug"
+ } else {
+ target.targets += "$(DESTDIR)/`basename $(TARGET)`.debug"
+ QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.debug"
+ }
+}
+
diff --git a/mkspecs/features/unix/thread.prf b/mkspecs/features/unix/thread.prf
new file mode 100644
index 0000000000..d6df7b6474
--- /dev/null
+++ b/mkspecs/features/unix/thread.prf
@@ -0,0 +1,14 @@
+!isEmpty(QMAKE_CFLAGS_THREAD) {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_THREAD
+ QMAKE_EXPORT_CFLAGS += $$QMAKE_CFLAGS_THREAD
+}
+!isEmpty(QMAKE_CXXFLAGS_THREAD) {
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_THREAD
+ QMAKE_EXPORT_CXXFLAGS += $$QMAKE_CXXFLAGS_THREAD
+}
+INCLUDEPATH += $$QMAKE_INCDIR_THREAD
+LIBS += $$QMAKE_LIBS_THREAD
+!isEmpty(QMAKE_LFLAGS_THREAD):QMAKE_LFLAGS += $$QMAKE_LFLAGS_THREAD
+!isEmpty(QMAKE_CC_THREAD):QMAKE_CC = $$QMAKE_CC_THREAD
+!isEmpty(QMAKE_CXX_THREAD):QMAKE_CXX = $$QMAKE_CXX_THREAD
+!isEmpty(QMAKE_LINK_THREAD):QMAKE_LINK = $$QMAKE_LINK_THREAD
diff --git a/mkspecs/features/unix/x11.prf b/mkspecs/features/unix/x11.prf
new file mode 100644
index 0000000000..404ce08d40
--- /dev/null
+++ b/mkspecs/features/unix/x11.prf
@@ -0,0 +1 @@
+CONFIG *= x11lib x11inc
diff --git a/mkspecs/features/unix/x11inc.prf b/mkspecs/features/unix/x11inc.prf
new file mode 100644
index 0000000000..7e11b5bfa0
--- /dev/null
+++ b/mkspecs/features/unix/x11inc.prf
@@ -0,0 +1,3 @@
+INCLUDEPATH += $$QMAKE_INCDIR_X11
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_X11
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_X11
diff --git a/mkspecs/features/unix/x11lib.prf b/mkspecs/features/unix/x11lib.prf
new file mode 100644
index 0000000000..b661d53dd9
--- /dev/null
+++ b/mkspecs/features/unix/x11lib.prf
@@ -0,0 +1,2 @@
+!isEmpty(QMAKE_LIBDIR_X11):QMAKE_LIBDIR += $$QMAKE_LIBDIR_X11
+LIBS_PRIVATE += $$QMAKE_LIBS_X11
diff --git a/mkspecs/features/unix/x11sm.prf b/mkspecs/features/unix/x11sm.prf
new file mode 100644
index 0000000000..5176147eb5
--- /dev/null
+++ b/mkspecs/features/unix/x11sm.prf
@@ -0,0 +1,2 @@
+!isEmpty(QMAKE_LIBDIR_X11):QMAKE_LIBDIR += $$QMAKE_LIBDIR_X11
+LIBS_PRIVATE += $$QMAKE_LIBS_X11SM
diff --git a/mkspecs/features/use_c_linker.prf b/mkspecs/features/use_c_linker.prf
new file mode 100644
index 0000000000..e07ce6a3b2
--- /dev/null
+++ b/mkspecs/features/use_c_linker.prf
@@ -0,0 +1,5 @@
+!isEmpty(QMAKE_LINK_C):QMAKE_LINK = $$QMAKE_LINK_C
+!isEmpty(QMAKE_LINK_C_SHLIB) {
+ !isEmpty(QMAKE_LINK_SHLIB_CMD):QMAKE_LINK_SHLIB_CMD ~= s/^$$re_escape($$QMAKE_LINK_SHLIB)$/$$QMAKE_LINK_C_SHLIB/
+ QMAKE_LINK_SHLIB = $$QMAKE_LINK_C_SHLIB
+}
diff --git a/mkspecs/features/vxworks.prf b/mkspecs/features/vxworks.prf
new file mode 100644
index 0000000000..e257cd7ed1
--- /dev/null
+++ b/mkspecs/features/vxworks.prf
@@ -0,0 +1,64 @@
+# VxWorks Munching Feature
+# When compiling C++ sources on VxWorks in kernel mode, all .o files have to
+# be processed by the so-called 'munch' script which will generate
+# additional code for static c'tors and d'tors. The resulting .c file has to
+# be compiled in turn and linked to the executable.
+# This can only been done when linking applications, since the munch script
+# generates a .c file containing static symbols: linking a lib that was
+# already munched to a munched application would lead to duplicate symbols!
+
+isEmpty(VXWORKS_MUNCH_EXT):VXWORKS_MUNCH_EXT = vxm
+isEmpty(VXWORKS_MUNCH_TOOL):VXWORKS_MUNCH_TOOL = $(WIND_BASE)/host/resource/hutils/tcl/munch.tcl
+
+
+!exists($$VXWORKS_MUNCH_TOOL) {
+ error("Could not find VxWorks Munch tool: '$${VXWORKS_MUNCH_TOOL}'. Please set the environment variable WIND_BASE correctly.")
+}
+
+# The following scope is entered for any project that specifies 'shared' as well
+# as for any project specifying neither 'shared', nor 'lib', nor 'staticlib'.
+# This means that for a static build only the executable is munched, while for
+# a shared build, every lib, plugin and executable is munched separately.
+
+shared|!staticlib:!lib {
+ *-dcc {
+ VXWORKS_MUNCH_CMD = targ=`basename $(TARGET)`; \
+ ddump -Ng \"$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
+ $$QMAKE_CC -c $$QMAKE_CFLAGS \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
+ $$QMAKE_LINK $$QMAKE_LFLAGS -X -r5 -r4 \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(TARGET)\" -o \"$(TARGET).munched\" && \
+ mv \"$(TARGET).munched\" \"$(TARGET)\" && \
+ chmod +x \"$(TARGET)\"
+ }
+ *-g++ {
+ VXWORKS_MUNCH_CMD = targ=`basename $(TARGET)`; \
+ nm \"$(DESTDIR)$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
+ $$QMAKE_CC -c $$QMAKE_CFLAGS -fdollars-in-identifiers \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
+ $$QMAKE_LINK $$QMAKE_LFLAGS -nostdlib -Wl,-X -T $(WIND_BASE)/target/h/tool/gnu/ldscripts/link.OUT \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(DESTDIR)$(TARGET)\" -o \"$(DESTDIR)$(TARGET).munched\" && \
+ mv \"$(DESTDIR)$(TARGET).munched\" \"$(DESTDIR)$(TARGET)\" && \
+ chmod +x \"$(DESTDIR)$(TARGET)\"
+ }
+
+ # We need to create a dummy lib.a in case someone links against this lib.
+ # In VxWorks it's the responsibility of the run-time linker ld to resolve
+ # symbols, since there are no real shared libraries for the toolchain linker
+ # to link against.
+
+ shared:contains(TEMPLATE, lib) {
+ VXWORKS_MUNCH_CMD += "&&"
+ VXWORKS_MUNCH_CMD += (atarg=`basename $(TARGET) .so.$${VERSION}`.a ; touch \"$(DESTDIR)\$\${atarg}\")
+ }
+
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
+ QMAKE_POST_LINK = $$VXWORKS_MUNCH_CMD$$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo creating $@.$$VXWORKS_MUNCH_EXT && $$QMAKE_POST_LINK
+
+ isEmpty(DESTDIR) {
+ target.targets += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ } else {
+ target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ }
+ *-g++:LIBS += -lgcc
+}
+
diff --git a/mkspecs/features/warn_off.prf b/mkspecs/features/warn_off.prf
new file mode 100644
index 0000000000..e37979c035
--- /dev/null
+++ b/mkspecs/features/warn_off.prf
@@ -0,0 +1,4 @@
+CONFIG -= warn_on
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_WARN_OFF
+QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_WARN_OFF \ No newline at end of file
diff --git a/mkspecs/features/warn_on.prf b/mkspecs/features/warn_on.prf
new file mode 100644
index 0000000000..7e78a8e0d3
--- /dev/null
+++ b/mkspecs/features/warn_on.prf
@@ -0,0 +1,5 @@
+CONFIG -= warn_off
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_WARN_ON
+QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_WARN_ON
+
diff --git a/mkspecs/features/win32/console.prf b/mkspecs/features/win32/console.prf
new file mode 100644
index 0000000000..8a1725d648
--- /dev/null
+++ b/mkspecs/features/win32/console.prf
@@ -0,0 +1,4 @@
+CONFIG -= windows
+contains(TEMPLATE, ".*app") {
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_CONSOLE $$QMAKE_LFLAGS_EXE
+}
diff --git a/mkspecs/features/win32/default_post.prf b/mkspecs/features/win32/default_post.prf
new file mode 100644
index 0000000000..a1d8b52da9
--- /dev/null
+++ b/mkspecs/features/win32/default_post.prf
@@ -0,0 +1,11 @@
+!isEmpty(CE_ARCH) {
+ QMAKESPEC_DIR = $$QMAKESPEC
+ exists($$QMAKESPEC_DIR/default_post.prf) {
+ isEmpty(QMAKESPEC_DIR):QMAKESPEC_DIR = $$QMAKESPEC_ORIGINAL
+ !isEmpty(QMAKESPEC_DIR):load($$QMAKESPEC_DIR/default_post.prf)
+ }
+}
+
+# Now load the global default_post
+load(default_post)
+
diff --git a/mkspecs/features/win32/default_pre.prf b/mkspecs/features/win32/default_pre.prf
new file mode 100644
index 0000000000..67891743a5
--- /dev/null
+++ b/mkspecs/features/win32/default_pre.prf
@@ -0,0 +1,3 @@
+CONFIG = rtti_off exceptions_off stl_off incremental_off thread_off windows $$CONFIG
+load(default_pre)
+
diff --git a/mkspecs/features/win32/dumpcpp.prf b/mkspecs/features/win32/dumpcpp.prf
new file mode 100644
index 0000000000..19637998c7
--- /dev/null
+++ b/mkspecs/features/win32/dumpcpp.prf
@@ -0,0 +1,11 @@
+isEmpty(QMAKE_DUMPCPP_NAME) {
+ QMAKE_DUMPCPP_NAME = make_dumpcpp
+}
+
+# auto depend on dumpcpp
+!contains(TARGET, dumpcpp) {
+ isEmpty(QMAKE_DUMPCPP_SRC): QMAKE_DUMPCPP_SRC = "$(QTDIR)/tools/activeqt/dumpcpp"
+ make_dumpcpp.commands = (cd $$QMAKE_DUMPCPP_SRC && $(QMAKE) && $(MAKE))
+ QMAKE_EXTRA_TARGETS += $$QMAKE_DUMPCPP_NAME
+}
+
diff --git a/mkspecs/features/win32/embed_manifest_dll.prf b/mkspecs/features/win32/embed_manifest_dll.prf
new file mode 100644
index 0000000000..cf96ee7017
--- /dev/null
+++ b/mkspecs/features/win32/embed_manifest_dll.prf
@@ -0,0 +1,12 @@
+!if(plugin:no_plugin_manifest):if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):!static:equals(TEMPLATE, "lib") {
+ MANIFEST_DIR = $$OBJECTS_DIR
+ isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
+ NOPATH_TARGET = $$TARGET
+ NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
+ NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators
+ NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths
+ QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\")
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
+ QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);2)$$QMAKE_POST_LINK
+ QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
+}
diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf
new file mode 100644
index 0000000000..9bc77029ff
--- /dev/null
+++ b/mkspecs/features/win32/embed_manifest_exe.prf
@@ -0,0 +1,12 @@
+if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):equals(TEMPLATE, "app") {
+ MANIFEST_DIR = $$OBJECTS_DIR
+ isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
+ NOPATH_TARGET = $$TARGET
+ NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
+ NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators
+ NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths
+ QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\")
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
+ QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);1)$$QMAKE_POST_LINK
+ QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
+}
diff --git a/mkspecs/features/win32/exceptions.prf b/mkspecs/features/win32/exceptions.prf
new file mode 100644
index 0000000000..786665920f
--- /dev/null
+++ b/mkspecs/features/win32/exceptions.prf
@@ -0,0 +1,5 @@
+CONFIG -= exceptions_off
+QMAKE_CFLAGS *= $$QMAKE_CFLAGS_EXCEPTIONS_ON
+QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_EXCEPTIONS_ON
+QMAKE_LFLAGS *= $$QMAKE_LFLAGS_EXCEPTIONS_ON
+
diff --git a/mkspecs/features/win32/exceptions_off.prf b/mkspecs/features/win32/exceptions_off.prf
new file mode 100644
index 0000000000..9de53d3417
--- /dev/null
+++ b/mkspecs/features/win32/exceptions_off.prf
@@ -0,0 +1,5 @@
+CONFIG -= exceptions
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_EXCEPTIONS_OFF
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_EXCEPTIONS_OFF
+QMAKE_LFLAGS += $$QMAKE_LFLAGS_EXCEPTIONS_OFF
+
diff --git a/mkspecs/features/win32/ltcg.prf b/mkspecs/features/win32/ltcg.prf
new file mode 100644
index 0000000000..f6f1299f47
--- /dev/null
+++ b/mkspecs/features/win32/ltcg.prf
@@ -0,0 +1,5 @@
+CONFIG(release, debug|release) {
+ QMAKE_CFLAGS *= $$QMAKE_CFLAGS_LTCG
+ QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_LTCG
+ QMAKE_LFLAGS *= $$QMAKE_LFLAGS_LTCG
+}
diff --git a/mkspecs/features/win32/msvc_mp.prf b/mkspecs/features/win32/msvc_mp.prf
new file mode 100644
index 0000000000..d6dea14db9
--- /dev/null
+++ b/mkspecs/features/win32/msvc_mp.prf
@@ -0,0 +1,2 @@
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_MP
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MP
diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf
new file mode 100644
index 0000000000..3414781c39
--- /dev/null
+++ b/mkspecs/features/win32/opengl.prf
@@ -0,0 +1,11 @@
+# WinCE does not have a platform directory for .prf files, and the
+# win32 directory is searched for .prfs by qmake on WinCE. Ideally
+# there should be a features/wince/opengl.prf which contains the wince
+# block below.
+
+wince* {
+ include(../unix/opengl.prf)
+} else {
+ QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL
+}
diff --git a/mkspecs/features/win32/openvg.prf b/mkspecs/features/win32/openvg.prf
new file mode 100644
index 0000000000..0df5b6621a
--- /dev/null
+++ b/mkspecs/features/win32/openvg.prf
@@ -0,0 +1,7 @@
+QMAKE_LIBS += $$QMAKE_LIBS_OPENVG
+QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENVG
+
+contains(QT_CONFIG, openvg_on_opengl) {
+ QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL
+}
diff --git a/mkspecs/features/win32/qaxcontainer.prf b/mkspecs/features/win32/qaxcontainer.prf
new file mode 100644
index 0000000000..34c6dfed42
--- /dev/null
+++ b/mkspecs/features/win32/qaxcontainer.prf
@@ -0,0 +1,32 @@
+!debug_and_release|build_pass {
+ CONFIG(debug, debug|release) {
+ LIBS += -lQAxContainerd
+ } else {
+ LIBS += -lQAxContainer
+ }
+} else {
+ LIBS += -lQAxContainer
+}
+
+qtPrepareTool(QMAKE_DUMPCPP, dumpcpp)
+
+dumpcpp_decl.commands = $$QMAKE_DUMPCPP ${QMAKE_FILE_IN} -o ${QMAKE_FILE_BASE}
+qaxcontainer_compat: dumpcpp_decl.commands += -compat
+dumpcpp_decl.output = ${QMAKE_FILE_BASE}.h
+dumpcpp_decl.input = TYPELIBS
+dumpcpp_decl.variable_out = HEADERS
+dumpcpp_decl.name = DUMP
+dumpcpp_decl.CONFIG += no_link
+dumpcpp_decl.depends = $$QMAKE_DUMPCPP
+
+QMAKE_EXTRA_COMPILERS += dumpcpp_decl
+
+
+dumpcpp_impl.commands = $$QMAKE_DUMPCPP -donothing
+dumpcpp_impl.output = ${QMAKE_FILE_BASE}.cpp
+dumpcpp_impl.input = TYPELIBS
+dumpcpp_impl.variable_out = SOURCES
+dumpcpp_impl.name = CPP
+dumpcpp_impl.depends = $$QMAKE_DUMPCPP ${QMAKE_FILE_BASE}.h
+
+QMAKE_EXTRA_COMPILERS += dumpcpp_impl
diff --git a/mkspecs/features/win32/qaxserver.prf b/mkspecs/features/win32/qaxserver.prf
new file mode 100644
index 0000000000..a6c0869540
--- /dev/null
+++ b/mkspecs/features/win32/qaxserver.prf
@@ -0,0 +1,59 @@
+build_pass:console: {
+ warning("QAxServer applications cannot be console applications.")
+ warning("Remove 'console' from your CONFIG.")
+}
+
+ACTIVEQT_VERSION = $$VERSION
+isEmpty(ACTIVEQT_VERSION):ACTIVEQT_VERSION = 1.0
+
+DEFINES += QAXSERVER
+
+contains(TEMPLATE, "vc.*") {
+ ACTIVEQT_IDC = $${QMAKE_IDC} ### Qt5: remove me
+ qtPrepareTool(ACTIVEQT_IDC, idc)
+ ACTIVEQT_IDL = $${QMAKE_IDL}
+ ACTIVEQT_TARGET = "$(TargetPath)"
+ win32-msvc {
+ ACTIVEQT_NEWLINE = $$escape_expand(\\t)
+ ACTIVEQT_OUTPUT = $(IntDir)/$${TARGET}
+ } else {
+ ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t)
+ ACTIVEQT_OUTPUT = $(IntDir)$${TARGET}
+ }
+ ACTIVEQT_TLBOUT = "$(TargetDir)/$${TARGET}.tlb"
+ GENERATED += $${OBJECTS_DIR}/$${TARGET}.idl $${ACTIVEQT_TLBOUT}
+} else {
+ ACTIVEQT_IDC = -$(IDC)
+ ACTIVEQT_IDL = -$(IDL)
+ ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t)
+ ACTIVEQT_TARGET = $(DESTDIR_TARGET)
+ ACTIVEQT_OUTPUT = $(OBJECTS_DIR)/$${TARGET}
+ isEmpty(DESTDIR) {
+ ACTIVEQT_TLBOUT = $${TARGET}.tlb
+ } else {
+ ACTIVEQT_TLBOUT = $${DESTDIR}/$${TARGET}.tlb
+ }
+}
+
+!qaxserver_no_postlink {
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK += $$quote($$ACTIVEQT_NEWLINE)
+ QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /idl $${ACTIVEQT_OUTPUT}.idl -version $${ACTIVEQT_VERSION}$${ACTIVEQT_NEWLINE})
+ !isEmpty(RC_FILE) {
+ QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDL "$${ACTIVEQT_OUTPUT}.idl" /nologo /tlb "$${ACTIVEQT_OUTPUT}.tlb"$$ACTIVEQT_NEWLINE)
+ QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /tlb $${ACTIVEQT_OUTPUT}.tlb$$ACTIVEQT_NEWLINE)
+ } else {
+ QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDL "$${ACTIVEQT_OUTPUT}.idl" /nologo /tlb "$${ACTIVEQT_TLBOUT}"$$ACTIVEQT_NEWLINE)
+ message("No rc-file linked into project; type library will be a separate file.")
+ }
+ QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /regserver)
+ QMAKE_CLEAN += $${ACTIVEQT_OUTPUT}.idl $${ACTIVEQT_OUTPUT}.tlb
+}
+
+qt:!target_qt {
+ CONFIG(debug, debug|release) {
+ QMAKE_LIBS_QT_ENTRY = -lQAxServerd
+ } else {
+ QMAKE_LIBS_QT_ENTRY = -lQAxServer
+ }
+ dll:QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
+}
diff --git a/mkspecs/features/win32/qt_dll.prf b/mkspecs/features/win32/qt_dll.prf
new file mode 100644
index 0000000000..f03c0c08c1
--- /dev/null
+++ b/mkspecs/features/win32/qt_dll.prf
@@ -0,0 +1 @@
+CONFIG *= qt
diff --git a/mkspecs/features/win32/rtti.prf b/mkspecs/features/win32/rtti.prf
new file mode 100644
index 0000000000..6d720d2438
--- /dev/null
+++ b/mkspecs/features/win32/rtti.prf
@@ -0,0 +1,3 @@
+CONFIG -= rtti_off
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_RTTI_ON
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RTTI_ON
diff --git a/mkspecs/features/win32/rtti_off.prf b/mkspecs/features/win32/rtti_off.prf
new file mode 100644
index 0000000000..b520bfa8b7
--- /dev/null
+++ b/mkspecs/features/win32/rtti_off.prf
@@ -0,0 +1,4 @@
+CONFIG -= rtti
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_RTTI_OFF
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RTTI_OFF
+DEFINES += QT_NO_DYNAMIC_CAST \ No newline at end of file
diff --git a/mkspecs/features/win32/stl.prf b/mkspecs/features/win32/stl.prf
new file mode 100644
index 0000000000..caf30ef68d
--- /dev/null
+++ b/mkspecs/features/win32/stl.prf
@@ -0,0 +1,3 @@
+CONFIG -= stl_off
+QMAKE_CFLAGS *= $$QMAKE_CFLAGS_STL_ON
+QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_STL_ON
diff --git a/mkspecs/features/win32/stl_off.prf b/mkspecs/features/win32/stl_off.prf
new file mode 100644
index 0000000000..10198c76d7
--- /dev/null
+++ b/mkspecs/features/win32/stl_off.prf
@@ -0,0 +1,3 @@
+CONFIG -= stl
+QMAKE_CFLAGS += $$QMAKE_CFLAGS_STL_OFF
+QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STL_OFF
diff --git a/mkspecs/features/win32/thread.prf b/mkspecs/features/win32/thread.prf
new file mode 100644
index 0000000000..76354a8200
--- /dev/null
+++ b/mkspecs/features/win32/thread.prf
@@ -0,0 +1,26 @@
+CONFIG -= thread_off
+qt {
+ target_qt:PRL_EXPORT_DEFINES += QT_THREAD_SUPPORT
+ else:DEFINES += QT_THREAD_SUPPORT
+}
+
+# #### These need to go
+debug {
+ contains(DEFINES, QT_DLL) {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLLDBG
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLLDBG
+ } else {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DBG
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DBG
+ }
+} else {
+ contains(DEFINES, QT_DLL) {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLL
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLL
+ } else {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT
+ }
+}
+
+QMAKE_LIBS += $$QMAKE_LIBS_RTMT
diff --git a/mkspecs/features/win32/thread_off.prf b/mkspecs/features/win32/thread_off.prf
new file mode 100644
index 0000000000..436a2c8166
--- /dev/null
+++ b/mkspecs/features/win32/thread_off.prf
@@ -0,0 +1,2 @@
+CONFIG -= thread
+QMAKE_LIBS += $$QMAKE_LIBS_RT
diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
new file mode 100644
index 0000000000..f41db803c9
--- /dev/null
+++ b/mkspecs/features/win32/windows.prf
@@ -0,0 +1,15 @@
+CONFIG -= console
+contains(TEMPLATE, ".*app"){
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_WINDOWS $$QMAKE_LFLAGS_EXE
+ win32-g++:DEFINES += QT_NEEDS_QMAIN
+ win32-borland:DEFINES += QT_NEEDS_QMAIN
+
+ qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
+ isEqual(entryLib, -lqtmain): {
+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
+ else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
+ } else {
+ QMAKE_LIBS += $${entryLib}
+ }
+ }
+}
diff --git a/mkspecs/features/yacc.prf b/mkspecs/features/yacc.prf
new file mode 100644
index 0000000000..4d7e0a381b
--- /dev/null
+++ b/mkspecs/features/yacc.prf
@@ -0,0 +1,42 @@
+#
+# Yacc extra-compiler for handling files specified in the YACCSOURCES variable
+#
+
+{
+ yacc_decl.name = Yacc header
+ yacc_decl.input = YACCSOURCES
+ yacc_decl.variable_out = GENERATED_FILES
+
+
+ isEmpty(QMAKE_YACCFLAGS_MANGLE) {
+ QMAKE_YACCFLAGS_MANGLE = -p ${QMAKE_FILE_BASE}
+ QMAKE_YACC_HEADER = y.tab.h
+ QMAKE_YACC_SOURCE = y.tab.c
+ } else {
+ QMAKE_YACCFLAGS_MANGLE ~= s/\\$base/${QMAKE_FILE_BASE}/g #backwards compat
+ QMAKE_YACC_HEADER ~= s/\\$base/${QMAKE_FILE_BASE}/g
+ QMAKE_YACC_SOURCE ~= s/\\$base/${QMAKE_FILE_BASE}/g
+ }
+ QMAKE_YACCDECLFLAGS = $$QMAKE_YACCFLAGS
+ !yacc_no_name_mangle:QMAKE_YACCDECLFLAGS += $$QMAKE_YACCFLAGS_MANGLE
+
+ yacc_decl.commands = \
+ $$QMAKE_YACC $$QMAKE_YACCDECLFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \
+ $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) \
+ $$QMAKE_MOVE $${QMAKE_YACC_HEADER} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)}$$escape_expand(\\n\\t) \
+ $$QMAKE_MOVE $${QMAKE_YACC_SOURCE} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t)
+ yacc_decl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)}
+
+ silent:yacc_decl.commands = @echo Yacc ${QMAKE_FILE_IN} && $$yacc_decl.commands
+ QMAKE_EXTRA_COMPILERS += yacc_decl
+}
+
+{
+ yacc_impl.name = source for ${QMAKE_FILE_IN}
+ yacc_impl.input = YACCSOURCES
+ yacc_impl.variable_out = GENERATED_SOURCES
+ yacc_impl.commands = $$escape_expand(\\n) # We don't want any commands where, but if command is empty no rules are created
+ yacc_impl.depends = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)} # Make sure we depend on the step above
+ yacc_impl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)} # Faked output from this step, output really created in step above
+ QMAKE_EXTRA_COMPILERS += yacc_impl
+}
diff --git a/mkspecs/freebsd-g++/qmake.conf b/mkspecs/freebsd-g++/qmake.conf
new file mode 100644
index 0000000000..9d7c4431d8
--- /dev/null
+++ b/mkspecs/freebsd-g++/qmake.conf
@@ -0,0 +1,54 @@
+#
+# qmake configuration for freebsd-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl gdb_dwarf_index
+QT += core gui
+
+QMAKE_CFLAGS_THREAD = -pthread -D_THREAD_SAFE
+
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+# Addon software goes into /usr/local on the BSDs, by default we will look there
+QMAKE_INCDIR = /usr/local/include
+QMAKE_LIBDIR = /usr/local/lib
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LFLAGS_THREAD = -pthread
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+load(qt_config)
diff --git a/mkspecs/freebsd-g++/qplatformdefs.h b/mkspecs/freebsd-g++/qplatformdefs.h
new file mode 100644
index 0000000000..a07bef0ac3
--- /dev/null
+++ b/mkspecs/freebsd-g++/qplatformdefs.h
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+
+#if !defined(__DragonFly__) && (__FreeBSD_version < 400000)
+// FreeBSD 1.0 - 3.5.1
+#define QT_SOCKLEN_T int
+#else
+// FreeBSD 4.0 and better
+#define QT_SOCKLEN_T socklen_t
+#endif
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+// Older FreeBSD versions may still use the a.out format instead of ELF.
+// From the FreeBSD man pages:
+// In previous implementations, it was necessary to prepend an
+// underscore to all external symbols in order to gain symbol
+// compatibility with object code compiled from the C language.
+// This is still the case when using the (obsolete) -aout option to
+// the C language compiler.
+#ifndef __ELF__
+#define QT_AOUT_UNDERSCORE
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/freebsd-g++34/qmake.conf b/mkspecs/freebsd-g++34/qmake.conf
new file mode 100644
index 0000000000..0f52993451
--- /dev/null
+++ b/mkspecs/freebsd-g++34/qmake.conf
@@ -0,0 +1,87 @@
+#
+# qmake configuration for freebsd-g++34 (using g++34 from ports/lang/gcc34)
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = gcc34
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -pthread -D_THREAD_SAFE
+
+QMAKE_CXX = g++34
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+# Addon software goes into /usr/local on the BSDs, by default we will look there
+QMAKE_INCDIR = /usr/local/include
+QMAKE_LIBDIR = /usr/local/lib
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++34
+QMAKE_LINK_SHLIB = g++34
+QMAKE_LINK_C = gcc34
+QMAKE_LINK_C_SHLIB = gcc34
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD = -pthread
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/freebsd-g++34/qplatformdefs.h b/mkspecs/freebsd-g++34/qplatformdefs.h
new file mode 100644
index 0000000000..bbff7bb123
--- /dev/null
+++ b/mkspecs/freebsd-g++34/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../freebsd-g++/qplatformdefs.h"
diff --git a/mkspecs/freebsd-g++40/qmake.conf b/mkspecs/freebsd-g++40/qmake.conf
new file mode 100644
index 0000000000..bf4271126a
--- /dev/null
+++ b/mkspecs/freebsd-g++40/qmake.conf
@@ -0,0 +1,87 @@
+#
+# qmake configuration for freebsd-g++40 (using g++40 from ports/lang/gcc40)
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl gdb_dwarf_index
+QT += core gui
+
+QMAKE_CC = gcc40
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -pthread -D_THREAD_SAFE
+
+QMAKE_CXX = g++40
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+# Addon software goes into /usr/local on the BSDs, by default we will look there
+QMAKE_INCDIR = /usr/local/include
+QMAKE_LIBDIR = /usr/local/lib
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++40
+QMAKE_LINK_SHLIB = g++40
+QMAKE_LINK_C = gcc40
+QMAKE_LINK_C_SHLIB = gcc40
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD = -pthread
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/freebsd-g++40/qplatformdefs.h b/mkspecs/freebsd-g++40/qplatformdefs.h
new file mode 100644
index 0000000000..bbff7bb123
--- /dev/null
+++ b/mkspecs/freebsd-g++40/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../freebsd-g++/qplatformdefs.h"
diff --git a/mkspecs/freebsd-icc/qmake.conf b/mkspecs/freebsd-icc/qmake.conf
new file mode 100644
index 0000000000..acc8f14b3a
--- /dev/null
+++ b/mkspecs/freebsd-icc/qmake.conf
@@ -0,0 +1,110 @@
+#
+# qmake configuration for freebsd-icc
+#
+# Written for Intel C++ 7.1 and 8.0 on FreeBSD
+#
+# Note: Some of the remarks from the Intel compiler are disabled (even
+# with 'warn_on' specified):
+#
+# remark #171: invalid type conversion: "int" to "void *"
+# remark #193: zero used for undefined preprocessing identifier
+# remark #279: controlling expression is constant
+# remark #304: access control not specified ("public" by default)
+# remark #310: old-style parameter list (anachronism)
+# remark #383: value copied to temporary, reference to temporary used
+# remark #424: extra ";" ignored
+# remark #444: destructor for base class "Class" is not virtual
+# remark #488: template parameter "T" is not used in declaring the parameter
+# types of function template "function"
+# remark #810: conversion from "type1" to "type2" may loose significant bits
+# remark #858: type qualifier on return type is meaningless
+# remark #967: conversion from "type1" to "type2"; sizes do not match
+# remark #981: operands are evaluated in unspecified order
+# remark #1418: external definition with no prior declaration
+# remark #1419: external declaration in primary source file
+# warning #1476: field uses tail padding of a base class
+# warning #1477: GNU C++ compilers may use bit field padding
+# warning #1572: floating-point equality and inequality comparisons are unreliable
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = icc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -wd858,1572
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -w2 -wd171,193,279,304,310,383,424,444,488,810,967,981,1418,1419,1476,1477
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE =
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fpic
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_THREAD_SAFE
+
+QMAKE_CXX = icpc
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+# Addon software goes into /usr/local on the BSDs, by default we will look there
+QMAKE_INCDIR = /usr/local/include
+QMAKE_LIBDIR = /usr/local/lib
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = icpc
+QMAKE_LINK_SHLIB = icpc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Qoption,ld,-soname,
+QMAKE_LFLAGS_THREAD = -mt
+QMAKE_LFLAGS_RPATH = -Qoption,ld,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/freebsd-icc/qplatformdefs.h b/mkspecs/freebsd-icc/qplatformdefs.h
new file mode 100644
index 0000000000..bbff7bb123
--- /dev/null
+++ b/mkspecs/freebsd-icc/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../freebsd-g++/qplatformdefs.h"
diff --git a/mkspecs/hpux-acc-64/qmake.conf b/mkspecs/hpux-acc-64/qmake.conf
new file mode 100644
index 0000000000..b9aaf5ab24
--- /dev/null
+++ b/mkspecs/hpux-acc-64/qmake.conf
@@ -0,0 +1,131 @@
+#
+# qmake configuration for hpux-n64
+#
+# We define _POSIX_C_SOURCE to 199506L when using threads, therefore
+# we also need to redefine _HPUX_SOURCE.
+# From pthread(3t):
+# Some documentation will recommend the use of -D_REENTRANT for
+# compilation. While this also functions properly, it is considered
+# an obsolescent form.
+# See pthread(3t) for more details.
+#
+# From the "HP aC++ Online Programmer's Guide":
+# When +DA2.0W is specified:
+# * 64-bit SVR4 Executable and Linking Format (ELF) object files
+# are generated for PA-RISC 2.0.
+# * The preprocessor predefined macro, __LP64__ is defined.
+# * The correct path for 64-bit system and language libraries is
+# selected.
+# When +DD32 is specified:
+# * The size of an int, long, or pointer data type is 32-bits.
+# The size of an int data type is 32-bits. The size of a long or
+# pointer data type is 64-bits.
+# * This is the default, currently equivalent to +DA1.1 architecture.
+# When +DD64 is specified:
+# * The size of an int data type is 32-bits. The size of a long or
+# pointer data type is 64-bits.
+# * This is currently equivalent to +DA2.OW architecture.
+# * The preprocessor predefined macro, __LP64__ is defined.
+# Using +DS to Specify Instruction Scheduling:
+# * By default, the compiler performs scheduling tuned for the system
+# on which you are compiling, or, if specified, tuned for the setting
+# of the +DA option.
+#
+# From the online "C/HP-UX Reference Manual":
+# -Aa
+# Enables strict ANSI C compliance.
+# -Ae
+# Enables ANSI C compliance, HP value-added features (as described
+# for +e option), and _HPUX_SOURCE name space macro. It is equivalent
+# to -Aa +e -D_HPUX_SOURCE.
+# +e
+# Enables the following HP value added features while compiling in
+# ANSI C mode: sized enum, long long, long pointers, compiler supplied
+# defaults for missing arguments to intrinsic calls, and $ in identifier
+# HP C extensions.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+QMAKE_COMPILER_DEFINES += __hpux __HP_aCC
+
+QMAKE_CC = cc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -Ae +DA2.0W -w
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = +O1
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = +Z
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -mt
+
+QMAKE_CXX = aCC
+QMAKE_CXXFLAGS = -AA +DA2.0W -w -D__STRICT_ANSI__ -D_HPUX_SOURCE
+QMAKE_CXXFLAGS_DEPS = +M
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -mt
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/include/X11R6
+QMAKE_LIBDIR_X11 = /usr/lib/X11R6/pa20_64
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib/pa20_64 /usr/contrib/X11R6/lib/pa20_64
+
+QMAKE_LINK = aCC
+QMAKE_LINK_SHLIB = aCC
+QMAKE_LFLAGS = -AA +DA2.0W -Wl,+s
+QMAKE_LFLAGS_RELEASE = -O
+QMAKE_LFLAGS_DEBUG = -g
+QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_RPATH = -Wl,+b,
+QMAKE_HPUX_SHLIB = 3
+QMAKE_EXTENSION_SHLIB = sl
+
+QMAKE_LIBS = -lm
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL -lXt
+QMAKE_LIBS_OPENGL_QT = -lGL -lXt
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpux-acc-64/qplatformdefs.h b/mkspecs/hpux-acc-64/qplatformdefs.h
new file mode 100644
index 0000000000..c85c45aed3
--- /dev/null
+++ b/mkspecs/hpux-acc-64/qplatformdefs.h
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#include <pthread.h>
+#include <sys/pstat.h>
+#define _REENTRANT
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+#define QT_SOCKLEN_T int
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hpux-acc-o64/qmake.conf b/mkspecs/hpux-acc-o64/qmake.conf
new file mode 100644
index 0000000000..389e813dba
--- /dev/null
+++ b/mkspecs/hpux-acc-o64/qmake.conf
@@ -0,0 +1,129 @@
+#
+# qmake configuration for hpux-o64
+#
+# We define _POSIX_C_SOURCE to 199506L when using threads, therefore
+# we also need to redefine _HPUX_SOURCE.
+# From pthread(3t):
+# Some documentation will recommend the use of -D_REENTRANT for
+# compilation. While this also functions properly, it is considered
+# an obsolescent form.
+# See pthread(3t) for more details.
+#
+# From the "HP aC++ Online Programmer's Guide":
+# When +DA2.0W is specified:
+# * 64-bit SVR4 Executable and Linking Format (ELF) object files
+# are generated for PA-RISC 2.0.
+# * The preprocessor predefined macro, __LP64__ is defined.
+# * The correct path for 64-bit system and language libraries is
+# selected.
+# When +DD32 is specified:
+# * The size of an int, long, or pointer data type is 32-bits.
+# The size of an int data type is 32-bits. The size of a long or
+# pointer data type is 64-bits.
+# * This is the default, currently equivalent to +DA1.1 architecture.
+# When +DD64 is specified:
+# * The size of an int data type is 32-bits. The size of a long or
+# pointer data type is 64-bits.
+# * This is currently equivalent to +DA2.OW architecture.
+# * The preprocessor predefined macro, __LP64__ is defined.
+# Using +DS to Specify Instruction Scheduling:
+# * By default, the compiler performs scheduling tuned for the system
+# on which you are compiling, or, if specified, tuned for the setting
+# of the +DA option.
+#
+# From the online "C/HP-UX Reference Manual":
+# -Aa
+# Enables strict ANSI C compliance.
+# -Ae
+# Enables ANSI C compliance, HP value-added features (as described
+# for +e option), and _HPUX_SOURCE name space macro. It is equivalent
+# to -Aa +e -D_HPUX_SOURCE.
+# +e
+# Enables the following HP value added features while compiling in
+# ANSI C mode: sized enum, long long, long pointers, compiler supplied
+# defaults for missing arguments to intrinsic calls, and $ in identifier
+# HP C extensions.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = cc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -Ae +DA2.0 -w
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = -O +Oentrysched +Onolimit
+QMAKE_CFLAGS_DEBUG = -y -g
+QMAKE_CFLAGS_SHLIB = +Z
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE
+
+QMAKE_CXX = aCC
+QMAKE_CXXFLAGS = +DA2.0 -w -D__STRICT_ANSI__ -D_HPUX_SOURCE
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = -g
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/include/X11R6
+QMAKE_LIBDIR_X11 = /usr/lib/X11R6
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib /usr/contrib/X11R6/lib
+
+QMAKE_LINK = aCC
+QMAKE_LINK_SHLIB = aCC
+QMAKE_LFLAGS = +DA2.0 -Wl,+s
+QMAKE_LFLAGS_RELEASE = -O
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -b
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_RPATH = -Wl,+b,
+QMAKE_HPUX_SHLIB = 2
+QMAKE_EXTENSION_SHLIB = sl
+
+QMAKE_LIBS = -lm
+QMAKE_LIBS_DYNLOAD = -ldld
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpux-acc-o64/qplatformdefs.h b/mkspecs/hpux-acc-o64/qplatformdefs.h
new file mode 100644
index 0000000000..09b6b11c41
--- /dev/null
+++ b/mkspecs/hpux-acc-o64/qplatformdefs.h
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dl.h>
+#define QT_HPUX_LD
+#define QT_NO_LIBRARY_UNLOAD
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+#define QT_SOCKLEN_T int
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hpux-acc/qmake.conf b/mkspecs/hpux-acc/qmake.conf
new file mode 100644
index 0000000000..d1b6e5ce56
--- /dev/null
+++ b/mkspecs/hpux-acc/qmake.conf
@@ -0,0 +1,110 @@
+#
+# qmake configuration for hpux-acc
+#
+# We define _POSIX_C_SOURCE to 199506L when using threads, therefore
+# we also need to redefine _HPUX_SOURCE. See pthread(3t) for more details.
+#
+# From the "HP aC++ Online Programmer's Guide":
+# Using +DS to Specify Instruction Scheduling:
+# * By default, the compiler performs scheduling tuned for the system
+# on which you are compiling, or, if specified, tuned for the setting
+# of the +DA option.
+#
+# From the online "C/HP-UX Reference Manual":
+# -Aa
+# Enables strict ANSI C compliance.
+# -Ae
+# Enables ANSI C compliance, HP value-added features (as described
+# for +e option), and _HPUX_SOURCE name space macro. It is equivalent
+# to -Aa +e -D_HPUX_SOURCE.
+# +e
+# Enables the following HP value added features while compiling in
+# ANSI C mode: sized enum, long long, long pointers, compiler supplied
+# defaults for missing arguments to intrinsic calls, and $ in identifier
+# HP C extensions.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+QMAKE_COMPILER_DEFINES += __hpux __HP_aCC
+
+QMAKE_CC = cc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -Ae +DAportable -w
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = +O1
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = +Z
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -mt
+
+QMAKE_CXX = aCC
+QMAKE_CXXFLAGS = -AA +DAportable -w -D__STRICT_ANSI__ -D_HPUX_SOURCE
+QMAKE_CXXFLAGS_DEPS = +M
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -mt
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/include/X11R6
+QMAKE_LIBDIR_X11 = /usr/lib/X11R6
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib /usr/contrib/X11R6/lib
+
+QMAKE_LINK = aCC
+QMAKE_LINK_SHLIB = aCC
+QMAKE_LFLAGS = -AA +DAportable -Wl,+s
+QMAKE_LFLAGS_RELEASE = -O
+QMAKE_LFLAGS_DEBUG = -g
+QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_RPATH = -Wl,+b,
+QMAKE_HPUX_SHLIB = 1
+QMAKE_EXTENSION_SHLIB = sl
+
+QMAKE_LIBS = -lm
+QMAKE_LIBS_DYNLOAD = -ldld
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL -lXt
+QMAKE_LIBS_OPENGL_QT = -lGL -lXt
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpux-acc/qplatformdefs.h b/mkspecs/hpux-acc/qplatformdefs.h
new file mode 100644
index 0000000000..87334d0ebf
--- /dev/null
+++ b/mkspecs/hpux-acc/qplatformdefs.h
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <sys/pstat.h>
+#define _REENTRANT
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dl.h>
+#define QT_HPUX_LD
+#define QT_NO_LIBRARY_UNLOAD
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+#define QT_SOCKLEN_T int
+
+// presence of _XOPEN_UNIX can be used to detect HP-UX 10 or higher
+#if !defined(_XOPEN_UNIX)
+// HP-UX 9's select() didn't accept fd_set, yet.
+#define select(a,b,c,d,e) select((a), (int *)(b), (int *)(c), (int *)(d), (e))
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hpux-g++-64/qmake.conf b/mkspecs/hpux-g++-64/qmake.conf
new file mode 100644
index 0000000000..f796496c56
--- /dev/null
+++ b/mkspecs/hpux-g++-64/qmake.conf
@@ -0,0 +1,93 @@
+#
+# qmake configuration for hpux-g++-64
+#
+# We define _POSIX_C_SOURCE to 199506L when using threads,
+# therefore we also need to redefine _HPUX_SOURCE.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS =
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D_HPUX_SOURCE
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR = /usr/lib/pa20_64
+QMAKE_INCDIR_X11 = /usr/include/X11R6
+QMAKE_LIBDIR_X11 = /usr/lib/X11R6/pa20_64
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/Mesa/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/Mesa/lib/pa20_64 /usr/contrib/X11R6/lib/pa20_64
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS = -Wl,+s -lpthread
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -fPIC -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_RPATH = -Wl,+b,
+QMAKE_HPUX_SHLIB = 3
+QMAKE_EXTENSION_SHLIB = sl
+
+QMAKE_LIBS = -lm
+QMAKE_LIBS_DYNLOAD = -ldld
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpux-g++-64/qplatformdefs.h b/mkspecs/hpux-g++-64/qplatformdefs.h
new file mode 100644
index 0000000000..4b0cb17a72
--- /dev/null
+++ b/mkspecs/hpux-g++-64/qplatformdefs.h
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#define _REENTRANT
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hpux-g++/qmake.conf b/mkspecs/hpux-g++/qmake.conf
new file mode 100644
index 0000000000..e9891e79f1
--- /dev/null
+++ b/mkspecs/hpux-g++/qmake.conf
@@ -0,0 +1,93 @@
+#
+# qmake configuration for hpux-g++
+#
+# We define _POSIX_C_SOURCE to 199506L when using threads,
+# therefore we also need to redefine _HPUX_SOURCE.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl plugin_no_soname
+QT += core gui
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS =
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D_HPUX_SOURCE -DGLU_VERSION_1_2
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 = /usr/lib/X11R6
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/Mesa/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/Mesa/lib /usr/contrib/X11R6/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS = -Wl,+s
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -fPIC -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_RPATH = -Wl,+b,
+QMAKE_HPUX_SHLIB = 1
+QMAKE_EXTENSION_SHLIB = sl
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldld
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpux-g++/qplatformdefs.h b/mkspecs/hpux-g++/qplatformdefs.h
new file mode 100644
index 0000000000..bf5b137566
--- /dev/null
+++ b/mkspecs/hpux-g++/qplatformdefs.h
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#define _REENTRANT // otherwise we don't get readdir_r, etc.
+#include <sys/pstat.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dl.h>
+#define QT_HPUX_LD
+#define QT_NO_LIBRARY_UNLOAD
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+#define QT_SOCKLEN_T int
+
+// presence of _XOPEN_UNIX can be used to detect HP-UX 10 or higher
+#if !defined(_XOPEN_UNIX)
+// HP-UX 9's select() didn't accept fd_set, yet.
+#define select(a,b,c,d,e) select((a), (int *)(b), (int *)(c), (int *)(d), (e))
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hpuxi-acc-32/qmake.conf b/mkspecs/hpuxi-acc-32/qmake.conf
new file mode 100644
index 0000000000..d7e4a0ad34
--- /dev/null
+++ b/mkspecs/hpuxi-acc-32/qmake.conf
@@ -0,0 +1,85 @@
+#
+# qmake configuration for hpuxi-acc-32
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release plugin_no_soname
+QT += core gui
+
+QMAKE_CC = cc
+QMAKE_LEX = lex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = +DSitanium -w
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = +O1
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = +Z
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -D_REENTRANT -mt
+
+QMAKE_CXX = aCC
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D__STRICT_ANSI__ -D_HPUX_SOURCE
+QMAKE_CXXFLAGS_DEPS = +M
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_REENTRANT -mt
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/include/X11R6
+QMAKE_LIBDIR_X11 = /usr/lib/hpux32/X11R6
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib/hpux32 /usr/contrib/X11R6/lib/hpux32
+
+QMAKE_LINK = aCC
+QMAKE_LINK_SHLIB = aCC
+QMAKE_LFLAGS = +DSitanium -Wl,+s
+QMAKE_LFLAGS_RELEASE = -O
+QMAKE_LFLAGS_DEBUG = -g
+QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_RPATH =
+
+QMAKE_LIBS = -lm
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL -lXt
+QMAKE_LIBS_OPENGL_QT = -lGL -lXt
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpuxi-acc-32/qplatformdefs.h b/mkspecs/hpuxi-acc-32/qplatformdefs.h
new file mode 100644
index 0000000000..aa68e98205
--- /dev/null
+++ b/mkspecs/hpuxi-acc-32/qplatformdefs.h
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#define _INCLUDE_LONGLONG
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#define _REENTRANT
+#include <pthread.h>
+#include <sys/pstat.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dl.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+#define QT_SOCKLEN_T int
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hpuxi-acc-64/qmake.conf b/mkspecs/hpuxi-acc-64/qmake.conf
new file mode 100644
index 0000000000..3ed9b55073
--- /dev/null
+++ b/mkspecs/hpuxi-acc-64/qmake.conf
@@ -0,0 +1,128 @@
+#
+# qmake configuration for hpuxi-acc-64
+#
+# We define _POSIX_C_SOURCE to 199506L when using threads, therefore
+# we also need to redefine _HPUX_SOURCE.
+# From pthread(3t):
+# Some documentation will recommend the use of -D_REENTRANT for
+# compilation. While this also functions properly, it is considered
+# an obsolescent form.
+# See pthread(3t) for more details.
+#
+# From the "HP aC++ Online Programmer's Guide":
+# When +DA2.0W is specified:
+# * 64-bit SVR4 Executable and Linking Format (ELF) object files
+# are generated for PA-RISC 2.0.
+# * The preprocessor predefined macro, __LP64__ is defined.
+# * The correct path for 64-bit system and language libraries is
+# selected.
+# When +DD32 is specified:
+# * The size of an int, long, or pointer data type is 32-bits.
+# The size of an int data type is 32-bits. The size of a long or
+# pointer data type is 64-bits.
+# * This is the default, currently equivalent to +DA1.1 architecture.
+# When +DD64 is specified:
+# * The size of an int data type is 32-bits. The size of a long or
+# pointer data type is 64-bits.
+# * This is currently equivalent to +DA2.OW architecture.
+# * The preprocessor predefined macro, __LP64__ is defined.
+# Using +DS to Specify Instruction Scheduling:
+# * By default, the compiler performs scheduling tuned for the system
+# on which you are compiling, or, if specified, tuned for the setting
+# of the +DA option.
+#
+# From the online "C/HP-UX Reference Manual":
+# -Aa
+# Enables strict ANSI C compliance.
+# -Ae
+# Enables ANSI C compliance, HP value-added features (as described
+# for +e option), and _HPUX_SOURCE name space macro. It is equivalent
+# to -Aa +e -D_HPUX_SOURCE.
+# +e
+# Enables the following HP value added features while compiling in
+# ANSI C mode: sized enum, long long, long pointers, compiler supplied
+# defaults for missing arguments to intrinsic calls, and $ in identifier
+# HP C extensions.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release plugin_no_soname
+QT += core gui
+
+QMAKE_CC = cc
+QMAKE_LEX = lex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = +DD64 +DSitanium -w
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = +O1
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = +Z
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -D_REENTRANT -mt
+
+QMAKE_CXX = aCC
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D__STRICT_ANSI__ -D_HPUX_SOURCE
+QMAKE_CXXFLAGS_DEPS = +M
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_REENTRANT -mt
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/include/X11R6
+QMAKE_LIBDIR_X11 = /usr/lib/hpux64/X11R6
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib/hpux64 /usr/contrib/X11R6/lib/hpux64
+
+QMAKE_LINK = aCC
+QMAKE_LINK_SHLIB = aCC
+QMAKE_LFLAGS = +DD64 +DSitanium -Wl,+s
+QMAKE_LFLAGS_RELEASE = -O
+QMAKE_LFLAGS_DEBUG = -g
+QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_RPATH =
+
+QMAKE_LIBS = -lm
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL -lXt
+QMAKE_LIBS_OPENGL_QT = -lGL -lXt
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpuxi-acc-64/qplatformdefs.h b/mkspecs/hpuxi-acc-64/qplatformdefs.h
new file mode 100644
index 0000000000..aa68e98205
--- /dev/null
+++ b/mkspecs/hpuxi-acc-64/qplatformdefs.h
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#define _INCLUDE_LONGLONG
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#define _REENTRANT
+#include <pthread.h>
+#include <sys/pstat.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dl.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+#define QT_SOCKLEN_T int
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hpuxi-g++-64/qmake.conf b/mkspecs/hpuxi-g++-64/qmake.conf
new file mode 100644
index 0000000000..a8f445ca00
--- /dev/null
+++ b/mkspecs/hpuxi-g++-64/qmake.conf
@@ -0,0 +1,96 @@
+#
+# qmake configuration for hpuxi-g++-64
+#
+# We define _POSIX_C_SOURCE to 199506L when using threads, therefore
+# we also need to redefine _HPUX_SOURCE.
+# From pthread(3t):
+# Some documentation will recommend the use of -D_REENTRANT for
+# compilation. While this also functions properly, it is considered
+# an obsolescent form.
+# See pthread(3t) for more details.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -mlp64
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D_HPUX_SOURCE
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR = /usr/lib/hpux64
+QMAKE_INCDIR_X11 = /usr/include/X11R6
+QMAKE_LIBDIR_X11 = /usr/lib/hpux64/X11R6
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib/hpux64 /usr/contrib/X11R6/lib/hpux64
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS = -mlp64 -Wl,+s
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -fPIC -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,+h,
+QMAKE_LFLAGS_THREAD = -lpthread
+QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
+QMAKE_LFLAGS_RPATH = -Wl,+b,
+
+QMAKE_LIBS = -lm
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_YACC = -ly
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hpuxi-g++-64/qplatformdefs.h b/mkspecs/hpuxi-g++-64/qplatformdefs.h
new file mode 100644
index 0000000000..4d585fc733
--- /dev/null
+++ b/mkspecs/hpuxi-g++-64/qplatformdefs.h
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#define _REENTRANT
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#define QT_NO_READDIR64
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+#define QT_SOCKLEN_T int
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/hurd-g++/qmake.conf b/mkspecs/hurd-g++/qmake.conf
new file mode 100644
index 0000000000..d89f2e4383
--- /dev/null
+++ b/mkspecs/hurd-g++/qmake.conf
@@ -0,0 +1,90 @@
+#
+# qmake configuration for hurd-g++
+#
+# Submitted by uch@nop.or.jp as "gnu-g++".
+# Renamed to "hurd-g++" because people were confusing GNU/Hurd with GNU/Linux.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+QT += core gui
+CONFIG += qt warn_on release link_prl
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CXXFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS = -Wl,-rpath=/lib:/usr/X11R6/lib:$$[QT_INSTALL_LIBS]
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+
+QMAKE_LIBS = -lpthread # This is tricky but needed
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_QT_THREAD = -lqt-mt
+QMAKE_LIBS_THREAD =
+
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/hurd-g++/qplatformdefs.h b/mkspecs/hurd-g++/qplatformdefs.h
new file mode 100644
index 0000000000..62b91213bf
--- /dev/null
+++ b/mkspecs/hurd-g++/qplatformdefs.h
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/irix-cc-64/qmake.conf b/mkspecs/irix-cc-64/qmake.conf
new file mode 100644
index 0000000000..ec94824be6
--- /dev/null
+++ b/mkspecs/irix-cc-64/qmake.conf
@@ -0,0 +1,120 @@
+#
+# qmake configuration for irix-cc-64
+#
+# From cc(1):
+# -64
+# Generates a 64-bit object. This defaults to -mips4 if -mips3 has
+# not been specified.
+# -LANG: ...
+# The language feature option group controls the source language
+# interpretation assumed by the compiler. The individual controls
+# in this group are as follows:
+# ansi-for-init-scope [ = ( ON|OFF ) ]
+# Enables or disables the ANSI scoping rules for for-init
+# declarations (the scope of the name declared extends to
+# the end of the for statement). This enables the behavior
+# that is required by the C++ standard. The default value
+# is OFF, which is the ARM behavior (the scope of the name
+# declared extends to the end of the block enclosing the for
+# statement).
+# bool [ = ( ON|OFF ) ]
+# Enables or disables the predefined bool data type, along
+# with the predefined values true and false. Use this option
+# only to suppress this type in old code that defines bool
+# itself. Because this option changes the mangling of function
+# names with bool parameters, all files comprising a program
+# should be compiled with consistent options.
+# Default is ON.
+# The _BOOL feature macro can be used in #ifdefs to do conditional
+# compilation based on whether or not this option is enabled.
+# std
+# Enables use of the standard C++ library and standard-
+# conforming iostream library. Specifying this flag also
+# triggers other standard-conforming behavior, such as the
+# new rules for the scope of for loop initializers.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+QMAKE_COMPILER_DEFINES += __sgi __EDG
+
+QMAKE_CC = cc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -64 -signed -woff 1209,1355,1375,1424,3303
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -fullwarn
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = -O2 -OPT:Olimit=3000
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -woff 1110,1174,3262
+QMAKE_CFLAGS_THREAD =
+
+QMAKE_CXX = CC
+QMAKE_CXXFLAGS = -64 -signed -LANG:std:libc_in_namespace_std=ON -woff 1209,1355,1375,1424,3303
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD =
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = CC
+QMAKE_LINK_SHLIB = CC
+QMAKE_LFLAGS = -64
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG = -g
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL -lm
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = CC -ar -o
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/irix-cc-64/qplatformdefs.h b/mkspecs/irix-cc-64/qplatformdefs.h
new file mode 100644
index 0000000000..764e8fee13
--- /dev/null
+++ b/mkspecs/irix-cc-64/qplatformdefs.h
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500)
+#define QT_SOCKLEN_T size_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+// Irix 6.5 and better
+#if defined(_SGIAPI)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/irix-cc/qmake.conf b/mkspecs/irix-cc/qmake.conf
new file mode 100644
index 0000000000..777da9b5db
--- /dev/null
+++ b/mkspecs/irix-cc/qmake.conf
@@ -0,0 +1,120 @@
+#
+# qmake configuration for irix-cc
+#
+# From cc(1):
+# -n32
+# Generates a (new) 32-bit object. This defaults to -mips3 if
+# -mips4 has not been specified.
+# -LANG: ...
+# The language feature option group controls the source language
+# interpretation assumed by the compiler. The individual controls
+# in this group are as follows:
+# ansi-for-init-scope [ = ( ON|OFF ) ]
+# Enables or disables the ANSI scoping rules for for-init
+# declarations (the scope of the name declared extends to
+# the end of the for statement). This enables the behavior
+# that is required by the C++ standard. The default value
+# is OFF, which is the ARM behavior (the scope of the name
+# declared extends to the end of the block enclosing the for
+# statement).
+# bool [ = ( ON|OFF ) ]
+# Enables or disables the predefined bool data type, along
+# with the predefined values true and false. Use this option
+# only to suppress this type in old code that defines bool
+# itself. Because this option changes the mangling of function
+# names with bool parameters, all files comprising a program
+# should be compiled with consistent options.
+# Default is ON.
+# The _BOOL feature macro can be used in #ifdefs to do conditional
+# compilation based on whether or not this option is enabled.
+# std
+# Enables use of the standard C++ library and standard-
+# conforming iostream library. Specifying this flag also
+# triggers other standard-conforming behavior, such as the
+# new rules for the scope of for loop initializers.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+QMAKE_COMPILER_DEFINES += __sgi __EDG
+
+QMAKE_CC = cc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -n32 -signed -woff 1209,1355,1375,1424,3303
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -fullwarn
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = -O2 -OPT:Olimit=3000
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -woff 1110,1174,3262
+QMAKE_CFLAGS_THREAD =
+
+QMAKE_CXX = CC
+QMAKE_CXXFLAGS = -n32 -signed -LANG:std:libc_in_namespace_std=ON -woff 1209,1355,1375,1424,3303
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD =
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = CC
+QMAKE_LINK_SHLIB = CC
+QMAKE_LFLAGS = -n32
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG = -g
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL -lm
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = CC -ar -o
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/irix-cc/qplatformdefs.h b/mkspecs/irix-cc/qplatformdefs.h
new file mode 100644
index 0000000000..764e8fee13
--- /dev/null
+++ b/mkspecs/irix-cc/qplatformdefs.h
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500)
+#define QT_SOCKLEN_T size_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+// Irix 6.5 and better
+#if defined(_SGIAPI)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/irix-g++-64/qmake.conf b/mkspecs/irix-g++-64/qmake.conf
new file mode 100644
index 0000000000..aa853dedfe
--- /dev/null
+++ b/mkspecs/irix-g++-64/qmake.conf
@@ -0,0 +1,93 @@
+#
+# qmake configuration for irix-g++-64
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+QMAKE_COMPILER_DEFINES += __sgi __GNUC__
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -mabi=64
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD =
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD =
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS = -mabi=64
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared -Wl,-LD_LAYOUT:lgot_buffer=1000
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS = -lC
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+# libGLU is using the SGI C++ library internally and this somehow clashes
+# with the GNU C++ library (similar name mangling and symbol names?)
+# so we add -lC so that the SGI C++ library is used first...
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cq
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = so_locations
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/irix-g++-64/qplatformdefs.h b/mkspecs/irix-g++-64/qplatformdefs.h
new file mode 100644
index 0000000000..c7faf9c76f
--- /dev/null
+++ b/mkspecs/irix-g++-64/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../irix-g++/qplatformdefs.h"
diff --git a/mkspecs/irix-g++/qmake.conf b/mkspecs/irix-g++/qmake.conf
new file mode 100644
index 0000000000..77d47a9ce9
--- /dev/null
+++ b/mkspecs/irix-g++/qmake.conf
@@ -0,0 +1,93 @@
+#
+# qmake configuration for irix-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+QMAKE_COMPILER_DEFINES += __sgi __GNUC__
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS =
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD =
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD =
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared -Wl,-LD_LAYOUT:lgot_buffer=1000
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS = -lC
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+# libGLU is using the SGI C++ library internally and this somehow clashes
+# with the GNU C++ library (similar name mangling and symbol names?)
+# so we add -lC so that the SGI C++ library is used first...
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cq
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = so_locations
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/irix-g++/qplatformdefs.h b/mkspecs/irix-g++/qplatformdefs.h
new file mode 100644
index 0000000000..5c6bf46445
--- /dev/null
+++ b/mkspecs/irix-g++/qplatformdefs.h
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+#undef QT_SIGNAL_ARGS
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500)
+#define QT_SOCKLEN_T size_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_LANGUAGE_C_PLUS_PLUS) || !defined(_SGIAPI)
+#define QT_SIGNAL_ARGS int
+#else
+#define QT_SIGNAL_ARGS void
+#endif
+
+// Irix 6.5 and better
+#if defined(_SGIAPI)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/linux-cxx/qmake.conf b/mkspecs/linux-cxx/qmake.conf
new file mode 100644
index 0000000000..ce303b7f90
--- /dev/null
+++ b/mkspecs/linux-cxx/qmake.conf
@@ -0,0 +1,82 @@
+#
+# qmake configuration for linux-cxx
+#
+# Written for Compaq C++ for GNU/Linux on Alpha
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = ccc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -w
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Olimit 1000
+
+QMAKE_CXX = cxx
+QMAKE_CXXFLAGS = -w
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = cxx
+QMAKE_LINK_SHLIB = cxx
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-cxx/qplatformdefs.h b/mkspecs/linux-cxx/qplatformdefs.h
new file mode 100644
index 0000000000..e98784761e
--- /dev/null
+++ b/mkspecs/linux-cxx/qplatformdefs.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/linux-ecc-64/qmake.conf b/mkspecs/linux-ecc-64/qmake.conf
new file mode 100644
index 0000000000..61a056b746
--- /dev/null
+++ b/mkspecs/linux-ecc-64/qmake.conf
@@ -0,0 +1,89 @@
+#
+# qmake configuration for linux-ecc-64
+#
+# Written for Intel C++ 7.1 and 8.0 for Linux
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = ecc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS =
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -KPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+
+QMAKE_CXX = ecpc
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = ecpc
+QMAKE_LINK_SHLIB = ecpc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Qoption,ld,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_RPATH = -Qoption,ld,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-ecc-64/qplatformdefs.h b/mkspecs/linux-ecc-64/qplatformdefs.h
new file mode 100644
index 0000000000..e98784761e
--- /dev/null
+++ b/mkspecs/linux-ecc-64/qplatformdefs.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/linux-g++-32/qmake.conf b/mkspecs/linux-g++-32/qmake.conf
new file mode 100644
index 0000000000..cdf8914bda
--- /dev/null
+++ b/mkspecs/linux-g++-32/qmake.conf
@@ -0,0 +1,18 @@
+#
+# qmake configuration for linux-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CFLAGS = -m32
+QMAKE_LFLAGS = -m32
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-g++-32/qplatformdefs.h b/mkspecs/linux-g++-32/qplatformdefs.h
new file mode 100644
index 0000000000..a0314b103a
--- /dev/null
+++ b/mkspecs/linux-g++-32/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/mkspecs/linux-g++-64/qmake.conf b/mkspecs/linux-g++-64/qmake.conf
new file mode 100644
index 0000000000..222f6b7ec0
--- /dev/null
+++ b/mkspecs/linux-g++-64/qmake.conf
@@ -0,0 +1,26 @@
+#
+# qmake configuration for linux-g++
+#
+# Written for GNU/Linux platforms that have both lib and lib64 directories,
+# like the AMD Opteron.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CFLAGS = -m64
+QMAKE_LFLAGS = -m64
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+
+
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib64
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib64
+
+load(qt_config)
diff --git a/mkspecs/linux-g++-64/qplatformdefs.h b/mkspecs/linux-g++-64/qplatformdefs.h
new file mode 100644
index 0000000000..a0314b103a
--- /dev/null
+++ b/mkspecs/linux-g++-64/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf
new file mode 100644
index 0000000000..23f1f71e0f
--- /dev/null
+++ b/mkspecs/linux-g++-maemo/qmake.conf
@@ -0,0 +1,28 @@
+#
+# qmake configuration for Maemo 5 & 6
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
+CONFIG += nostrip
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+
+
+# Override the default lib/include directories for scratchbox:
+QMAKE_INCDIR_X11 = /usr/include/X11
+QMAKE_INCDIR_OPENGL = /usr/include
+QMAKE_LIBDIR_X11 = /usr/lib
+QMAKE_LIBDIR_OPENGL = /usr/lib
+
+# We still need to generate debug symbols in release mode to put into the *-dbg packages:
+QMAKE_CFLAGS_RELEASE += -g -Wno-psabi
+QMAKE_CXXFLAGS_RELEASE += -g -Wno-psabi
+
+load(qt_config)
diff --git a/mkspecs/linux-g++-maemo/qplatformdefs.h b/mkspecs/linux-g++-maemo/qplatformdefs.h
new file mode 100644
index 0000000000..0a0e122f99
--- /dev/null
+++ b/mkspecs/linux-g++-maemo/qplatformdefs.h
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
+
+#define QT_GUI_DOUBLE_CLICK_RADIUS 20
+#define QT_GUI_DRAG_DISTANCE 16
+
+#define QML_FLICK_OVERSHOOT 160
+#define QML_FLICK_SAMPLEBUFFER 6
+#define QML_FLICK_DISCARDSAMPLES 2
+#define QML_FLICK_DEFAULTMAXVELOCITY 2500
+#define QML_FLICK_DEFAULTDECELERATION 2000
+#define QML_FLICK_OVERSHOOTFRICTION 10
+
diff --git a/mkspecs/linux-g++/qmake.conf b/mkspecs/linux-g++/qmake.conf
new file mode 100644
index 0000000000..00df8949cc
--- /dev/null
+++ b/mkspecs/linux-g++/qmake.conf
@@ -0,0 +1,15 @@
+#
+# qmake configuration for linux-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h
new file mode 100644
index 0000000000..a80838e392
--- /dev/null
+++ b/mkspecs/linux-g++/qplatformdefs.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#include <features.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/linux-icc-32/qmake.conf b/mkspecs/linux-icc-32/qmake.conf
new file mode 100644
index 0000000000..35fbeb36b7
--- /dev/null
+++ b/mkspecs/linux-icc-32/qmake.conf
@@ -0,0 +1,10 @@
+#
+# qmake configuration for linux-icc-32
+#
+# Written for Intel C++ Compiler version 10.x for GNU/Linux
+#
+# This mkspec is intended for building IA-32 binaries on Intel 64 hosts.
+#
+
+# Use the linux-icc as the base for our configuration
+include(../linux-icc/qmake.conf)
diff --git a/mkspecs/linux-icc-32/qplatformdefs.h b/mkspecs/linux-icc-32/qplatformdefs.h
new file mode 100644
index 0000000000..a0314b103a
--- /dev/null
+++ b/mkspecs/linux-icc-32/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/mkspecs/linux-icc-64/qmake.conf b/mkspecs/linux-icc-64/qmake.conf
new file mode 100644
index 0000000000..79620267a5
--- /dev/null
+++ b/mkspecs/linux-icc-64/qmake.conf
@@ -0,0 +1,16 @@
+#
+# qmake configuration for linux-icc-64
+#
+# Written for Intel C++ Compiler version 10.x for GNU/Linux
+#
+# This mkspec is intended for use on 64-bit hosts where libraries live
+# in "lib64" directories (instead of "lib").
+#
+
+# Use the linux-icc as the base for our configuration
+include(../linux-icc/qmake.conf)
+
+# Change the all LIBDIR variables to use lib64 instead of lib
+
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib64
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib64
diff --git a/mkspecs/linux-icc-64/qplatformdefs.h b/mkspecs/linux-icc-64/qplatformdefs.h
new file mode 100644
index 0000000000..a0314b103a
--- /dev/null
+++ b/mkspecs/linux-icc-64/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
new file mode 100644
index 0000000000..38916ece5c
--- /dev/null
+++ b/mkspecs/linux-icc/qmake.conf
@@ -0,0 +1,111 @@
+#
+# qmake configuration for linux-icc
+#
+# Written for Intel C++ Compiler versions 10.x for GNU/Linux
+#
+# Note: Some of the remarks from the Intel compiler are disabled (even
+# with 'warn_on' specified):
+#
+# warning #654: overloaded virtual function "T::f" is only partially overridden in class "U"
+# warning #1572: floating-point equality and inequality comparisons are unreliable
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl gdb_dwarf_index
+QT += core gui
+
+QMAKE_CC = icc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -falign-stack=maintain-16-byte
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125,2259
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing
+QMAKE_CFLAGS_DEBUG = -O0 -g
+QMAKE_CFLAGS_SHLIB = -fPIC -fno-jump-tables
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+
+QMAKE_CXX = icpc
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = icpc
+QMAKE_LINK_SHLIB = icpc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared -shared-intel
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_NOUNDEF = -Wl,-z,defs
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = xiar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+
+# pch support
+CONFIG += icc_pch_style
+QMAKE_PCH_OUTPUT_EXT = .pchi
+QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT}
+QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE}
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+# Symbol visibility control
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-icc/qplatformdefs.h b/mkspecs/linux-icc/qplatformdefs.h
new file mode 100644
index 0000000000..a0314b103a
--- /dev/null
+++ b/mkspecs/linux-icc/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/mkspecs/linux-kcc/qmake.conf b/mkspecs/linux-kcc/qmake.conf
new file mode 100644
index 0000000000..01e3b73479
--- /dev/null
+++ b/mkspecs/linux-kcc/qmake.conf
@@ -0,0 +1,98 @@
+#
+# qmake configuration for linux-kcc
+#
+# Written for KAI C++ 4.0f for GNU/Linux
+#
+# This product has been discontinued, use Intel C++ instead.
+#
+# From the KAI C++ man page for Linux:
+# --[no_]thread_safe
+# [Waive or] Request thread-safe handling of system-allocated objects.
+# To guarantee thread safety, this option must be used when both
+# compiling and linking. Thread-safe C++ is not link-compatible with
+# (the default) non-thread-safe C++.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = KCC
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = --c --display_error_number --backend -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = +K2
+QMAKE_CFLAGS_DEBUG = +K0
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = --diag_suppress 111,177
+QMAKE_CFLAGS_THREAD = --thread_safe
+
+QMAKE_CXX = KCC
+QMAKE_CXXFLAGS = --display_error_number --diag_suppress 611,1142 --backend -pipe
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = KCC
+QMAKE_LINK_SHLIB = KCC
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB =
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = --soname$$LITERAL_WHITESPACE
+QMAKE_LFLAGS_THREAD = --thread_safe
+QMAKE_LFLAGS_RPATH = -rpath$$LITERAL_WHITESPACE
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = -r $(OBJECTS_DIR)ti_files
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-kcc/qplatformdefs.h b/mkspecs/linux-kcc/qplatformdefs.h
new file mode 100644
index 0000000000..816051707c
--- /dev/null
+++ b/mkspecs/linux-kcc/qplatformdefs.h
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+// KAI C++ has at the moment problems with unloading the Qt plugins.
+// So don't unload them as a workaround for now.
+#define QT_NO_LIBRARY_UNLOAD
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/linux-llvm/qmake.conf b/mkspecs/linux-llvm/qmake.conf
new file mode 100644
index 0000000000..46ea2aacbf
--- /dev/null
+++ b/mkspecs/linux-llvm/qmake.conf
@@ -0,0 +1,15 @@
+#
+# qmake configuration for llvm
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/llvm.conf)
+load(qt_config)
diff --git a/mkspecs/linux-llvm/qplatformdefs.h b/mkspecs/linux-llvm/qplatformdefs.h
new file mode 100644
index 0000000000..e1800ddbbd
--- /dev/null
+++ b/mkspecs/linux-llvm/qplatformdefs.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#include <features.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/linux-lsb-g++/qmake.conf b/mkspecs/linux-lsb-g++/qmake.conf
new file mode 100644
index 0000000000..4197db0978
--- /dev/null
+++ b/mkspecs/linux-lsb-g++/qmake.conf
@@ -0,0 +1,97 @@
+#
+# qmake configuration for linux-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CC = lsbcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_YACCFLAGS_MANGLE = -p $base -b $base
+QMAKE_YACC_HEADER = $base.tab.h
+QMAKE_YACC_SOURCE = $base.tab.c
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
+
+QMAKE_LSB = 1
+
+QMAKE_CXX = lsbc++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /opt/lsb/include
+QMAKE_LIBDIR_X11 = /opt/lsb/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/lsb/include
+QMAKE_LIBDIR_OPENGL = /opt/lsb/lib
+
+QMAKE_LINK = lsbc++
+QMAKE_LINK_SHLIB = lsbc++
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-lsb-g++/qplatformdefs.h b/mkspecs/linux-lsb-g++/qplatformdefs.h
new file mode 100644
index 0000000000..da5436d012
--- /dev/null
+++ b/mkspecs/linux-lsb-g++/qplatformdefs.h
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#include <features.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+#include <time.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+// LSB 3.1 defines htonl and friends here
+#include <arpa/inet.h>
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#undef QT_SOCKLEN_T
+
+#define QT_OPEN_LARGEFILE 0
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#ifndef SIOCGIFBRDADDR
+# define SIOCGIFBRDADDR 0x8919
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/linux-pgcc/qmake.conf b/mkspecs/linux-pgcc/qmake.conf
new file mode 100644
index 0000000000..63ede781a7
--- /dev/null
+++ b/mkspecs/linux-pgcc/qmake.conf
@@ -0,0 +1,87 @@
+#
+# qmake configuration for linux-pgcc
+#
+# Written for the Portland Group compiler 6.0-5
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = pgcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS =
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -fast
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fpic
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+
+QMAKE_CXX = pgCC
+QMAKE_CXXFLAGS = --display_error_number --diag_suppress815 $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = pgCC
+QMAKE_LINK_SHLIB = pgCC
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared -fpic
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_RPATH = -R
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/linux-pgcc/qplatformdefs.h b/mkspecs/linux-pgcc/qplatformdefs.h
new file mode 100644
index 0000000000..e98784761e
--- /dev/null
+++ b/mkspecs/linux-pgcc/qplatformdefs.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/lynxos-g++/qmake.conf b/mkspecs/lynxos-g++/qmake.conf
new file mode 100644
index 0000000000..6b6f4057bf
--- /dev/null
+++ b/mkspecs/lynxos-g++/qmake.conf
@@ -0,0 +1,92 @@
+#
+# qmake configuration for lynxos-g++
+#
+# Written for LynxOS 4.0
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /usr/include/X11
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/include/GL
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/lynxos-g++/qplatformdefs.h b/mkspecs/lynxos-g++/qplatformdefs.h
new file mode 100644
index 0000000000..277bba71db
--- /dev/null
+++ b/mkspecs/lynxos-g++/qplatformdefs.h
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/macx-g++/Info.plist.app b/mkspecs/macx-g++/Info.plist.app
new file mode 100644
index 0000000000..393b615475
--- /dev/null
+++ b/mkspecs/macx-g++/Info.plist.app
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.@EXECUTABLE@</string>
+ <key>NOTE</key>
+ <string>This file was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-g++/Info.plist.lib b/mkspecs/macx-g++/Info.plist.lib
new file mode 100644
index 0000000000..97609ed0ce
--- /dev/null
+++ b/mkspecs/macx-g++/Info.plist.lib
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@SHORT_VERSION@</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@LIBRARY@</string>
+ <key>NOTE</key>
+ <string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf
new file mode 100644
index 0000000000..e402e54582
--- /dev/null
+++ b/mkspecs/macx-g++/qmake.conf
@@ -0,0 +1,19 @@
+#macx-g++ (different from g++.conf)
+
+#
+# qmake configuration for macx-g++
+#
+# Mac OS X + command-line compiler
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
+TEMPLATE = app
+CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/mac.conf)
+include(../common/gcc-base-macx.conf)
+include(../common/g++-macx.conf)
+load(qt_config)
diff --git a/mkspecs/macx-g++/qplatformdefs.h b/mkspecs/macx-g++/qplatformdefs.h
new file mode 100644
index 0000000000..b1df5b2f4b
--- /dev/null
+++ b/mkspecs/macx-g++/qplatformdefs.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../common/mac/qplatformdefs.h"
+
diff --git a/mkspecs/macx-g++40/Info.plist.app b/mkspecs/macx-g++40/Info.plist.app
new file mode 100644
index 0000000000..393b615475
--- /dev/null
+++ b/mkspecs/macx-g++40/Info.plist.app
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.@EXECUTABLE@</string>
+ <key>NOTE</key>
+ <string>This file was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-g++40/Info.plist.lib b/mkspecs/macx-g++40/Info.plist.lib
new file mode 100644
index 0000000000..97609ed0ce
--- /dev/null
+++ b/mkspecs/macx-g++40/Info.plist.lib
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@SHORT_VERSION@</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@LIBRARY@</string>
+ <key>NOTE</key>
+ <string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-g++40/qmake.conf b/mkspecs/macx-g++40/qmake.conf
new file mode 100644
index 0000000000..07663c6ebc
--- /dev/null
+++ b/mkspecs/macx-g++40/qmake.conf
@@ -0,0 +1,28 @@
+#macx-g++ (different from g++.conf)
+
+#
+# qmake configuration for macx-g++
+#
+# Mac OS X + command-line compiler
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
+TEMPLATE = app
+CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/mac.conf)
+include(../common/gcc-base-macx.conf)
+include(../common/g++-macx.conf)
+
+QMAKE_CC = gcc-4.0
+QMAKE_CXX = g++-4.0
+
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB = $$QMAKE_CC
+
+load(qt_config)
diff --git a/mkspecs/macx-g++40/qplatformdefs.h b/mkspecs/macx-g++40/qplatformdefs.h
new file mode 100644
index 0000000000..b1df5b2f4b
--- /dev/null
+++ b/mkspecs/macx-g++40/qplatformdefs.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../common/mac/qplatformdefs.h"
+
diff --git a/mkspecs/macx-g++42/Info.plist.app b/mkspecs/macx-g++42/Info.plist.app
new file mode 100644
index 0000000000..393b615475
--- /dev/null
+++ b/mkspecs/macx-g++42/Info.plist.app
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.@EXECUTABLE@</string>
+ <key>NOTE</key>
+ <string>This file was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-g++42/Info.plist.lib b/mkspecs/macx-g++42/Info.plist.lib
new file mode 100644
index 0000000000..97609ed0ce
--- /dev/null
+++ b/mkspecs/macx-g++42/Info.plist.lib
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@SHORT_VERSION@</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@LIBRARY@</string>
+ <key>NOTE</key>
+ <string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf
new file mode 100644
index 0000000000..3d313056f2
--- /dev/null
+++ b/mkspecs/macx-g++42/qmake.conf
@@ -0,0 +1,28 @@
+#macx-g++ (different from g++.conf)
+
+#
+# qmake configuration for macx-g++
+#
+# Mac OS X + command-line compiler
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
+TEMPLATE = app
+CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/mac.conf)
+include(../common/gcc-base-macx.conf)
+include(../common/g++-macx.conf)
+
+QMAKE_CC = gcc-4.2
+QMAKE_CXX = g++-4.2
+
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB = $$QMAKE_CC
+
+load(qt_config)
diff --git a/mkspecs/macx-g++42/qplatformdefs.h b/mkspecs/macx-g++42/qplatformdefs.h
new file mode 100644
index 0000000000..b1df5b2f4b
--- /dev/null
+++ b/mkspecs/macx-g++42/qplatformdefs.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../common/mac/qplatformdefs.h"
+
diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf
new file mode 100644
index 0000000000..d93ed5e70d
--- /dev/null
+++ b/mkspecs/macx-icc/qmake.conf
@@ -0,0 +1,82 @@
+#
+# qmake configuration for macx-icc
+#
+# Written for Intel C++ Compiler versions 8.x and 9.x for Mac OS X
+#
+# Note: Some of the remarks from the Intel compiler are disabled (even
+# with 'warn_on' specified):
+#
+# remark #858: type qualifier on return type is meaningless
+# warning #1572: floating-point equality and inequality comparisons are unreliable
+# warning #279: controlling expression is constant
+# warning #1569: potential redeclared typedef
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl app_bundle
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublibs
+QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__
+
+QMAKE_CC = icc
+QMAKE_CFLAGS = -wd858,1572,1569,279
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE =
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fpic
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD =
+#QMAKE_CFLAGS_PPC = -arch ppc
+#QMAKE_CFLAGS_X86 = -arch i386
+
+QMAKE_OBJECTIVE_CC = gcc
+QMAKE_OBJECTIVE_CFLAGS = -pipe
+QMAKE_OBJECTIVE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_OBJECTIVE_CFLAGS_WARN_OFF = -w
+QMAKE_OBJECTIVE_CFLAGS_RELEASE = -Os
+QMAKE_OBJECTIVE_CFLAGS_DEBUG = -g
+QMAKE_OBJECTIVE_CFLAGS_HIDESYMS = -fvisibility=hidden
+QMAKE_OBJECTIVE_CFLAGS_PPC = -arch ppc
+QMAKE_OBJECTIVE_CFLAGS_X86 = -arch i386
+
+QMAKE_CXX = icpc
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_PPC = $$QMAKE_CFLAGS_PPC
+QMAKE_CXXFLAGS_X86 = $$QMAKE_CFLAGS_X86
+
+QMAKE_LINK = icpc
+QMAKE_LINK_SHLIB = icpc
+QMAKE_LFLAGS = -headerpad_max_install_names
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -single_module -dynamiclib
+QMAKE_LFLAGS_INCREMENTAL = -undefined suppress -flat_namespace
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -install_name$${LITERAL_WHITESPACE}
+QMAKE_LFLAGS_THREAD =
+#QMAKE_LFLAGS_PPC = -arch ppc
+#QMAKE_LFLAGS_X86 = -arch i386
+QMAKE_LFLAGS_RPATH =
+
+QMAKE_LFLAGS_VERSION = -current_version$${LITERAL_WHITESPACE}
+QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}
+
+QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files
+
+include(../common/mac.conf)
+
+load(qt_config)
diff --git a/mkspecs/macx-icc/qplatformdefs.h b/mkspecs/macx-icc/qplatformdefs.h
new file mode 100644
index 0000000000..b1df5b2f4b
--- /dev/null
+++ b/mkspecs/macx-icc/qplatformdefs.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../common/mac/qplatformdefs.h"
+
diff --git a/mkspecs/macx-llvm/Info.plist.app b/mkspecs/macx-llvm/Info.plist.app
new file mode 100644
index 0000000000..393b615475
--- /dev/null
+++ b/mkspecs/macx-llvm/Info.plist.app
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.@EXECUTABLE@</string>
+ <key>NOTE</key>
+ <string>This file was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-llvm/Info.plist.lib b/mkspecs/macx-llvm/Info.plist.lib
new file mode 100644
index 0000000000..97609ed0ce
--- /dev/null
+++ b/mkspecs/macx-llvm/Info.plist.lib
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@SHORT_VERSION@</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@LIBRARY@</string>
+ <key>NOTE</key>
+ <string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf
new file mode 100644
index 0000000000..d794701d5c
--- /dev/null
+++ b/mkspecs/macx-llvm/qmake.conf
@@ -0,0 +1,25 @@
+#macx-g++ (different from g++.conf)
+
+#
+# qmake configuration for macx-g++
+#
+# Mac OS X + command-line compiler
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
+TEMPLATE = app
+CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/mac.conf)
+include(../common/gcc-base-macx.conf)
+include(../common/llvm.conf)
+
+QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+QMAKE_OBJCXXFLAGS_PRECOMPILE = -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+load(qt_config)
diff --git a/mkspecs/macx-llvm/qplatformdefs.h b/mkspecs/macx-llvm/qplatformdefs.h
new file mode 100644
index 0000000000..b1df5b2f4b
--- /dev/null
+++ b/mkspecs/macx-llvm/qplatformdefs.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../common/mac/qplatformdefs.h"
+
diff --git a/mkspecs/macx-pbuilder/Info.plist.app b/mkspecs/macx-pbuilder/Info.plist.app
new file mode 100755
index 0000000000..393b615475
--- /dev/null
+++ b/mkspecs/macx-pbuilder/Info.plist.app
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.@EXECUTABLE@</string>
+ <key>NOTE</key>
+ <string>This file was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-pbuilder/qmake.conf b/mkspecs/macx-pbuilder/qmake.conf
new file mode 100755
index 0000000000..2418c7c6f3
--- /dev/null
+++ b/mkspecs/macx-pbuilder/qmake.conf
@@ -0,0 +1,7 @@
+#
+# qmake configuration for macx-pbuilder
+#
+# Mac OS X + Project Builder
+#
+
+error("Use macx-xcode spec")
diff --git a/mkspecs/macx-pbuilder/qplatformdefs.h b/mkspecs/macx-pbuilder/qplatformdefs.h
new file mode 100644
index 0000000000..f21268d6db
--- /dev/null
+++ b/mkspecs/macx-pbuilder/qplatformdefs.h
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#define QT_NO_LIBRARY_UNLOAD
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+#undef QT_SIGNAL_IGNORE
+
+#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#define QT_SIGNAL_IGNORE (void (*)(int))1
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/macx-xcode/Info.plist.app b/mkspecs/macx-xcode/Info.plist.app
new file mode 100755
index 0000000000..393b615475
--- /dev/null
+++ b/mkspecs/macx-xcode/Info.plist.app
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.@EXECUTABLE@</string>
+ <key>NOTE</key>
+ <string>This file was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-xcode/Info.plist.lib b/mkspecs/macx-xcode/Info.plist.lib
new file mode 100644
index 0000000000..97609ed0ce
--- /dev/null
+++ b/mkspecs/macx-xcode/Info.plist.lib
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@SHORT_VERSION@</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@LIBRARY@</string>
+ <key>NOTE</key>
+ <string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
+</dict>
+</plist>
diff --git a/mkspecs/macx-xcode/qmake.conf b/mkspecs/macx-xcode/qmake.conf
new file mode 100755
index 0000000000..4cb462696e
--- /dev/null
+++ b/mkspecs/macx-xcode/qmake.conf
@@ -0,0 +1,32 @@
+#
+# qmake configuration for macx-xcode
+#
+# Mac OS X + XCode
+#
+
+MAKEFILE_GENERATOR = XCODE
+TEMPLATE = app
+CONFIG += qt warn_on release lib_version_first incremental plugin_no_soname link_prl app_bundle
+QT += core gui
+
+include(../common/mac.conf)
+include(../common/gcc-base-macx.conf)
+include(../common/g++-macx.conf)
+
+QMAKE_CC =
+QMAKE_CXX =
+QMAKE_LINK =
+QMAKE_LINK_C =
+QMAKE_LINK_C_SHLIB =
+QMAKE_LINK_SHLIB =
+QMAKE_CFLAGS_HIDESYMS =
+QMAKE_CFLAGS_PPC_64 =
+QMAKE_CFLAGS_X86_64 =
+QMAKE_CFLAGS_PPC =
+QMAKE_CFLAGS_X86 =
+QMAKE_LFLAGS_VERSION =
+QMAKE_LFLAGS_COMPAT_VERSION =
+QMAKE_LFLAGS_SONAME =
+QMAKE_INCDIR += /usr/local/include /System/Library/Frameworks/CarbonCore.framework/Headers
+
+load(qt_config)
diff --git a/mkspecs/macx-xcode/qplatformdefs.h b/mkspecs/macx-xcode/qplatformdefs.h
new file mode 100644
index 0000000000..b1df5b2f4b
--- /dev/null
+++ b/mkspecs/macx-xcode/qplatformdefs.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../common/mac/qplatformdefs.h"
+
diff --git a/mkspecs/macx-xlc/qmake.conf b/mkspecs/macx-xlc/qmake.conf
new file mode 100644
index 0000000000..f84524bbdf
--- /dev/null
+++ b/mkspecs/macx-xlc/qmake.conf
@@ -0,0 +1,99 @@
+#
+# qmake configuration for macx-xlc
+#
+# Mac OS X + IBM's XL C/C++ Advanced Edition for Mac OS X
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
+TEMPLATE = app
+CONFIG += qt warn_on release app_bundle global_init_link_order lib_version_first plugin_no_soname link_prl
+QT += core gui
+
+QMAKE_CC = xlc
+QMAKE_CC_THREAD = xlc_r
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -qstrict
+QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = -O3
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_EXTENSION_SHLIB = dylib
+QMAKE_CFLAGS_SHLIB =
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_THREAD = -qthreaded
+QMAKE_EXTENSION_SHLIB = dylib
+QMAKE_COMPILER_DEFINES += __APPLE__ __xlc__
+
+QMAKE_CXX = xlc++
+QMAKE_CXX_THREAD = xlc++_r
+QMAKE_CXXFLAGS = -+ $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /System/Library/Frameworks/OpenGL.framework/Headers \
+ /System/Library/Frameworks/AGL.framework/Headers/
+QMAKE_LIBDIR_OPENGL =
+
+QMAKE_LINK = xlc++
+QMAKE_LINK_THREAD = xlc++_r
+QMAKE_LINK_SHLIB = ld
+#QMAKE_LINK_SHLIB_CMD = makeC++SharedLib -p 0 \
+# -o $(TARGETD) \
+# $(LFLAGS) $(OBJECTS) $(OBJMOC) $(LIBS); \
+# $(AR) lib$(QMAKE_TARGET).a $(TARGETD); \
+# $(RANLIB) lib$(QMAKE_TARGET).a; \
+# mv lib$(QMAKE_TARGET).a $(DESTDIR)
+QMAKE_LFLAGS = -headerpad_max_install_names
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -prebind -qmkshrobj
+QMAKE_LFLAGS_PLUGIN = -bundle
+QMAKE_LFLAGS_SONAME =
+#QMAKE_LFLAGS_THREAD = -L/usr/lib/threads
+#QMAKE_AIX_SHLIB = 1
+#QMAKE_LFLAGS_VERSION = -current_version$${LITERAL_WHITESPACE}
+#QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL
+QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL
+#QMAKE_LIBS_THREAD = -lpthreads
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cq
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB = ranlib -s
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $$QMAKE_COPY
+QMAKE_COPY_DIR = $$QMAKE_COPY -R
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/macx-xlc/qplatformdefs.h b/mkspecs/macx-xlc/qplatformdefs.h
new file mode 100644
index 0000000000..0071254d0a
--- /dev/null
+++ b/mkspecs/macx-xlc/qplatformdefs.h
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#define QT_NO_LIBRARY_UNLOAD
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+#undef QT_SIGNAL_IGNORE
+
+#define QT_SOCKLEN_T int
+#define QT_SIGNAL_IGNORE (void (*)(int))1
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/modules/README b/mkspecs/modules/README
new file mode 100644
index 0000000000..f095982e47
--- /dev/null
+++ b/mkspecs/modules/README
@@ -0,0 +1,3 @@
+Externally provided Qt modules may drop a qmake file here to become part of
+the current Qt configuration. The file name must follow the pattern
+"qt_<module>.pri". It must contain a "QT_CONFIG += <module>" statement.
diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf
new file mode 100644
index 0000000000..ab4b7c374c
--- /dev/null
+++ b/mkspecs/netbsd-g++/qmake.conf
@@ -0,0 +1,88 @@
+#
+# qmake configuration for netbsd-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl gdb_dwarf_index
+QT += core gui
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -pthread
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR = /usr/local/include
+QMAKE_LIBDIR = /usr/local/lib
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LINK_SHLIB_CMD = $$QMAKE_LINK_SHLIB $$QMAKE_LFLAGS_SHLIB $(LFLAGS) $$QMAKE_LFLAGS -o $(TARGETD) $(OBJECTS) $(OBJMOC) $(LIBS)
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD = -pthread
+QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB = ranlib
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/netbsd-g++/qplatformdefs.h b/mkspecs/netbsd-g++/qplatformdefs.h
new file mode 100644
index 0000000000..fff5e2d3a8
--- /dev/null
+++ b/mkspecs/netbsd-g++/qplatformdefs.h
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#define QT_OPEN_LARGEFILE 0
+
+// QT_SOCKLEN_T
+// NetBSD 1.0 - 1.3.3 int
+// NetBSD 1.4 - 1.5 socklen_t
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+// Older NetBSD versions may still use the a.out format instead of ELF.
+#ifndef __ELF__
+#define QT_AOUT_UNDERSCORE
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/openbsd-g++/qmake.conf b/mkspecs/openbsd-g++/qmake.conf
new file mode 100644
index 0000000000..56d94160e3
--- /dev/null
+++ b/mkspecs/openbsd-g++/qmake.conf
@@ -0,0 +1,89 @@
+#
+# qmake configuration for openbsd-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl gdb_dwarf_index
+QT += core gui
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -pthread
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR = /usr/local/include
+QMAKE_LIBDIR = /usr/local/lib
+QMAKE_INCDIR_X11 = /usr/X11R6/include
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LINK_SHLIB_CMD = $$QMAKE_LINK_SHLIB $(LFLAGS) \
+ $$QMAKE_CFLAGS_SHLIB $$QMAKE_LFLAGS \
+ -o $(TARGETD) $(OBJECTS) $(OBJMOC) $(LIBS)
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD = -pthread
+QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar q
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB = ranlib
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/openbsd-g++/qplatformdefs.h b/mkspecs/openbsd-g++/qplatformdefs.h
new file mode 100644
index 0000000000..70d65f1b1f
--- /dev/null
+++ b/mkspecs/openbsd-g++/qplatformdefs.h
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#define QT_OPEN_LARGEFILE 0
+
+// QT_SOCKLEN_T
+// OpenBSD 2.2 - 2.4 int
+// OpenBSD 2.5 - 2.8 socklen_t
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+// 1003.1c-1995 says on page 38 (2.9.3, paragraph 3) that if _POSIX_THREADS
+// is defined, then _POSIX_THREAD_SAFE_FUNCTIONS must also be defined.
+// However this looks like a well-known typo (reversed dependency).
+//
+// On the other hand _POSIX_THREAD_SAFE_FUNCTIONS should be defined only
+// if the Thread-Safe Functions option is implemented. OpenBSD does not
+// support all of the required _r() interfaces, especially getpwuid_r(),
+// which means it should not define _POSIX_THREAD_SAFE_FUNCTIONS.
+//
+// Since OpenBSD does define _POSIX_THREAD_SAFE_FUNCTIONS, we have to
+// undefine it behind its back.
+#ifdef _POSIX_THREAD_SAFE_FUNCTIONS
+#undef _POSIX_THREAD_SAFE_FUNCTIONS
+#endif
+
+// Older OpenBSD versions may still use the a.out format instead of ELF.
+#ifndef __ELF__
+#define QT_AOUT_UNDERSCORE
+#endif
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/qws/freebsd-generic-g++/qmake.conf b/mkspecs/qws/freebsd-generic-g++/qmake.conf
new file mode 100644
index 0000000000..d50ce6b7b6
--- /dev/null
+++ b/mkspecs/qws/freebsd-generic-g++/qmake.conf
@@ -0,0 +1,85 @@
+#
+# qmake configuration for freebsd-g++ with Qtopia Core
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CC = gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2 -fno-default-inline
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -pthread -D_THREAD_SAFE
+QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
+
+QMAKE_CXX = g++
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQT_NO_QWS_LINUXFB -DQT_NO_QWS_TRANSFORMED
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+# Addon software goes into /usr/local on the BSDs, by default we will look there
+QMAKE_INCDIR = /usr/local/include
+QMAKE_LIBDIR = /usr/local/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_QTOPIA = $(QPEDIR)/include
+QMAKE_LIBDIR_QTOPIA = $(QPEDIR)/lib
+
+QMAKE_LINK = g++
+QMAKE_LINK_SHLIB = g++
+QMAKE_LINK_C = gcc
+QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LFLAGS =
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD = -pthread
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+
+QMAKE_LIBS =
+QMAKE_LIBS_QT = -lqte
+QMAKE_LIBS_QT_THREAD = -lqte-mt
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_OPENGL