From: Morten Johan Sorvig Date: Fri, 13 Jan 2012 06:33:11 +0000 (+0100) Subject: Add Native Client port mkspecs. X-Git-Tag: qt-v5.0.0-alpha1~1578 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=79ebb1621e6cdb68a4ad107c8ac80eadb9c60366;p=profile%2Fivi%2Fqtbase.git Add Native Client port mkspecs. Support cross-compiling for x86 and x86_64 nacl. Change-Id: I652702f9671b35963450c42dac5e27bedc698df0 Reviewed-by: Thiago Macieira --- diff --git a/mkspecs/common/nacl/g++-nacl32.conf b/mkspecs/common/nacl/g++-nacl32.conf new file mode 100644 index 0000000..7ab48db --- /dev/null +++ b/mkspecs/common/nacl/g++-nacl32.conf @@ -0,0 +1,11 @@ + +# 32-bit x86 nacl configuration. + +QMAKE_CC = i686-nacl-gcc +QMAKE_CXX = i686-nacl-g++ +QMAKE_LINK = i686-nacl-g++ +QMAKE_LINK_SHLIB = i686-nacl-g++ +QMAKE_AR = i686-nacl-ar q +QMAKE_OBJCOPY = i686-nacl-objcopy +QMAKE_STRIP = i686-nacl-strip + diff --git a/mkspecs/common/nacl/g++-nacl64.conf b/mkspecs/common/nacl/g++-nacl64.conf new file mode 100644 index 0000000..91ffcc2 --- /dev/null +++ b/mkspecs/common/nacl/g++-nacl64.conf @@ -0,0 +1,11 @@ + +# 32-bit x86 nacl configuration. + +QMAKE_CC = x86_64-nacl-gcc +QMAKE_CXX = x86_64-nacl-g++ +QMAKE_LINK = x86_64-nacl-g++ +QMAKE_LINK_SHLIB = x86_64-nacl-g++ +QMAKE_AR = x86_64-nacl-ar q +QMAKE_OBJCOPY = x86_64-nacl-objcopy +QMAKE_STRIP = x86_64-nacl-strip + diff --git a/mkspecs/common/nacl/nacl-base.conf b/mkspecs/common/nacl/nacl-base.conf new file mode 100644 index 0000000..128ef23 --- /dev/null +++ b/mkspecs/common/nacl/nacl-base.conf @@ -0,0 +1,10 @@ + +# Work around linker crash when using PIC. We are building +# statically so this is safe. +QMAKE_CFLAGS_STATIC_LIB -= -fPIC +QMAKE_CFLAGS_SHLIB -= -fPIC +QMAKE_CXXFLAGS_STATIC_LIB -= -fPIC +QMAKE_CXXFLAGS_SHLIB -= -fPIC + +QMAKE_LIBS_DYNLOAD -= -ldl +QMAKE_LIBS_OPENGL_ES2 = -lppapi_gles2 diff --git a/mkspecs/common/nacl/qplatformdefs.h b/mkspecs/common/nacl/qplatformdefs.h new file mode 100644 index 0000000..f3ce167 --- /dev/null +++ b/mkspecs/common/nacl/qplatformdefs.h @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2012 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$ +** 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$ +** +****************************************************************************/ +#define _POSIX_TIMERS + +#include "qglobal.h" + +// extra disabling. +#ifdef __native_client__ +#define QT_NO_FSFILEENGINE +#endif + +#define QT_NO_SOCKET_H + +#define DIR void * +#define PATH_MAX 256 + +#include "qfunctions_nacl.h" +#include diff --git a/mkspecs/unsupported/nacl-g++/qmake.conf b/mkspecs/unsupported/nacl-g++/qmake.conf new file mode 100644 index 0000000..f5dee80 --- /dev/null +++ b/mkspecs/unsupported/nacl-g++/qmake.conf @@ -0,0 +1,14 @@ +# +# qmake configuration for building with nacl-g++ +# + +include(../../common/linux.conf) +include(../../common/qws.conf) +include(../../common/gcc-base-unix.conf) +include(../../common/g++-unix.conf) +include(../../common/nacl/nacl-base.conf) +include(../../common/nacl/g++-nacl32.conf) + +QT = core gui + +load(qt_config) diff --git a/mkspecs/unsupported/nacl-g++/qplatformdefs.h b/mkspecs/unsupported/nacl-g++/qplatformdefs.h new file mode 100644 index 0000000..31f3a03 --- /dev/null +++ b/mkspecs/unsupported/nacl-g++/qplatformdefs.h @@ -0,0 +1,47 @@ +/**************************************************************************** +** +** Copyright (C) 2012 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$ +** 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 + +#include "../../common/nacl/qplatformdefs.h" +#include "../../common/posix/qplatformdefs.h" + +#endif // QPLATFORMDEFS_H diff --git a/mkspecs/unsupported/nacl64-g++/qmake.conf b/mkspecs/unsupported/nacl64-g++/qmake.conf new file mode 100644 index 0000000..13372b3 --- /dev/null +++ b/mkspecs/unsupported/nacl64-g++/qmake.conf @@ -0,0 +1,14 @@ +# +# qmake configuration for building with nacl-g++ +# + +include(../../common/linux.conf) +include(../../common/qws.conf) +include(../../common/gcc-base-unix.conf) +include(../../common/g++-unix.conf) +include(../../common/nacl/nacl64-base.conf) +include(../../common/nacl/g++-nacl64.conf) + +QT = core gui + +load(qt_config) diff --git a/mkspecs/unsupported/nacl64-g++/qplatformdefs.h b/mkspecs/unsupported/nacl64-g++/qplatformdefs.h new file mode 100644 index 0000000..31f3a03 --- /dev/null +++ b/mkspecs/unsupported/nacl64-g++/qplatformdefs.h @@ -0,0 +1,47 @@ +/**************************************************************************** +** +** Copyright (C) 2012 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$ +** 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 + +#include "../../common/nacl/qplatformdefs.h" +#include "../../common/posix/qplatformdefs.h" + +#endif // QPLATFORMDEFS_H