From f9048b3465d163a3c4e12fe6b9261d42a996b314 Mon Sep 17 00:00:00 2001 From: Qt4iOS Date: Fri, 16 Mar 2012 15:00:33 +0000 Subject: Added mkspecs for iOS. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modified common MacOS gcc config for iOS compatibility. Added iOS mkspecs for iOS devices and simulator using G++, LLVM-G++ or CLANG compilers. Change-Id: If0a0b1a3ce4e0dc4db319a315e227a9d31549399 Reviewed-by: Morten Johan Sørvig Reviewed-by: Lars Knoll --- mkspecs/common/gcc-base-ios.conf | 33 ++++ mkspecs/common/gcc-base.conf | 1 + mkspecs/common/ios.conf | 21 +++ mkspecs/common/ios/GLES/gl.h | 43 +++++ mkspecs/common/ios/GLES2/gl2.h | 43 +++++ mkspecs/common/ios/arch.conf | 84 ++++++++++ mkspecs/common/ios/clang.conf | 47 ++++++ mkspecs/common/ios/g++.conf | 21 +++ mkspecs/common/ios/llvm.conf | 31 ++++ mkspecs/common/ios/qmake.conf | 66 ++++++++ mkspecs/common/ios/qplatformdefs.h | 100 +++++++++++ mkspecs/common/ios/versions.conf | 184 +++++++++++++++++++++ .../macx-iosdevice-clang-legacy/qmake.conf | 35 ++++ .../macx-iosdevice-clang-legacy/qplatformdefs.h | 42 +++++ .../unsupported/macx-iosdevice-clang/qmake.conf | 35 ++++ .../macx-iosdevice-clang/qplatformdefs.h | 42 +++++ .../macx-iosdevice-g++-legacy/qmake.conf | 35 ++++ .../macx-iosdevice-g++-legacy/qplatformdefs.h | 42 +++++ mkspecs/unsupported/macx-iosdevice-g++/qmake.conf | 35 ++++ .../unsupported/macx-iosdevice-g++/qplatformdefs.h | 42 +++++ .../macx-iosdevice-llvm-legacy/qmake.conf | 35 ++++ .../macx-iosdevice-llvm-legacy/qplatformdefs.h | 42 +++++ mkspecs/unsupported/macx-iosdevice-llvm/qmake.conf | 35 ++++ .../macx-iosdevice-llvm/qplatformdefs.h | 42 +++++ .../macx-iossimulator-clang-legacy/qmake.conf | 6 + .../macx-iossimulator-clang-legacy/qplatformdefs.h | 42 +++++ .../unsupported/macx-iossimulator-clang/qmake.conf | 6 + .../macx-iossimulator-clang/qplatformdefs.h | 42 +++++ .../macx-iossimulator-g++-legacy/qmake.conf | 33 ++++ .../macx-iossimulator-g++-legacy/qplatformdefs.h | 42 +++++ .../unsupported/macx-iossimulator-g++/qmake.conf | 33 ++++ .../macx-iossimulator-g++/qplatformdefs.h | 42 +++++ .../macx-iossimulator-llvm-legacy/qmake.conf | 33 ++++ .../macx-iossimulator-llvm-legacy/qplatformdefs.h | 42 +++++ .../unsupported/macx-iossimulator-llvm/qmake.conf | 33 ++++ .../macx-iossimulator-llvm/qplatformdefs.h | 42 +++++ 36 files changed, 1532 insertions(+) create mode 100644 mkspecs/common/gcc-base-ios.conf create mode 100644 mkspecs/common/ios.conf create mode 100644 mkspecs/common/ios/GLES/gl.h create mode 100644 mkspecs/common/ios/GLES2/gl2.h create mode 100644 mkspecs/common/ios/arch.conf create mode 100644 mkspecs/common/ios/clang.conf create mode 100644 mkspecs/common/ios/g++.conf create mode 100644 mkspecs/common/ios/llvm.conf create mode 100644 mkspecs/common/ios/qmake.conf create mode 100644 mkspecs/common/ios/qplatformdefs.h create mode 100644 mkspecs/common/ios/versions.conf create mode 100644 mkspecs/unsupported/macx-iosdevice-clang-legacy/qmake.conf create mode 100644 mkspecs/unsupported/macx-iosdevice-clang-legacy/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iosdevice-clang/qmake.conf create mode 100644 mkspecs/unsupported/macx-iosdevice-clang/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iosdevice-g++-legacy/qmake.conf create mode 100644 mkspecs/unsupported/macx-iosdevice-g++-legacy/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iosdevice-g++/qmake.conf create mode 100644 mkspecs/unsupported/macx-iosdevice-g++/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iosdevice-llvm-legacy/qmake.conf create mode 100644 mkspecs/unsupported/macx-iosdevice-llvm-legacy/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iosdevice-llvm/qmake.conf create mode 100644 mkspecs/unsupported/macx-iosdevice-llvm/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iossimulator-clang-legacy/qmake.conf create mode 100644 mkspecs/unsupported/macx-iossimulator-clang-legacy/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iossimulator-clang/qmake.conf create mode 100644 mkspecs/unsupported/macx-iossimulator-clang/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iossimulator-g++-legacy/qmake.conf create mode 100644 mkspecs/unsupported/macx-iossimulator-g++-legacy/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iossimulator-g++/qmake.conf create mode 100644 mkspecs/unsupported/macx-iossimulator-g++/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iossimulator-llvm-legacy/qmake.conf create mode 100644 mkspecs/unsupported/macx-iossimulator-llvm-legacy/qplatformdefs.h create mode 100644 mkspecs/unsupported/macx-iossimulator-llvm/qmake.conf create mode 100644 mkspecs/unsupported/macx-iossimulator-llvm/qplatformdefs.h (limited to 'mkspecs') diff --git a/mkspecs/common/gcc-base-ios.conf b/mkspecs/common/gcc-base-ios.conf new file mode 100644 index 0000000000..68ec777f85 --- /dev/null +++ b/mkspecs/common/gcc-base-ios.conf @@ -0,0 +1,33 @@ +# +# Base qmake configuration for GCC on iOS +# +# 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__=4 + +QMAKE_CFLAGS_DWARF2 += -gdwarf-2 + +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_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}@executable_path/ +QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE} +QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE} + diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 28e3b87b5d..4a8419aa78 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -7,6 +7,7 @@ # # Platform-specific options shared by these compilers are put into: # +# - gcc-base-ios.conf # - gcc-base-macx.conf # - gcc-base-unix.conf # diff --git a/mkspecs/common/ios.conf b/mkspecs/common/ios.conf new file mode 100644 index 0000000000..5f28a5c5b2 --- /dev/null +++ b/mkspecs/common/ios.conf @@ -0,0 +1,21 @@ +# +# qmake common configuration for iOS +# + +MAKEFILE_GENERATOR = UNIX +TEMPLATE = app +CONFIG += qt ios warn_on release reduce_exports incremental global_init_link_order lib_version_first plugin_no_soname link_prl +QT += core gui opengl +QMAKE_INCREMENTAL_STYLE = sublib + +# Qt can't build iOS app bundle :( +CONFIG -= app_bundle + +# Not deploying to Mac OSX +QMAKE_MACOSX_DEPLOYMENT_TARGET = + +# Add iOS common folder to include path +INCLUDEPATH += $$PWD/ios + +# iOS defines +DEFINES += DARWIN_NO_CARBON Q_OS_IOS QT_NO_CORESERVICES QT_NO_PRINTER QT_NO_PRINTDIALOG diff --git a/mkspecs/common/ios/GLES/gl.h b/mkspecs/common/ios/GLES/gl.h new file mode 100644 index 0000000000..c074eb29b1 --- /dev/null +++ b/mkspecs/common/ios/GLES/gl.h @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include diff --git a/mkspecs/common/ios/GLES2/gl2.h b/mkspecs/common/ios/GLES2/gl2.h new file mode 100644 index 0000000000..07e3abded1 --- /dev/null +++ b/mkspecs/common/ios/GLES2/gl2.h @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include diff --git a/mkspecs/common/ios/arch.conf b/mkspecs/common/ios/arch.conf new file mode 100644 index 0000000000..4ad96874fe --- /dev/null +++ b/mkspecs/common/ios/arch.conf @@ -0,0 +1,84 @@ +# +# Helper to set CPU architecture flags for iOS configurations +# +# Depends on: +# +# QMAKE_IPHONEOS_DEPLOYMENT_TARGET - set in mkspecs/common/ios/versions.conf +# +# Note: +# +# Must be included after load(qt_config) in mkspec for auto-detection based +# on GL/ES version (GL/ES 2.x implies armv7 on iOS). +# + +# Target architecture for iOS devices (armv6, armv7 or leave blank for default) +QMAKE_IOS_TARGET_ARCH = + +########################################################################### + +# Device? +!*simulator* { + # Let mkspec specify archictecture + *armv6*: QMAKE_IOS_TARGET_ARCH = armv6 + else:*armv7*: QMAKE_IOS_TARGET_ARCH = armv7 + + # ARMv7 architecture device (see below) is required for OpenGL/ES 2.x + isEmpty(QMAKE_IOS_TARGET_ARCH):contains(QT_CONFIG, opengles2): QMAKE_IOS_TARGET_ARCH = armv7 + + # No target architecture specified? + isEmpty(QMAKE_IOS_TARGET_ARCH) { + # iOS versions < 4.3 can be armv6 or armv7, so need armv6 for max. compatibility, + # assume that building for OpenGL/ES 1.x is targeting armv6 + lessThan(QMAKE_IPHONEOS_DEPLOYMENT_TARGET, "4.3")|contains(QT_CONFIG, opengles1) { + QMAKE_IOS_TARGET_ARCH = armv6 + } else: QMAKE_IOS_TARGET_ARCH = armv7 + } + + # Samsung S5PC100, Apple A4, A5, A5X + equals(QMAKE_IOS_TARGET_ARCH, "armv7") { + # iOS CPU architecture (armv7) + QMAKE_IOS_ARM_ARCH = __ARM_ARCH_7__ + + # Thumb2 instructions + QMAKE_IOS_ARM_FLAGS = -mthumb + QMAKE_IOS_ARM_ARCH += __MARM_THUMB__ + + # NEON instructions + *-g++*: QMAKE_IOS_ARM_FLAGS += -mfloat-abi=softfp -mfpu=neon + QMAKE_IOS_ARM_ARCH += __ARM_NEON__ + } else { + # Samsung S5L8900 + if(equals(QMAKE_IOS_TARGET_ARCH, "armv6")) { + # iOS CPU architecture (armv6) + QMAKE_IOS_ARM_ARCH = __ARM_ARCH_6__ + + # ARM instructions + QMAKE_IOS_ARM_FLAGS = -marm -mcpu=arm1176jzf-s + !*clang*: QMAKE_IOS_ARM_FLAGS += -march=armv6 + } else { + # Unsupported architecture + error("Invalid iOS target $${QMAKE_IOS_TARGET_ARCH}! Edit mkspecs/common/ios/arch.conf to specify target architecture.") + } + } +# Simulator is i386 only +} else: QMAKE_IOS_TARGET_ARCH = i386 + +# iOS architecture build flags +QMAKE_IOS_ARCH_FLAGS = -arch $$QMAKE_IOS_TARGET_ARCH +QMAKE_CFLAGS += $$QMAKE_IOS_ARCH_FLAGS +QMAKE_CXXFLAGS += $$QMAKE_IOS_ARCH_FLAGS +QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_ARCH_FLAGS +QMAKE_LFLAGS += $$QMAKE_IOS_ARCH_FLAGS +QMAKE_IOS_TARGET_ARCH = +QMAKE_IOS_ARCH_FLAGS = + +# Architecture specific defines/flags +!*simulator* { + DEFINES += $$QMAKE_IOS_ARM_ARCH + QMAKE_IOS_ARM_ARCH = + + QMAKE_CFLAGS += $$QMAKE_IOS_ARM_FLAGS + QMAKE_CXXFLAGS += $$QMAKE_IOS_ARM_FLAGS + QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_ARM_FLAGS + QMAKE_IOS_ARM_FLAGS = +} diff --git a/mkspecs/common/ios/clang.conf b/mkspecs/common/ios/clang.conf new file mode 100644 index 0000000000..e5c9b338c1 --- /dev/null +++ b/mkspecs/common/ios/clang.conf @@ -0,0 +1,47 @@ +# +# compiler settings for iOS clang compilers +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +# iOS build flags +QMAKE_IOS_CFLAGS = -fvisibility=hidden -fpascal-strings -fmessage-length=0 +QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-shorten-64-to-32 -Wno-sign-conversion +QMAKE_IOS_CXXFLAGS = -fvisibility-inlines-hidden +QMAKE_IOS_OBJ_CFLAGS = -Wno-arc-abi -Wc++0x-extensions + +# Device or simulator specific flags +*simulator* { + QMAKE_IOS_CFLAGS += -fexceptions -fasm-blocks + QMAKE_IOS_OBJ_CFLAGS += -fobjc-abi-version=2 -fobjc-legacy-dispatch +} + +# Compiler version-specific flags +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { + # Clang 3.1 flags (will be used for later versions too) + QMAKE_IOS_CFLAGS += -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wno-unused-function -Wno-unused-label -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wpointer-sign -Wno-newline-eof -Wdeprecated-declarations -Winvalid-offsetof -Wno-conversion + QMAKE_IOS_CXXFLAGS += -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wc++11-extensions + QMAKE_IOS_OBJ_CFLAGS += -Wno-deprecated-implementations -Wprotocol -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector + + # Warn about unsupported (later) Xcode versions + !lessThan(QMAKE_IOS_XCODE_VERSION, "4.4"): warning("The version of Xcode installed on this system is not recognised - custom compiler settings may be necessary") +} else { + if (!lessThan(QMAKE_IOS_XCODE_VERSION, "4.2")) { + # Clang 3.0 flags + QMAKE_IOS_CFLAGS += -fdiagnostics-print-source-range-info -fdiagnostics-show-category=id -fdiagnostics-parseable-fixits + } else { + # Older Clang versions are not supported + error("Unsupported Xcode version $${QMAKE_IOS_XCODE_VERSION}") + } +} + +# Set build flags +QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS +QMAKE_CXXFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS +QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS $$QMAKE_IOS_OBJ_CFLAGS + +QMAKE_IOS_CFLAGS = +QMAKE_IOS_CXXFLAGS = +QMAKE_IOS_OBJ_CFLAGS = diff --git a/mkspecs/common/ios/g++.conf b/mkspecs/common/ios/g++.conf new file mode 100644 index 0000000000..8a1e0b20c0 --- /dev/null +++ b/mkspecs/common/ios/g++.conf @@ -0,0 +1,21 @@ +# +# compiler settings for iOS g++ compilers +# + +# iOS build flags +QMAKE_IOS_CFLAGS = -fvisibility=hidden -fexceptions -fmessage-length=0 +QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wunused-variable +QMAKE_IOS_CXXFLAGS = -fvisibility-inlines-hidden + +# Device or simulator specific flags +!*simulator*: QMAKE_IOS_OBJ_CFLAGS = +else: QMAKE_IOS_OBJ_CFLAGS = -fobjc-abi-version=2 -fobjc-legacy-dispatch + +# Set build flags +QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS +QMAKE_CXXFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS +QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS $$QMAKE_IOS_OBJ_CFLAGS + +QMAKE_IOS_CFLAGS = +QMAKE_IOS_CXXFLAGS = +QMAKE_IOS_OBJ_CFLAGS = diff --git a/mkspecs/common/ios/llvm.conf b/mkspecs/common/ios/llvm.conf new file mode 100644 index 0000000000..fa2e519dd9 --- /dev/null +++ b/mkspecs/common/ios/llvm.conf @@ -0,0 +1,31 @@ +# +# compiler settings for iOS llvm-g++ compilers +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +# iOS build flags +QMAKE_IOS_CFLAGS = -fvisibility=hidden -fpascal-strings -fmessage-length=0 +QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wunused-variable +QMAKE_IOS_CXXFLAGS = -fvisibility-inlines-hidden + +# Device or simulator specific flags +!*simulator*: QMAKE_IOS_OBJ_CFLAGS = +else: QMAKE_IOS_OBJ_CFLAGS = -fobjc-abi-version=2 -fobjc-legacy-dispatch + +# Compiler version specific flags +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { + # Xcode 4.3+ specific flags + QMAKE_IOS_CFLAGS += -Wuninitialized +} + +# Set build flags +QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS +QMAKE_CXXFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS +QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS $$QMAKE_IOS_OBJ_CFLAGS + +QMAKE_IOS_CFLAGS = +QMAKE_IOS_CXXFLAGS = +QMAKE_IOS_OBJ_CFLAGS = diff --git a/mkspecs/common/ios/qmake.conf b/mkspecs/common/ios/qmake.conf new file mode 100644 index 0000000000..8ee2575fb4 --- /dev/null +++ b/mkspecs/common/ios/qmake.conf @@ -0,0 +1,66 @@ +# +# Common build settings for all iOS configurations +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# QMAKE_IOS_SDK_VERSION - set in mkspecs/common/ios/versions.conf +# QMAKE_IOSSIMULATOR_SDK_VERSION - set in mkspecs/common/ios/versions.conf +# + +# iOS SDK device type +!*simulator*: QMAKE_IOS_DEVICE_TYPE = iPhoneOS +else { + QMAKE_IOS_DEVICE_TYPE = iPhoneSimulator + + # Use simulator SDK version + QMAKE_IOS_SDK_VERSION = $$QMAKE_IOS_SIMULATOR_SDK_VERSION + QMAKE_IOS_SIMULATOR_SDK_VERSION = +} + +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { + # Xcode 4.3+ is stored in /Applications + QMAKE_IOS_XCODE_PATH = /Applications/Xcode.app/Contents +} else: QMAKE_IOS_XCODE_PATH = + +# iOS platform /Developer path +QMAKE_IOS_DEV_PATH = $$QMAKE_IOS_XCODE_PATH/Developer/Platforms/$${QMAKE_IOS_DEVICE_TYPE}.platform/Developer +QMAKE_IOS_XCODE_PATH = + +# iOS platform SDK path +QMAKE_IOS_SDK = $$QMAKE_IOS_DEV_PATH/SDKs/$${QMAKE_IOS_DEVICE_TYPE}$${QMAKE_IOS_SDK_VERSION}.sdk +QMAKE_IOS_DEV_PATH = +QMAKE_IOS_DEVICE_TYPE = + +QMAKE_CFLAGS += -isysroot $$QMAKE_IOS_SDK +QMAKE_CXXFLAGS += -isysroot $$QMAKE_IOS_SDK +QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_IOS_SDK +QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_IOS_SDK +QMAKE_IOS_SDK = + +# Basic iOS frameworks needed for any GUI app +QMAKE_LFLAGS += -framework Foundation -framework UIKit -framework QuartzCore -lz + +# OpenGL ES1 +QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_IOS_SDK/System/Library/Frameworks/OpenGLES.framework/Headers +QMAKE_LIBDIR_OPENGL_ES1 = +QMAKE_LIBS_OPENGL_ES1 = -framework OpenGLES + +# OpenGL ES2 +QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_IOS_SDK/System/Library/Frameworks/OpenGLES.framework/Headers +QMAKE_LIBDIR_OPENGL_ES2 = +QMAKE_LIBS_OPENGL_ES2 = -framework OpenGLES + +# No desktop OpenGL +QMAKE_INCDIR_OPENGL = +QMAKE_LIBS_OPENGL = +QMAKE_LIBS_OPENGL_QT = + +# Compiler-specific flags +!*-g++* { + # Objective-C/C++ precompile flags + 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/ios/qplatformdefs.h b/mkspecs/common/ios/qplatformdefs.h new file mode 100644 index 0000000000..d25d99320a --- /dev/null +++ b/mkspecs/common/ios/qplatformdefs.h @@ -0,0 +1,100 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $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 + + +// We are hot - unistd.h should have turned on the specific APIs we requested + + +#include +#include +#include +#include +#include +#include +#define QT_NO_LIBRARY_UNLOAD + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef QT_NO_IPV6IFNAME +#include +#endif + +#include "../../common/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 + +#define QT_GUI_DRAG_DISTANCE 12 +#define QT_GUI_DOUBLE_CLICK_DISTANCE 12 + +#endif // QPLATFORMDEFS_H diff --git a/mkspecs/common/ios/versions.conf b/mkspecs/common/ios/versions.conf new file mode 100644 index 0000000000..b755068769 --- /dev/null +++ b/mkspecs/common/ios/versions.conf @@ -0,0 +1,184 @@ +# +# Helper to set build tool & SDK versions for iOS configurations +# +# This file sets up the following configuration variables: +# +# QMAKE_IOS_XCODE_VERSION - version number of Xcode being used +# QMAKE_IOS_SDK_VERSION - version number of iOS device SDK +# QMAKE_IOS_SIMULATOR_SDK_VERSION - version number of iOS simulator SDK +# +# Used in: +# +# mkspecs/common/ios/clang.conf +# mkspecs/common/ios/llvm.conf +# mkspecs/common/ios/qmake.conf +# mkspecs/unsupported/macx-iosdevice-clang-legacy/qmake.conf +# mkspecs/unsupported/macx-iosdevice-clang/qmake.conf +# mkspecs/unsupported/macx-iosdevice-llvm-legacy/qmake.conf +# mkspecs/unsupported/macx-iosdevice-llvm/qmake.conf +# mkspecs/unsupported/macx-iosdevice-g++-legacy/qmake.conf +# mkspecs/unsupported/macx-iossimulator-llvm-legacy/qmake.conf +# mkspecs/unsupported/macx-iossimulator-llvm/qmake.conf +# mkspecs/unsupported/macx-iossimulator-g++-legacy/qmake.conf +# + +# +# IMPORTANT: +# +# Xcode versions <= 4.2.x must be installed in /Developer. +# Xcode versions >= 4.3.x must be installed in /Applications +# +# Xcode versions >= 4.10 & < 5.0 and versions >= 10.0 are not supported due to +# the way the version checks are done here. As Apple (so far) has not used +# minor version numbers greater than 3 for Xcode, and the Xcode major version +# has only changed three times in the period 2003-2012, this is viewed as an +# acceptable limitation. +# + +# +# Edit values below to match iOS build environment, or leave blank for +# autodetection (slower!) +# + +# Xcode version used for cross-compiling +QMAKE_IOS_XCODE_VERSION = + +# iOS SDK version used for cross-compiling for iOS devices +QMAKE_IOS_SDK_VERSION = + +# iOS SDK version used for cross-compiling for the iOS simulator +QMAKE_IOS_SIMULATOR_SDK_VERSION = + +# +# Do not edit values below here if using a pre-built SDK +# + +# Minimum iOS version required on deployment target (if not specified, will +# default to minimum version that guarantees ARMv7 & OpenGL/ES 2.x). +# +# No part of Qt or any known plugin uses features that require iOS versions +# later than 4.0. +QMAKE_IPHONEOS_DEPLOYMENT_TARGET = 4.0 + +########################################################################### + +# No Xcode version specified? +isEmpty(QMAKE_IOS_XCODE_VERSION) { + # Get version string from installed Xcode + exists(/Applications/Xcode.app/Contents/Developer) { + QMAKE_IOS_XCODE_INFO = $$system(/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version) + } else: QMAKE_IOS_XCODE_INFO = $$system(/Developer/usr/bin/xcodebuild -version) + + # Extract Xcode version number from output + QMAKE_IOS_XCODE_VERSION = $$member(QMAKE_IOS_XCODE_INFO, 1) + QMAKE_IOS_XCODE_INFO = +} + +# Make sure Xcode version is valid +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { + # Xcode 4.3+ is stored in /Applications + QMAKE_IOS_PLATFORM_PATH = /Applications/Xcode.app/Contents/Developer/Platforms + + # Make sure Xcode path is valid + !exists($$QMAKE_IOS_PLATFORM_PATH): error("Xcode is not installed in /Applications/Xcode.app! Edit mkspecs/common/ios/versions.conf to specify version installed.") +} else { + # Older Xcode versions are stored in /Developer + QMAKE_IOS_PLATFORM_PATH = /Developer/Platforms + + # Make sure Xcode path is valid + !exists($$QMAKE_IOS_PLATFORM_PATH): error("Xcode is not installed in /Developer! Edit mkspecs/common/ios/versions.conf to specify version installed.") +} + +# iOS 4.3 is the preferred version as it is the earliest version that is armv7/gles2 only +QMAKE_IPHONEOS_PREFERRED_TARGET = 4.3 + +# Building for iOS device? +!*simulator* { + # No iOS SDK version specified? + isEmpty(QMAKE_IOS_SDK_VERSION) { + # Get version string from installed Xcode + !lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { + QMAKE_IOS_SDK_INFO = $$system(/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -showsdks) + } else: QMAKE_IOS_SDK_INFO = $$system(/Developer/usr/bin/xcodebuild -showsdks) + + # Get names of installed device SDKs + QMAKE_IOS_SDK_INFO = $$find(QMAKE_IOS_SDK_INFO, ^iphoneos) + for(v, QMAKE_IOS_SDK_INFO): { + # Extract SDK version number from output + v = $$replace(v,iphoneos,) + + # Use latest SDK version + greaterThan(v, $$QMAKE_IOS_SDK_VERSION): QMAKE_IOS_SDK_VERSION = $$v + } + QMAKE_IOS_SDK_INFO = + } + + # Make sure iOS SDK version is valid + !exists($$QMAKE_IOS_PLATFORM_PATH/iPhoneOS.platform/Developer/SDKs/iPhoneOS$${QMAKE_IOS_SDK_VERSION}.sdk) { + error("iOS $$QMAKE_IOS_SDK_VERSION SDK not found! Edit mkspecs/common/ios/versions.conf to specify version installed.") + } + + # No deployment target specified? + isEmpty(QMAKE_IPHONEOS_DEPLOYMENT_TARGET) { + # Use SDK version for iOS versions < preferred + lessThan(QMAKE_IOS_SDK_VERSION, $$QMAKE_IPHONEOS_PREFERRED_TARGET) { + QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IOS_SDK_VERSION + } else: QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IPHONEOS_PREFERRED_TARGET + } + + # Make sure iOS SDK version is >= iOS target version + !lessThan(QMAKE_IPHONEOS_DEPLOYMENT_TARGET, $$QMAKE_IOS_SDK_VERSION) { + error("Target iOS version is greater that iOS SDK version $$QMAKE_IOS_SDK_VERSION! Edit mkspecs/common/ios/versions.conf to specify target iOS version.") + } +# Building for iOS simulator +} else { + # No iOS simulator SDK version specified? + isEmpty(QMAKE_IOS_SIMULATOR_SDK_VERSION) { + # Get version string from installed Xcode + !lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { + QMAKE_IOS_SDK_INFO = $$system(/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -showsdks) + } else: QMAKE_IOS_SDK_INFO = $$system(/Developer/usr/bin/xcodebuild -showsdks) + + # Get names of installed device SDKs + QMAKE_IOS_SDK_INFO = $$find(QMAKE_IOS_SDK_INFO, ^iphonesimulator) + for(v, QMAKE_IOS_SDK_INFO): { + # Extract SDK version number from output + v = $$replace(v,iphonesimulator,) + + # Use latest SDK version + greaterThan(v, $$QMAKE_IOS_SIMULATOR_SDK_VERSION): QMAKE_IOS_SIMULATOR_SDK_VERSION = $$v + } + QMAKE_IOS_SDK_INFO = + } + + # Make sure iOS simulator SDK version is valid + !exists($$QMAKE_IOS_PLATFORM_PATH/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$${QMAKE_IOS_SIMULATOR_SDK_VERSION}.sdk) { + error("iOS $$QMAKE_IOS_SIMULATOR_SDK_VERSION simulator SDK not found! Edit mkspecs/common/ios/versions.conf to specify version installed.") + } + + # No deployment target specified? + isEmpty(QMAKE_IPHONEOS_DEPLOYMENT_TARGET) { + # Use SDK version for iOS versions < preferred + lessThan(QMAKE_IOS_SIMULATOR_SDK_VERSION, $$QMAKE_IPHONEOS_PREFERRED_TARGET) { + QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IOS_SIMULATOR_SDK_VERSION + } else: QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IPHONEOS_PREFERRED_TARGET + } + + # Make sure iOS simulator SDK version is >= iOS target version + !lessThan(QMAKE_IPHONEOS_DEPLOYMENT_TARGET, $$QMAKE_IOS_SIMULATOR_SDK_VERSION) { + error("Target iOS version is greater that iOS simulator SDK version $$QMAKE_IOS_SIMULATOR_SDK_VERSION! Edit mkspecs/common/ios/versions.conf to specify target iOS version.") + } +} + +QMAKE_IPHONEOS_PREFERRED_TARGET = +QMAKE_IOS_PLATFORM_PATH = + +# Set deployment target +QMAKE_IOS_VERSION_FLAGS = -miphoneos-version-min=$$QMAKE_IPHONEOS_DEPLOYMENT_TARGET + +# Set build flags +QMAKE_CFLAGS += $$QMAKE_IOS_VERSION_FLAGS +QMAKE_CXXFLAGS += $$QMAKE_IOS_VERSION_FLAGS +QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_VERSION_FLAGS +QMAKE_LFLAGS += $$QMAKE_IOS_VERSION_FLAGS +QMAKE_IOS_VERSION_FLAGS = diff --git a/mkspecs/unsupported/macx-iosdevice-clang-legacy/qmake.conf b/mkspecs/unsupported/macx-iosdevice-clang-legacy/qmake.conf new file mode 100644 index 0000000000..ff8e0b6aa9 --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-clang-legacy/qmake.conf @@ -0,0 +1,35 @@ +# +# qmake configuration for ios-device-clang +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/clang.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/clang.conf) +include(../../common/ios/qmake.conf) + +# Version check +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.2.x or earlier") + +# iOS build tools +QMAKE_CC = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang +QMAKE_CXX = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++ +QMAKE_FIX_RPATH = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the clang compiler") + +load(qt_config) + +# Include after config is loaded to allow autodetection on GL/ES version +include(../../common/ios/arch.conf) diff --git a/mkspecs/unsupported/macx-iosdevice-clang-legacy/qplatformdefs.h b/mkspecs/unsupported/macx-iosdevice-clang-legacy/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-clang-legacy/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iosdevice-clang/qmake.conf b/mkspecs/unsupported/macx-iosdevice-clang/qmake.conf new file mode 100644 index 0000000000..777b5ab6e2 --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-clang/qmake.conf @@ -0,0 +1,35 @@ +# +# qmake configuration for ios-device-clang +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/clang.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/clang.conf) +include(../../common/ios/qmake.conf) + +# Version check +lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.3 or later") + +# iOS build tools +QMAKE_CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang +QMAKE_CXX = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ +QMAKE_FIX_RPATH = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool -id +QMAKE_AR = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar cq +QMAKE_RANLIB = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the clang compiler") + +load(qt_config) + +# Include after config is loaded to allow autodetection on GL/ES version +include(../../common/ios/arch.conf) diff --git a/mkspecs/unsupported/macx-iosdevice-clang/qplatformdefs.h b/mkspecs/unsupported/macx-iosdevice-clang/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-clang/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iosdevice-g++-legacy/qmake.conf b/mkspecs/unsupported/macx-iosdevice-g++-legacy/qmake.conf new file mode 100644 index 0000000000..5fcfb4a51d --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-g++-legacy/qmake.conf @@ -0,0 +1,35 @@ +# +# qmake configuration for ios-device-g++ +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/g++-macx.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/g++.conf) +include(../../common/ios/qmake.conf) + +# Version check (g++ was discontinued at version 4.2, but user may have added it themselves) +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.2.x or earlier") + +# iOS build tools +QMAKE_CC = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 +QMAKE_CXX = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 +QMAKE_FIX_RPATH = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the g++ 4.2 compiler") + +load(qt_config) + +# Include after config is loaded to allow autodetection on GL/ES version +include(../../common/ios/arch.conf) diff --git a/mkspecs/unsupported/macx-iosdevice-g++-legacy/qplatformdefs.h b/mkspecs/unsupported/macx-iosdevice-g++-legacy/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-g++-legacy/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iosdevice-g++/qmake.conf b/mkspecs/unsupported/macx-iosdevice-g++/qmake.conf new file mode 100644 index 0000000000..2a29335334 --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-g++/qmake.conf @@ -0,0 +1,35 @@ +# +# qmake configuration for ios-device-g++ +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/g++-macx.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/g++.conf) +include(../../common/ios/qmake.conf) + +# Version check (g++ was discontinued at version 4.2, but user may have added it themselves) +lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.3 or later") + +# iOS build tools +QMAKE_CC = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 +QMAKE_CXX = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 +QMAKE_FIX_RPATH = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the g++ 4.2 compiler") + +load(qt_config) + +# Include after config is loaded to allow autodetection on GL/ES version +include(../../common/ios/arch.conf) diff --git a/mkspecs/unsupported/macx-iosdevice-g++/qplatformdefs.h b/mkspecs/unsupported/macx-iosdevice-g++/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-g++/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iosdevice-llvm-legacy/qmake.conf b/mkspecs/unsupported/macx-iosdevice-llvm-legacy/qmake.conf new file mode 100644 index 0000000000..4554843610 --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-llvm-legacy/qmake.conf @@ -0,0 +1,35 @@ +# +# qmake configuration for ios-device-llvm +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/llvm.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/llvm.conf) +include(../../common/ios/qmake.conf) + +# Version check +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.2.x or earlier") + +# iOS build tools +QMAKE_CC = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 +QMAKE_CXX = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-g++-4.2 +QMAKE_FIX_RPATH = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the llvm-g++ 4.2 compiler") + +load(qt_config) + +# Include after config is loaded to allow autodetection on GL/ES version +include(../../common/ios/arch.conf) diff --git a/mkspecs/unsupported/macx-iosdevice-llvm-legacy/qplatformdefs.h b/mkspecs/unsupported/macx-iosdevice-llvm-legacy/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-llvm-legacy/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iosdevice-llvm/qmake.conf b/mkspecs/unsupported/macx-iosdevice-llvm/qmake.conf new file mode 100644 index 0000000000..335c68fd42 --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-llvm/qmake.conf @@ -0,0 +1,35 @@ +# +# qmake configuration for ios-device-llvm +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/llvm.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/llvm.conf) +include(../../common/ios/qmake.conf) + +# Version check +lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.3 or later") + +# iOS build tools +QMAKE_CC = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 +QMAKE_CXX = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-g++-4.2 +QMAKE_FIX_RPATH = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the llvm-g++ 4.2 compiler") + +load(qt_config) + +# Include after config is loaded to allow autodetection on GL/ES version +include(../../common/ios/arch.conf) diff --git a/mkspecs/unsupported/macx-iosdevice-llvm/qplatformdefs.h b/mkspecs/unsupported/macx-iosdevice-llvm/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iosdevice-llvm/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iossimulator-clang-legacy/qmake.conf b/mkspecs/unsupported/macx-iossimulator-clang-legacy/qmake.conf new file mode 100644 index 0000000000..b042766a39 --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-clang-legacy/qmake.conf @@ -0,0 +1,6 @@ +# +# qmake configuration for ios-simulator-clang +# + +# All differences between device and simulator are handled in iOS include files +include(../macx-iosdevice-clang-legacy/qmake.conf) diff --git a/mkspecs/unsupported/macx-iossimulator-clang-legacy/qplatformdefs.h b/mkspecs/unsupported/macx-iossimulator-clang-legacy/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-clang-legacy/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iossimulator-clang/qmake.conf b/mkspecs/unsupported/macx-iossimulator-clang/qmake.conf new file mode 100644 index 0000000000..11301cb72f --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-clang/qmake.conf @@ -0,0 +1,6 @@ +# +# qmake configuration for ios-simulator-clang +# + +# All differences between device and simulator are handled in iOS include files +include(../macx-iosdevice-clang/qmake.conf) diff --git a/mkspecs/unsupported/macx-iossimulator-clang/qplatformdefs.h b/mkspecs/unsupported/macx-iossimulator-clang/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-clang/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iossimulator-g++-legacy/qmake.conf b/mkspecs/unsupported/macx-iossimulator-g++-legacy/qmake.conf new file mode 100644 index 0000000000..abc695231e --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-g++-legacy/qmake.conf @@ -0,0 +1,33 @@ +# +# qmake configuration for ios-simulator-g++ +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/g++-macx.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/arch.conf) +include(../../common/ios/g++.conf) +include(../../common/ios/qmake.conf) + +# Version check (g++ was discontinued at version 4.2) +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.2"): error("This mkspec requires Xcode 4.1.x or earlier") + +# iOS build tools +QMAKE_CC = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 +QMAKE_CXX = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 +QMAKE_FIX_RPATH = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the g++ 4.2 compiler") + +load(qt_config) diff --git a/mkspecs/unsupported/macx-iossimulator-g++-legacy/qplatformdefs.h b/mkspecs/unsupported/macx-iossimulator-g++-legacy/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-g++-legacy/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iossimulator-g++/qmake.conf b/mkspecs/unsupported/macx-iossimulator-g++/qmake.conf new file mode 100644 index 0000000000..99848be410 --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-g++/qmake.conf @@ -0,0 +1,33 @@ +# +# qmake configuration for ios-simulator-g++ +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/g++-macx.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/arch.conf) +include(../../common/ios/g++.conf) +include(../../common/ios/qmake.conf) + +# Version check (g++ was discontinued at version 4.2, but user may have added it themselves) +lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.3 or later") + +# iOS build tools +QMAKE_CC = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 +QMAKE_CXX = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 +QMAKE_FIX_RPATH = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the g++ 4.2 compiler") + +load(qt_config) diff --git a/mkspecs/unsupported/macx-iossimulator-g++/qplatformdefs.h b/mkspecs/unsupported/macx-iossimulator-g++/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-g++/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iossimulator-llvm-legacy/qmake.conf b/mkspecs/unsupported/macx-iossimulator-llvm-legacy/qmake.conf new file mode 100644 index 0000000000..95d530cc18 --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-llvm-legacy/qmake.conf @@ -0,0 +1,33 @@ +# +# qmake configuration for ios-simulator-llvm +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/llvm.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/arch.conf) +include(../../common/ios/llvm.conf) +include(../../common/ios/qmake.conf) + +# Version check +!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.2.x or earlier") + +# iOS build tools +QMAKE_CC = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 +QMAKE_CXX = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 +QMAKE_FIX_RPATH = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the llvm-g++ 4.2 compiler") + +load(qt_config) diff --git a/mkspecs/unsupported/macx-iossimulator-llvm-legacy/qplatformdefs.h b/mkspecs/unsupported/macx-iossimulator-llvm-legacy/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-llvm-legacy/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" diff --git a/mkspecs/unsupported/macx-iossimulator-llvm/qmake.conf b/mkspecs/unsupported/macx-iossimulator-llvm/qmake.conf new file mode 100644 index 0000000000..7e3d4b5710 --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-llvm/qmake.conf @@ -0,0 +1,33 @@ +# +# qmake configuration for ios-simulator-llvm +# +# Depends on: +# +# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# + +include(../../common/mac.conf) +include(../../common/gcc-base-ios.conf) +include(../../common/llvm.conf) +include(../../common/ios.conf) +include(../../common/ios/versions.conf) +include(../../common/ios/arch.conf) +include(../../common/ios/llvm.conf) +include(../../common/ios/qmake.conf) + +# Version check +lessThan(QMAKE_IOS_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.3 or later") + +# iOS build tools +QMAKE_CC = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 +QMAKE_CXX = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 +QMAKE_FIX_RPATH = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/install_name_tool -id +QMAKE_AR = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ar cq +QMAKE_RANLIB = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +# Check that compiler is valid +!exists($$QMAKE_CXX): error("The version of Xcode installed on this system does not include the llvm-g++ 4.2 compiler") + +load(qt_config) diff --git a/mkspecs/unsupported/macx-iossimulator-llvm/qplatformdefs.h b/mkspecs/unsupported/macx-iossimulator-llvm/qplatformdefs.h new file mode 100644 index 0000000000..89621ea21d --- /dev/null +++ b/mkspecs/unsupported/macx-iossimulator-llvm/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../common/ios/qplatformdefs.h" -- cgit v1.2.3