mkspec: Add cross-compilation support for FreeBSD
Add conf files for -device qmake switch. It consists of two common pre/post includes for FreeBSD-base device. "freebsd-generic-clang" -device option for generic cross-compilation target, with bsdfb as default platform and freebsd-rasp-pi-clang option for Raspberry Pi (up to version 2) with OpenGL ES2 (eglfs) support Change-Id: I45d91c0512f60f2be438ce46e0485844c341188a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
This commit is contained in:
parent
7a30dda40b
commit
72efb2e6f4
5
mkspecs/devices/common/freebsd_device_post.conf
Normal file
5
mkspecs/devices/common/freebsd_device_post.conf
Normal file
@ -0,0 +1,5 @@
|
||||
QMAKE_CFLAGS += $$COMPILER_FLAGS
|
||||
QMAKE_CXXFLAGS += $$COMPILER_FLAGS
|
||||
QMAKE_LFLAGS += $$LINKER_FLAGS
|
||||
|
||||
deviceSanityCheckCompiler()
|
27
mkspecs/devices/common/freebsd_device_pre.conf
Normal file
27
mkspecs/devices/common/freebsd_device_pre.conf
Normal file
@ -0,0 +1,27 @@
|
||||
QT_QPA_DEFAULT_PLATFORM = bsdfb
|
||||
|
||||
MAKEFILE_GENERATOR = UNIX
|
||||
CONFIG += incremental
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
include(../../freebsd-clang/qmake.conf)
|
||||
|
||||
load(device_config)
|
||||
|
||||
# modifications to g++-unix.conf
|
||||
QMAKE_CC = $${CROSS_COMPILE}cc
|
||||
QMAKE_CXX = $${CROSS_COMPILE}c++
|
||||
QMAKE_LINK = $${QMAKE_CXX}
|
||||
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
# Do not set QMAKE_INCDIR to system include here
|
||||
# it messes up system include order. --sysroot is
|
||||
# sufficient. See link for details:
|
||||
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213217
|
||||
QMAKE_LIBDIR = $$[QT_SYSROOT]/usr/lib
|
9
mkspecs/devices/freebsd-generic-clang/qmake.conf
Normal file
9
mkspecs/devices/freebsd-generic-clang/qmake.conf
Normal file
@ -0,0 +1,9 @@
|
||||
#
|
||||
# Generic qmake configuration for cross-compiling with clang
|
||||
#
|
||||
# A minimal configure line could look something like this:
|
||||
# ./configure -device freebsd-generic-clang -device-option CROSS_COMPILE=/usr/armv6-freebsd/usr/bin/
|
||||
|
||||
include(../common/freebsd_device_pre.conf)
|
||||
include(../common/freebsd_device_post.conf)
|
||||
load(qt_config)
|
40
mkspecs/devices/freebsd-generic-clang/qplatformdefs.h
Normal file
40
mkspecs/devices/freebsd-generic-clang/qplatformdefs.h
Normal file
@ -0,0 +1,40 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** 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$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "../../common/bsd/qplatformdefs.h"
|
25
mkspecs/devices/freebsd-rasp-pi-clang/qmake.conf
Normal file
25
mkspecs/devices/freebsd-rasp-pi-clang/qmake.conf
Normal file
@ -0,0 +1,25 @@
|
||||
# qmake configuration for the Raspberry Pi and Raspberry Pi 2
|
||||
|
||||
include(../common/freebsd_device_pre.conf)
|
||||
|
||||
QT_QPA_DEFAULT_PLATFORM = eglfs
|
||||
# Preferred eglfs backend
|
||||
EGLFS_DEVICE_INTEGRATION = eglfs_brcm
|
||||
|
||||
QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/usr/local/lib
|
||||
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
|
||||
QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL_ES2
|
||||
|
||||
QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/usr/local/include \
|
||||
$$[QT_SYSROOT]/usr/local/include/interface/vcos/pthreads \
|
||||
$$[QT_SYSROOT]/usr/local/include/interface/vmcs_host/linux
|
||||
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
|
||||
QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
|
||||
|
||||
QMAKE_LIBS_EGL = -lEGL -lGLESv2
|
||||
QMAKE_LIBS_OPENGL_ES2 = $${QMAKE_LIBS_EGL}
|
||||
QMAKE_LIBS_OPENVG = -lEGL -lOpenVG -lGLESv2
|
||||
|
||||
include(../common/freebsd_device_post.conf)
|
||||
|
||||
load(qt_config)
|
40
mkspecs/devices/freebsd-rasp-pi-clang/qplatformdefs.h
Normal file
40
mkspecs/devices/freebsd-rasp-pi-clang/qplatformdefs.h
Normal file
@ -0,0 +1,40 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** 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$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "../freebsd-generic-clang/qplatformdefs.h"
|
Loading…
Reference in New Issue
Block a user