summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-18 09:29:17 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-20 08:00:26 +0200
commite32f1a4d61f0c55d066a43657ad607131be8ca34 (patch)
tree81ea388722187e1650b2c2b2d9c22eafae5c0527 /mkspecs
parentfdb956a3ede6cb0a25112c1e1af6c93fd2051de1 (diff)
parentee2eed350f95285b65e3dd9647e5f366e16fd5a4 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
And blacklisted a few tests in tst_QUdpSocket. Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtNative.java src/corelib/global/qglobal.cpp src/corelib/global/qsystemdetection.h src/corelib/io/qfileselector.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp tests/auto/network/socket/qudpsocket/BLACKLIST Task-number: QTBUG-54205 Change-Id: I11dd1c90186eb1b847d45be87a26041f61d89ef6
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/bsd/bsd.conf30
-rw-r--r--mkspecs/common/bsd/qplatformdefs.h79
-rw-r--r--mkspecs/common/macx.conf2
-rw-r--r--mkspecs/darwin-g++/qmake.conf2
-rw-r--r--mkspecs/devices/linux-rpi3-g++/qmake.conf7
-rw-r--r--mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf44
-rw-r--r--mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h34
-rw-r--r--mkspecs/features/spec_post.prf15
-rw-r--r--mkspecs/freebsd-clang/qmake.conf24
-rw-r--r--mkspecs/freebsd-clang/qplatformdefs.h43
-rw-r--r--mkspecs/freebsd-g++/qmake.conf24
-rw-r--r--mkspecs/freebsd-g++/qplatformdefs.h7
-rw-r--r--mkspecs/netbsd-g++/qmake.conf29
-rw-r--r--mkspecs/netbsd-g++/qplatformdefs.h41
-rw-r--r--mkspecs/openbsd-g++/qmake.conf30
-rw-r--r--mkspecs/openbsd-g++/qplatformdefs.h42
16 files changed, 234 insertions, 219 deletions
diff --git a/mkspecs/common/bsd/bsd.conf b/mkspecs/common/bsd/bsd.conf
new file mode 100644
index 0000000000..390dfc58d2
--- /dev/null
+++ b/mkspecs/common/bsd/bsd.conf
@@ -0,0 +1,30 @@
+#
+# common qmake configuration for *BSD
+#
+
+MAKEFILE_GENERATOR = UNIX
+QMAKE_PLATFORM += bsd
+
+include(../unix.conf)
+
+QMAKE_CFLAGS_THREAD = -pthread
+
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_LFLAGS_THREAD = -pthread
+QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_EXECINFO = -lexecinfo
+QMAKE_LIBS_X11 = -lXext -lX11 -lm
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_THREAD =
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_NM = nm -P
+QMAKE_RANLIB =
+
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
diff --git a/mkspecs/common/bsd/qplatformdefs.h b/mkspecs/common/bsd/qplatformdefs.h
new file mode 100644
index 0000000000..123155816f
--- /dev/null
+++ b/mkspecs/common/bsd/qplatformdefs.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** 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 http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://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 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef Q_BSD_PLATFORMDEFS_H
+#define Q_BSD_PLATFORMDEFS_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 <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#include "../posix/qplatformdefs.h"
+
+#undef QT_OPEN_LARGEFILE
+#define QT_OPEN_LARGEFILE 0
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf
index ad54612f22..69d731b48a 100644
--- a/mkspecs/common/macx.conf
+++ b/mkspecs/common/macx.conf
@@ -2,7 +2,7 @@
# qmake configuration for common OS X
#
-QMAKE_PLATFORM += osx macx
+QMAKE_PLATFORM += macos osx macx
QMAKE_MAC_SDK = macosx
include(mac.conf)
diff --git a/mkspecs/darwin-g++/qmake.conf b/mkspecs/darwin-g++/qmake.conf
index 79f81a990f..09c55456ec 100644
--- a/mkspecs/darwin-g++/qmake.conf
+++ b/mkspecs/darwin-g++/qmake.conf
@@ -5,7 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
-QMAKE_PLATFORM = osx macx mac darwin
+QMAKE_PLATFORM = macos osx macx mac darwin
CONFIG += native_precompiled_headers
DEFINES += __USE_WS_X11__
diff --git a/mkspecs/devices/linux-rpi3-g++/qmake.conf b/mkspecs/devices/linux-rpi3-g++/qmake.conf
index 600d3e7dc1..a660577565 100644
--- a/mkspecs/devices/linux-rpi3-g++/qmake.conf
+++ b/mkspecs/devices/linux-rpi3-g++/qmake.conf
@@ -1,4 +1,4 @@
-# qmake configuration for the Raspberry Pi 3
+# qmake configuration for the Raspberry Pi 3 (32-bit) using the Broadcom graphics stack
include(../common/linux_device_pre.conf)
@@ -27,9 +27,8 @@ QMAKE_LIBS_OPENGL_ES2 = $${VC_LINK_LINE} -lGLESv2
# The official opt vc EGL references GLESv2 symbols: need to link it
QMAKE_LIBS_EGL = $${VC_LINK_LINE} -lEGL -lGLESv2
-# We deliberately override the existing Qt CFLAGS as they might be problematic
-QMAKE_CFLAGS = -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb
-QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -std=c++1z
+QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
DISTRO_OPTS += hard-float
DISTRO_OPTS += deb-multi-arch
diff --git a/mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf b/mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf
new file mode 100644
index 0000000000..75b6ad7db5
--- /dev/null
+++ b/mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf
@@ -0,0 +1,44 @@
+# qmake configuration for the Raspberry Pi 3 (32-bit) using the
+# *experimental* VC4 driver for Mesa and DRM.
+#
+# This should allow accelerated EGL and OpenGL with eglfs via
+# KMS/DRM/GBM (instead of the Broadcom-specific backend), under X11
+# with xcb, and also enables (Qt)Wayland via the standard wayland-egl
+# path. See https://dri.freedesktop.org/wiki/VC4
+#
+# Note that this is not the same as the default, Broadcom proprietary
+# driver. Some functionality and extensions may therefore be missing,
+# in particular when it comes to accelerated multimedia (video,
+# camera).
+#
+# At the time of writing Raspbian has to be switched explicitly to the
+# experimental VC4 driver. To do this, run raspi-config and enable it
+# in Advanced Options -> GL Driver.
+#
+# Example configure command below. We disable using the GNU gold
+# linker as it apparently has issues with ARMv8. In the configure
+# output check that "EGLFS GBM .......... yes" is present, otherwise
+# eglfs will not be functional.
+#
+# ./configure -release -opengl es2 -device linux-rpi3-vc4-g++ \
+# -device-option CROSS_COMPILE=~/raspbian/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- \
+# -sysroot ~/raspbian/sysroot \
+# -prefix /usr/local/qt5pi -extprefix ~/raspbian/qt5pi -hostprefix ~/raspbian/qt5 \
+# -v -nomake examples -nomake tests -no-use-gold-linker
+
+include(../common/linux_device_pre.conf)
+
+QMAKE_LIBS_EGL += -lEGL
+QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
+
+QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+
+DISTRO_OPTS += hard-float
+DISTRO_OPTS += deb-multi-arch
+
+EGLFS_DEVICE_INTEGRATION = eglfs_kms
+
+include(../common/linux_arm_device_post.conf)
+
+load(qt_config)
diff --git a/mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h b/mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h
new file mode 100644
index 0000000000..6fe3b52454
--- /dev/null
+++ b/mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** 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 http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://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 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../linux-g++/qplatformdefs.h"
diff --git a/mkspecs/features/spec_post.prf b/mkspecs/features/spec_post.prf
index 4d398059b2..234189fed1 100644
--- a/mkspecs/features/spec_post.prf
+++ b/mkspecs/features/spec_post.prf
@@ -26,16 +26,23 @@ isEmpty(QMAKE_PLATFORM) {
equals(TARGET_PLATFORM, unix): \
QMAKE_PLATFORM = unix
else:equals(TARGET_PLATFORM, macx): \
- QMAKE_PLATFORM = osx macx mac darwin unix
+ QMAKE_PLATFORM = macos osx macx mac darwin unix
else:equals(TARGET_PLATFORM, win32): \
QMAKE_PLATFORM = win32
else: \
error("Qmake spec sets an invalid TARGET_PLATFORM.")
}
-contains(QMAKE_PLATFORM, macx):!contains(QMAKE_PLATFORM, osx) {
- warning("qmake spec specifies platform macx, but not osx.")
- QMAKE_PLATFORM = osx $$QMAKE_PLATFORM
+contains(QMAKE_PLATFORM, macx) {
+ !contains(QMAKE_PLATFORM, osx) {
+ warning("qmake spec specified platform macx, but not osx.");
+ QMAKE_PLATFORM = osx $$QMAKE_PLATFORM
+ }
+
+ !contains(QMAKE_PLATFORM, macos) {
+ warning("qmake spec specifies platform macx, but not macos.")
+ QMAKE_PLATFORM = macos $$QMAKE_PLATFORM
+ }
}
CONFIG += $$QMAKE_PLATFORM
diff --git a/mkspecs/freebsd-clang/qmake.conf b/mkspecs/freebsd-clang/qmake.conf
index 0d6401f2f5..10bb4a3723 100644
--- a/mkspecs/freebsd-clang/qmake.conf
+++ b/mkspecs/freebsd-clang/qmake.conf
@@ -3,34 +3,16 @@
#
MAKEFILE_GENERATOR = UNIX
-QMAKE_PLATFORM = freebsd bsd
+QMAKE_PLATFORM = freebsd
-include(../common/unix.conf)
+include(../common/bsd/bsd.conf)
-QMAKE_CFLAGS_THREAD = -pthread
-
-QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
-
-# Addon software goes into /usr/local on the BSDs, by default we will look there
+# Addon software goes into /usr/local on FreeBSD, by default we will look there
QMAKE_INCDIR = /usr/local/include
QMAKE_LIBDIR = /usr/local/lib
QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined
-QMAKE_LFLAGS_THREAD = -pthread
-
-QMAKE_LIBS =
-QMAKE_LIBS_DYNLOAD =
-QMAKE_LIBS_EXECINFO = -lexecinfo
-QMAKE_LIBS_X11 = -lXext -lX11 -lm
-QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD =
-
-QMAKE_AR = ar cqs
-QMAKE_OBJCOPY = objcopy
-QMAKE_NM = nm -P
-QMAKE_RANLIB =
include(../common/gcc-base-unix.conf)
include(../common/clang.conf)
-
load(qt_config)
diff --git a/mkspecs/freebsd-clang/qplatformdefs.h b/mkspecs/freebsd-clang/qplatformdefs.h
index d92eadd7e8..0e3fd6b2b8 100644
--- a/mkspecs/freebsd-clang/qplatformdefs.h
+++ b/mkspecs/freebsd-clang/qplatformdefs.h
@@ -40,47 +40,6 @@
#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 <unistd.h>
-
-
-// We are hot - unistd.h should have turned on the specific APIs we requested
-
-
-#include <pthread.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <grp.h>
-#include <pwd.h>
-#include <signal.h>
-#include <dlfcn.h>
-
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/ipc.h>
-#include <sys/time.h>
-#include <sys/shm.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <netinet/in.h>
-#ifndef QT_NO_IPV6IFNAME
-#include <net/if.h>
-#endif
-
-#include "../common/posix/qplatformdefs.h"
-
-#undef QT_OPEN_LARGEFILE
-
-#define QT_OPEN_LARGEFILE 0
-
-#define QT_SNPRINTF ::snprintf
-#define QT_VSNPRINTF ::vsnprintf
+#include "../common/bsd/qplatformdefs.h"
#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/freebsd-g++/qmake.conf b/mkspecs/freebsd-g++/qmake.conf
index 56529389f6..1f4448889e 100644
--- a/mkspecs/freebsd-g++/qmake.conf
+++ b/mkspecs/freebsd-g++/qmake.conf
@@ -3,32 +3,14 @@
#
MAKEFILE_GENERATOR = UNIX
-QMAKE_PLATFORM = freebsd bsd
+QMAKE_PLATFORM = freebsd
-include(../common/unix.conf)
+include(../common/bsd/bsd.conf)
-QMAKE_CFLAGS_THREAD = -pthread
-
-QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
-
-# Addon software goes into /usr/local on the BSDs, by default we will look there
+# Addon software goes into /usr/local on FreeBSD, by default we will look there
QMAKE_INCDIR = /usr/local/include
QMAKE_LIBDIR = /usr/local/lib
-QMAKE_LFLAGS_THREAD = -pthread
-
-QMAKE_LIBS =
-QMAKE_LIBS_DYNLOAD =
-QMAKE_LIBS_EXECINFO = -lexecinfo
-QMAKE_LIBS_X11 = -lXext -lX11 -lm
-QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD =
-
-QMAKE_AR = ar cqs
-QMAKE_OBJCOPY = objcopy
-QMAKE_NM = nm -P
-QMAKE_RANLIB =
-
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
load(qt_config)
diff --git a/mkspecs/freebsd-g++/qplatformdefs.h b/mkspecs/freebsd-g++/qplatformdefs.h
index a7305fe8ea..0e3fd6b2b8 100644
--- a/mkspecs/freebsd-g++/qplatformdefs.h
+++ b/mkspecs/freebsd-g++/qplatformdefs.h
@@ -37,4 +37,9 @@
**
****************************************************************************/
-#include "../freebsd-clang/qplatformdefs.h"
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#include "../common/bsd/qplatformdefs.h"
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf
index ddd82326af..31005d9134 100644
--- a/mkspecs/netbsd-g++/qmake.conf
+++ b/mkspecs/netbsd-g++/qmake.conf
@@ -3,35 +3,20 @@
#
MAKEFILE_GENERATOR = UNIX
-QMAKE_PLATFORM = netbsd bsd
+QMAKE_PLATFORM = netbsd
-include(../common/unix.conf)
-include(../common/gcc-base-unix.conf)
-include(../common/g++-unix.conf)
-
-QMAKE_CFLAGS_THREAD = -pthread
-
-QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+include(../common/bsd/bsd.conf)
+# Addon software goes into /usr/pkg on NetBSD, by default we will look there
QMAKE_INCDIR = /usr/pkg/include
QMAKE_LIBDIR = /usr/pkg/lib
+
+# System provided X11 defaults to X11R7 path on NetBSD since 5.0
QMAKE_INCDIR_X11 = /usr/X11R7/include
QMAKE_LIBDIR_X11 = /usr/X11R7/lib
QMAKE_INCDIR_OPENGL = /usr/X11R7/include
QMAKE_LIBDIR_OPENGL = /usr/X11R7/lib
-QMAKE_LFLAGS_THREAD = -pthread
-
-QMAKE_LIBS =
-QMAKE_LIBS_DYNLOAD =
-QMAKE_LIBS_EXECINFO = -lexecinfo
-QMAKE_LIBS_X11 = -lXext -lX11 -lm
-QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD =
-
-QMAKE_AR = ar cqs
-QMAKE_OBJCOPY = objcopy
-QMAKE_NM = nm -P
-QMAKE_RANLIB =
-
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
load(qt_config)
diff --git a/mkspecs/netbsd-g++/qplatformdefs.h b/mkspecs/netbsd-g++/qplatformdefs.h
index f039ec70d1..0e3fd6b2b8 100644
--- a/mkspecs/netbsd-g++/qplatformdefs.h
+++ b/mkspecs/netbsd-g++/qplatformdefs.h
@@ -40,45 +40,6 @@
#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 <unistd.h>
-
-
-// We are hot - unistd.h should have turned on the specific APIs we requested
-
-
-#include <pthread.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <grp.h>
-#include <pwd.h>
-#include <signal.h>
-#include <dlfcn.h>
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/ipc.h>
-#include <sys/time.h>
-#include <sys/shm.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <netinet/in.h>
-#ifndef QT_NO_IPV6IFNAME
-#include <net/if.h>
-#endif
-
-#include "../common/posix/qplatformdefs.h"
-
-#undef QT_OPEN_LARGEFILE
-#define QT_OPEN_LARGEFILE 0
-
-#define QT_SNPRINTF ::snprintf
-#define QT_VSNPRINTF ::vsnprintf
+#include "../common/bsd/qplatformdefs.h"
#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/openbsd-g++/qmake.conf b/mkspecs/openbsd-g++/qmake.conf
index 9b280891df..e7ac523486 100644
--- a/mkspecs/openbsd-g++/qmake.conf
+++ b/mkspecs/openbsd-g++/qmake.conf
@@ -3,36 +3,24 @@
#
MAKEFILE_GENERATOR = UNIX
-QMAKE_PLATFORM = openbsd bsd
+QMAKE_PLATFORM = openbsd
-include(../common/unix.conf)
-include(../common/gcc-base-unix.conf)
-include(../common/g++-unix.conf)
-
-QMAKE_CFLAGS_THREAD = -pthread
-
-QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+include(../common/bsd/bsd.conf)
+# Addon software goes into /usr/local on OpenBSD, by default we will look there
QMAKE_INCDIR = /usr/local/include
QMAKE_LIBDIR = /usr/local/lib
+
+# System provided X11 defaults to X11R6 path on OpenBSD
QMAKE_INCDIR_X11 = /usr/X11R6/include
QMAKE_LIBDIR_X11 = /usr/X11R6/lib
QMAKE_INCDIR_OPENGL = /usr/X11R6/include
QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
-QMAKE_LFLAGS_THREAD = -pthread
-QMAKE_LFLAGS_NOUNDEF =
-
-QMAKE_LIBS =
-QMAKE_LIBS_DYNLOAD =
-QMAKE_LIBS_EXECINFO = -lexecinfo
-QMAKE_LIBS_X11 = -lXext -lX11 -lm
-QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD =
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
-QMAKE_AR = ar cqs
-QMAKE_OBJCOPY = objcopy
-QMAKE_NM = nm -P
-QMAKE_RANLIB =
+# Reset g++-unix.conf's NOUNDEF flags as OpenBSD libc can't handle environ
+QMAKE_LFLAGS_NOUNDEF =
load(qt_config)
diff --git a/mkspecs/openbsd-g++/qplatformdefs.h b/mkspecs/openbsd-g++/qplatformdefs.h
index 4fe2eb8434..0e3fd6b2b8 100644
--- a/mkspecs/openbsd-g++/qplatformdefs.h
+++ b/mkspecs/openbsd-g++/qplatformdefs.h
@@ -40,46 +40,6 @@
#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 <unistd.h>
-
-
-// We are hot - unistd.h should have turned on the specific APIs we requested
-
-
-#include <pthread.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <grp.h>
-#include <pwd.h>
-#include <signal.h>
-#include <dlfcn.h>
-
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/ipc.h>
-#include <sys/time.h>
-#include <sys/shm.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <netinet/in.h>
-#ifndef QT_NO_IPV6IFNAME
-#include <net/if.h>
-#endif
-
-#include "../common/posix/qplatformdefs.h"
-
-#undef QT_OPEN_LARGEFILE
-#define QT_OPEN_LARGEFILE 0
-
-#define QT_SNPRINTF ::snprintf
-#define QT_VSNPRINTF ::vsnprintf
+#include "../common/bsd/qplatformdefs.h"
#endif // QPLATFORMDEFS_H