diff options
Diffstat (limited to 'mkspecs/common')
-rw-r--r-- | mkspecs/common/clang.conf | 6 | ||||
-rw-r--r-- | mkspecs/common/gcc-base.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/rtems-base.conf | 73 | ||||
-rw-r--r-- | mkspecs/common/rtems/qplatformdefs.h | 72 |
4 files changed, 151 insertions, 2 deletions
diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf index df210fe42d..aead581478 100644 --- a/mkspecs/common/clang.conf +++ b/mkspecs/common/clang.conf @@ -16,10 +16,13 @@ QMAKE_LINK_SHLIB = $$QMAKE_CXX CONFIG += clang_pch_style QMAKE_PCH_OUTPUT_EXT = .pch +QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz + QMAKE_CFLAGS_ISYSTEM = -isystem 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_CFLAGS_LTCG = -flto +QMAKE_CFLAGS_LTCG = -flto=thin +QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto QMAKE_CFLAGS_DISABLE_LTCG = -fno-lto QMAKE_CFLAGS_GNUC99 = -std=gnu99 QMAKE_CFLAGS_GNUC11 = -std=gnu11 @@ -27,6 +30,7 @@ QMAKE_CFLAGS_GNUC11 = -std=gnu11 QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG +QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG QMAKE_CXXFLAGS_CXX11 = -std=c++11 QMAKE_CXXFLAGS_CXX14 = -std=c++1y diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 44b4267207..4d82321cba 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -38,7 +38,7 @@ QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os !equals(QMAKE_HOST.os, Windows): QMAKE_CFLAGS += -pipe QMAKE_CFLAGS_DEPS += -M -QMAKE_CFLAGS_WARN_ON += -Wall -W +QMAKE_CFLAGS_WARN_ON += -Wall -Wextra QMAKE_CFLAGS_WARN_OFF += -w QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g diff --git a/mkspecs/common/rtems-base.conf b/mkspecs/common/rtems-base.conf new file mode 100644 index 0000000000..0a015c3173 --- /dev/null +++ b/mkspecs/common/rtems-base.conf @@ -0,0 +1,73 @@ +# +# Base qmake configuration for GCC on RTEMS +# +# +# +MAKEFILE_GENERATOR = UNIX + +QMAKE_PLATFORM = rtems + +include(unix.conf) +include(gcc-base-unix.conf) +include(g++-unix.conf) + +rtems_bsp = $$(RTEMS_BSP) +isEmpty(rtems_bsp) { + error("This qmakespec requires $RTEMS_BSP to be set") +} + +rtems_compiler = $$(RTEMS_COMPILER) +isEmpty(rtems_compiler) { + error("This qmakespec requires $RTEMS_COMPILER to be set") +} + +isEmpty(RTEMS_CPU_FLAGS) { + error("The qmakespec is expected to set \$\$RTEMS_CPU_FLAGS") +} + +RTEMS_FLAGS = \ + -B$$rtems_bsp \ + -specs bsp_specs \ + -qrtems \ + $$RTEMS_CPU_FLAGS + +QMAKE_CFLAGS_OPTIMIZE_FULL = $$QMAKE_CFLAGS_OPTIMIZE +QMAKE_CFLAGS_OPTIMIZE_DEBUG = -O0 -g + +QMAKE_CFLAGS_DEBUG = $$QMAKE_CFLAGS_OPTIMIZE_DEBUG +QMAKE_CFLAGS_WARN_ON = -Wall +QMAKE_CFLAGS_PIC = +QMAKE_CFLAGS_SHLIB = +QMAKE_CFLAGS_STATIC_LIB = +QMAKE_CFLAGS_APP = +QMAKE_CFLAGS += $$RTEMS_FLAGS + +QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_SHLIB = +QMAKE_CXXFLAGS_STATIC_LIB = +QMAKE_CXXFLAGS_APP = +QMAKE_CXXFLAGS += $$RTEMS_FLAGS + +QMAKE_CXXFLAGS_CXX11 = +QMAKE_CXXFLAGS_CXX14 = +QMAKE_CXXFLAGS_CXX1Z = + +QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections +QMAKE_LFLAGS += $$RTEMS_FLAGS $$QMAKE_LFLAGS_GCSECTIONS + +QMAKE_CC = $${rtems_compiler}-gcc +QMAKE_CXX = $${rtems_compiler}-g++ +QMAKE_AR = $${rtems_compiler}-ar cqs +QMAKE_OBJCOPY = $${rtems_compiler}-objcopy +QMAKE_NM = $${rtems_compiler}-nm -P +QMAKE_RANLIB = $${rtems_compiler}-ranlib +QMAKE_STRIP = $${rtems_compiler}-strip + +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = + +load(qt_config) diff --git a/mkspecs/common/rtems/qplatformdefs.h b/mkspecs/common/rtems/qplatformdefs.h new file mode 100644 index 0000000000..b4ec1de87f --- /dev/null +++ b/mkspecs/common/rtems/qplatformdefs.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company. All rights reserved. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef Q_RTEMS_PLATFORMDEFS_H +#define Q_RTEMS_PLATFORMDEFS_H + +// Get Qt defines/settings + +#include "qglobal.h" + +#include <pthread.h> +#include <dirent.h> +#include <fcntl.h> +#include <signal.h> +#include <sys/select.h> + +#include <sys/types.h> +#include <sys/ioctl.h> +#include <sys/time.h> + +#include <pwd.h> +#include <grp.h> + +#define __LINUX_ERRNO_EXTENSIONS__ +#include <errno.h> + +#include "../posix/qplatformdefs.h" + +#ifdef __STRICT_ANSI__ +#undef __STRICT_ANSI__ +#endif + +#undef QT_OPEN_LARGEFILE +#define QT_OPEN_LARGEFILE 0 + +#endif // Q_RTEMS_PLATFORMDEFS_H |