From 79ebb1621e6cdb68a4ad107c8ac80eadb9c60366 Mon Sep 17 00:00:00 2001 From: Morten Johan Sorvig Date: Fri, 13 Jan 2012 07:33:11 +0100 Subject: Add Native Client port mkspecs. Support cross-compiling for x86 and x86_64 nacl. Change-Id: I652702f9671b35963450c42dac5e27bedc698df0 Reviewed-by: Thiago Macieira --- mkspecs/common/nacl/g++-nacl32.conf | 11 ++++++++ mkspecs/common/nacl/g++-nacl64.conf | 11 ++++++++ mkspecs/common/nacl/nacl-base.conf | 10 +++++++ mkspecs/common/nacl/qplatformdefs.h | 56 +++++++++++++++++++++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 mkspecs/common/nacl/g++-nacl32.conf create mode 100644 mkspecs/common/nacl/g++-nacl64.conf create mode 100644 mkspecs/common/nacl/nacl-base.conf create mode 100644 mkspecs/common/nacl/qplatformdefs.h (limited to 'mkspecs/common/nacl') diff --git a/mkspecs/common/nacl/g++-nacl32.conf b/mkspecs/common/nacl/g++-nacl32.conf new file mode 100644 index 0000000000..7ab48dba3a --- /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 0000000000..91ffcc2310 --- /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 0000000000..128ef23131 --- /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 0000000000..f3ce16771b --- /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 -- cgit v1.2.3