summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Nolden <nolden@kde.org>2016-06-09 11:33:51 +0200
committerRalf Nolden <nolden@kde.org>2016-06-11 20:17:38 +0000
commit927f26c3512bbf5e17701eba6fd1de5bc7c0effa (patch)
treecc799193bde3cdc379b901a087f59cf44a917156
parentb465fe759695bb7e1de693c3d4d20acfd2c49779 (diff)
BSD mkspec cleanup for FreeBSD, NetBSD and OpenBSD to common namespace
BSD OS mkspecs share mainly the same configurations except very few differences. Merge into a common/bsd/bsd.conf file to be used across all BSD OSes in their respective qmake.conf and add a qplatformdefs.h that contain the common defines to be re-used in the BSD mkspecs. The change includes the usage of <sys/param.h> also on NetBSD through the common qplatformdefs.h, which is intended for using NetBSD's version defines. Change-Id: Ibb0ac9e4c8bb5aff7d0febdcab1a4b9600a61117 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--mkspecs/common/bsd/bsd.conf26
-rw-r--r--mkspecs/common/bsd/qplatformdefs.h79
-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
10 files changed, 136 insertions, 209 deletions
diff --git a/mkspecs/common/bsd/bsd.conf b/mkspecs/common/bsd/bsd.conf
new file mode 100644
index 0000000000..a56a8203dd
--- /dev/null
+++ b/mkspecs/common/bsd/bsd.conf
@@ -0,0 +1,26 @@
+#
+# 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_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 =
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/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 3a39b79c41..f70b9c0fa3 100644
--- a/mkspecs/freebsd-clang/qplatformdefs.h
+++ b/mkspecs/freebsd-clang/qplatformdefs.h
@@ -34,47 +34,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 aa51e08990..f70b9c0fa3 100644
--- a/mkspecs/freebsd-g++/qplatformdefs.h
+++ b/mkspecs/freebsd-g++/qplatformdefs.h
@@ -31,4 +31,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 bcba448e2c..f70b9c0fa3 100644
--- a/mkspecs/netbsd-g++/qplatformdefs.h
+++ b/mkspecs/netbsd-g++/qplatformdefs.h
@@ -34,45 +34,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 5776654121..f70b9c0fa3 100644
--- a/mkspecs/openbsd-g++/qplatformdefs.h
+++ b/mkspecs/openbsd-g++/qplatformdefs.h
@@ -34,46 +34,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