Add mkspecs for build with Clang
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>pull/1/head
parent
ebdf0b2845
commit
1de7443921
@ -0,0 +1,81 @@
|
|||||||
|
#
|
||||||
|
#
|
||||||
|
# qmake configuration for freebsd-clang
|
||||||
|
#
|
||||||
|
|
||||||
|
MAKEFILE_GENERATOR = UNIX
|
||||||
|
TEMPLATE = app
|
||||||
|
CONFIG += qt warn_on release thread link_prl
|
||||||
|
|
||||||
|
QMAKE_CC = clang
|
||||||
|
QMAKE_LEX = flex
|
||||||
|
QMAKE_LEXFLAGS =
|
||||||
|
QMAKE_YACC = yacc
|
||||||
|
QMAKE_YACCFLAGS = -d
|
||||||
|
QMAKE_CFLAGS = -pipe
|
||||||
|
QMAKE_CFLAGS_DEPS = -M
|
||||||
|
QMAKE_CFLAGS_WARN_ON = -Wall -W
|
||||||
|
QMAKE_CFLAGS_WARN_OFF = -w
|
||||||
|
QMAKE_CFLAGS_RELEASE = -O2
|
||||||
|
QMAKE_CFLAGS_DEBUG = -g
|
||||||
|
QMAKE_CFLAGS_SHLIB = -fPIC
|
||||||
|
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
|
||||||
|
QMAKE_CFLAGS_THREAD = -pthread -D_THREAD_SAFE
|
||||||
|
|
||||||
|
QMAKE_CXX = clang++
|
||||||
|
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
|
||||||
|
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
|
||||||
|
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
||||||
|
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
|
||||||
|
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
|
||||||
|
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
|
||||||
|
QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
|
||||||
|
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
|
||||||
|
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
|
||||||
|
|
||||||
|
# Addon software goes into /usr/local on the BSDs, by default we will look there
|
||||||
|
QMAKE_INCDIR = /usr/local/include
|
||||||
|
QMAKE_LIBDIR = /usr/local/lib
|
||||||
|
QMAKE_INCDIR_X11 = /usr/X11R6/include
|
||||||
|
QMAKE_LIBDIR_X11 = /usr/X11R6/lib
|
||||||
|
QMAKE_INCDIR_QT = $(QTDIR)/include
|
||||||
|
QMAKE_LIBDIR_QT = $(QTDIR)/lib
|
||||||
|
QMAKE_INCDIR_OPENGL = /usr/X11R6/include
|
||||||
|
QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
|
||||||
|
|
||||||
|
QMAKE_LINK = clang++
|
||||||
|
QMAKE_LINK_SHLIB = clang++
|
||||||
|
QMAKE_LFLAGS =
|
||||||
|
QMAKE_LFLAGS_RELEASE =
|
||||||
|
QMAKE_LFLAGS_DEBUG =
|
||||||
|
QMAKE_LFLAGS_SHLIB = -shared
|
||||||
|
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
|
||||||
|
QMAKE_LFLAGS_SONAME = -Wl,-soname,
|
||||||
|
QMAKE_LFLAGS_THREAD = -pthread
|
||||||
|
QMAKE_RPATH = -Wl,-rpath,
|
||||||
|
|
||||||
|
QMAKE_LIBS =
|
||||||
|
QMAKE_LIBS_DYNLOAD =
|
||||||
|
QMAKE_LIBS_X11 = -lXext -lX11 -lm
|
||||||
|
QMAKE_LIBS_X11SM = -lSM -lICE
|
||||||
|
QMAKE_LIBS_QT = -lqt
|
||||||
|
QMAKE_LIBS_QT_THREAD = -ltqt-mt
|
||||||
|
QMAKE_LIBS_OPENGL = -lGLU -lGL -lXmu
|
||||||
|
QMAKE_LIBS_OPENGL_QT = -lGL -lXmu
|
||||||
|
QMAKE_LIBS_THREAD =
|
||||||
|
|
||||||
|
QMAKE_MOC = $(QTDIR)/bin/tqmoc
|
||||||
|
QMAKE_UIC = $(QTDIR)/bin/tquic
|
||||||
|
|
||||||
|
QMAKE_AR = ar cqs
|
||||||
|
QMAKE_RANLIB =
|
||||||
|
|
||||||
|
QMAKE_TAR = tar -cf
|
||||||
|
QMAKE_GZIP = gzip -9f
|
||||||
|
|
||||||
|
QMAKE_COPY = cp -f
|
||||||
|
QMAKE_MOVE = mv -f
|
||||||
|
QMAKE_DEL_FILE = rm -f
|
||||||
|
QMAKE_DEL_DIR = rmdir
|
||||||
|
QMAKE_CHK_DIR_EXISTS = test -d
|
||||||
|
QMAKE_MKDIR = mkdir -p
|
@ -0,0 +1,103 @@
|
|||||||
|
#ifndef TQPLATFORMDEFS_H
|
||||||
|
#define TQPLATFORMDEFS_H
|
||||||
|
|
||||||
|
// Get TQt defines/settings
|
||||||
|
|
||||||
|
#include "ntqglobal.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
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef QT_THREAD_SUPPORT
|
||||||
|
#include <pthread.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#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>
|
||||||
|
|
||||||
|
// DNS header files are not fully covered by X/Open specifications.
|
||||||
|
// In particular nothing is said about res_* :/
|
||||||
|
// On BSDs header files <netinet/in.h> and <arpa/nameser.h> are not
|
||||||
|
// included by <resolv.h>. Note that <arpa/nameser.h> must be included
|
||||||
|
// before <resolv.h>.
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#define class c_class // FreeeBSD 3.x
|
||||||
|
#include <arpa/nameser.h>
|
||||||
|
#undef class
|
||||||
|
#include <resolv.h>
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(QT_NO_COMPAT)
|
||||||
|
#define QT_STATBUF struct stat
|
||||||
|
#define QT_STATBUF4TSTAT struct stat
|
||||||
|
#define QT_STAT ::stat
|
||||||
|
#define QT_FSTAT ::fstat
|
||||||
|
#define QT_STAT_REG S_IFREG
|
||||||
|
#define QT_STAT_DIR S_IFDIR
|
||||||
|
#define QT_STAT_MASK S_IFMT
|
||||||
|
#define QT_STAT_LNK S_IFLNK
|
||||||
|
#define QT_FILENO fileno
|
||||||
|
#define QT_OPEN ::open
|
||||||
|
#define QT_CLOSE ::close
|
||||||
|
#define QT_LSEEK ::lseek
|
||||||
|
#define QT_READ ::read
|
||||||
|
#define QT_WRITE ::write
|
||||||
|
#define QT_ACCESS ::access
|
||||||
|
#define QT_GETCWD ::getcwd
|
||||||
|
#define QT_CHDIR ::chdir
|
||||||
|
#define QT_MKDIR ::mkdir
|
||||||
|
#define QT_RMDIR ::rmdir
|
||||||
|
#define QT_OPEN_RDONLY O_RDONLY
|
||||||
|
#define QT_OPEN_WRONLY O_WRONLY
|
||||||
|
#define QT_OPEN_RDWR O_RDWR
|
||||||
|
#define QT_OPEN_CREAT O_CREAT
|
||||||
|
#define QT_OPEN_TRUNC O_TRUNC
|
||||||
|
#define QT_OPEN_APPEND O_APPEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define QT_SIGNAL_RETTYPE void
|
||||||
|
#define QT_SIGNAL_ARGS int
|
||||||
|
#define QT_SIGNAL_IGNORE SIG_IGN
|
||||||
|
|
||||||
|
#if !defined(__DragonFly__) && __FreeBSD_version < 400000
|
||||||
|
// FreeBSD 1.0 - 3.5.1
|
||||||
|
# define QT_SOCKLEN_T int
|
||||||
|
#else
|
||||||
|
// FreeBSD 4.0 - 5.0
|
||||||
|
# define QT_SOCKLEN_T socklen_t
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define QT_SNPRINTF ::snprintf
|
||||||
|
#define QT_VSNPRINTF ::vsnprintf
|
||||||
|
|
||||||
|
// Older FreeBSD versions may still use the a.out format instead of ELF.
|
||||||
|
// From the FreeBSD man pages:
|
||||||
|
// In previous implementations, it was necessary to prepend an
|
||||||
|
// underscore to all external symbols in order to gain symbol
|
||||||
|
// compatibility with object code compiled from the C language.
|
||||||
|
// This is still the case when using the (obsolete) -aout option to
|
||||||
|
// the C language compiler.
|
||||||
|
#ifndef __ELF__
|
||||||
|
#define QT_AOUT_UNDERSCORE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif // TQPLATFORMDEFS_H
|
@ -0,0 +1,89 @@
|
|||||||
|
#
|
||||||
|
#
|
||||||
|
# qmake configuration for linux-clang
|
||||||
|
#
|
||||||
|
|
||||||
|
MAKEFILE_GENERATOR = UNIX
|
||||||
|
TEMPLATE = app
|
||||||
|
CONFIG += qt warn_on release incremental link_prl thread
|
||||||
|
QMAKE_INCREMENTAL_STYLE = sublib
|
||||||
|
|
||||||
|
QMAKE_CC = clang
|
||||||
|
QMAKE_LEX = flex
|
||||||
|
QMAKE_LEXFLAGS =
|
||||||
|
QMAKE_YACC = yacc
|
||||||
|
QMAKE_YACCFLAGS = -d
|
||||||
|
QMAKE_YACCFLAGS_MANGLE = -p $base -b $base
|
||||||
|
QMAKE_YACC_HEADER = $base.tab.h
|
||||||
|
QMAKE_YACC_SOURCE = $base.tab.c
|
||||||
|
QMAKE_CFLAGS = -pipe -g -fvisibility=hidden -fvisibility-inlines-hidden
|
||||||
|
QMAKE_CFLAGS_DEPS = -M
|
||||||
|
QMAKE_CFLAGS_WARN_ON = -Wall -W
|
||||||
|
QMAKE_CFLAGS_WARN_OFF = -w
|
||||||
|
QMAKE_CFLAGS_RELEASE = -O2
|
||||||
|
QMAKE_CFLAGS_DEBUG = -O0
|
||||||
|
QMAKE_CFLAGS_SHLIB = -fPIC
|
||||||
|
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
|
||||||
|
QMAKE_CFLAGS_THREAD = -D_REENTRANT
|
||||||
|
|
||||||
|
QMAKE_CXX = clang++
|
||||||
|
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
|
||||||
|
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
|
||||||
|
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
||||||
|
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
|
||||||
|
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
|
||||||
|
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
|
||||||
|
QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
|
||||||
|
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
|
||||||
|
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
|
||||||
|
|
||||||
|
QMAKE_INCDIR =
|
||||||
|
QMAKE_LIBDIR =
|
||||||
|
QMAKE_INCDIR_X11 = /usr/X11R6/include
|
||||||
|
QMAKE_LIBDIR_X11 = /usr/X11R6/lib
|
||||||
|
QMAKE_INCDIR_QT = $(QTDIR)/include
|
||||||
|
QMAKE_LIBDIR_QT = $(QTDIR)/lib
|
||||||
|
QMAKE_INCDIR_OPENGL = /usr/X11R6/include
|
||||||
|
QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
|
||||||
|
|
||||||
|
QMAKE_LINK = clang++
|
||||||
|
QMAKE_LINK_SHLIB = clang++
|
||||||
|
QMAKE_LFLAGS = -luuid
|
||||||
|
QMAKE_LFLAGS_RELEASE =
|
||||||
|
QMAKE_LFLAGS_DEBUG =
|
||||||
|
QMAKE_LFLAGS_SHLIB = -shared
|
||||||
|
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
|
||||||
|
QMAKE_LFLAGS_SONAME = -Wl,-soname,
|
||||||
|
QMAKE_LFLAGS_THREAD =
|
||||||
|
QMAKE_RPATH = -Wl,-rpath,
|
||||||
|
|
||||||
|
QMAKE_LIBS = -luuid
|
||||||
|
QMAKE_LIBS_DYNLOAD = -ldl
|
||||||
|
QMAKE_LIBS_X11 = -lXext -lX11 -lm
|
||||||
|
QMAKE_LIBS_X11SM = -lSM -lICE
|
||||||
|
QMAKE_LIBS_NIS = -lnsl
|
||||||
|
QMAKE_LIBS_QT = -lqt
|
||||||
|
QMAKE_LIBS_QT_THREAD = -ltqt-mt
|
||||||
|
QMAKE_LIBS_OPENGL = -lGLU -lGL -lXmu
|
||||||
|
QMAKE_LIBS_OPENGL_QT = -lGL -lXmu
|
||||||
|
QMAKE_LIBS_THREAD = -lpthread
|
||||||
|
|
||||||
|
QMAKE_MOC = $(QTDIR)/bin/tqmoc
|
||||||
|
QMAKE_UIC = $(QTDIR)/bin/tquic
|
||||||
|
|
||||||
|
QMAKE_AR = ar cqs
|
||||||
|
QMAKE_RANLIB =
|
||||||
|
|
||||||
|
QMAKE_TAR = tar -cf
|
||||||
|
QMAKE_GZIP = gzip -9f
|
||||||
|
|
||||||
|
QMAKE_COPY = cp -f
|
||||||
|
QMAKE_COPY_FILE = $(COPY)
|
||||||
|
QMAKE_COPY_DIR = $(COPY) -r
|
||||||
|
QMAKE_MOVE = mv -f
|
||||||
|
QMAKE_DEL_FILE = rm -f
|
||||||
|
QMAKE_DEL_DIR = rmdir
|
||||||
|
QMAKE_STRIP =
|
||||||
|
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
||||||
|
QMAKE_CHK_DIR_EXISTS = test -d
|
||||||
|
QMAKE_MKDIR = mkdir -p
|
@ -0,0 +1,107 @@
|
|||||||
|
#ifndef TQPLATFORMDEFS_H
|
||||||
|
#define TQPLATFORMDEFS_H
|
||||||
|
|
||||||
|
// Get TQt defines/settings
|
||||||
|
|
||||||
|
#include "ntqglobal.h"
|
||||||
|
|
||||||
|
// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
|
||||||
|
|
||||||
|
// DNS system header files are a mess!
|
||||||
|
// <resolv.h> includes <arpa/nameser.h>. <arpa/nameser.h> is using
|
||||||
|
// 'u_char' and includes <sys/types.h>. Now the problem is that
|
||||||
|
// <sys/types.h> defines 'u_char' only if __USE_BSD is defined.
|
||||||
|
// __USE_BSD is defined in <features.h> if _BSD_SOURCE is defined.
|
||||||
|
#ifndef _BSD_SOURCE
|
||||||
|
# define _BSD_SOURCE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// 1) need to reset default environment if _BSD_SOURCE is defined
|
||||||
|
// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
|
||||||
|
// 3) it seems older glibc need this to include the X/Open stuff
|
||||||
|
#ifndef _GNU_SOURCE
|
||||||
|
# define _GNU_SOURCE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
|
||||||
|
// We are hot - unistd.h should have turned on the specific APIs we requested
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef QT_THREAD_SUPPORT
|
||||||
|
#include <pthread.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#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>
|
||||||
|
|
||||||
|
// DNS header files are not fully covered by X/Open specifications.
|
||||||
|
// In particular nothing is said about res_* :/
|
||||||
|
// Header files <netinet/in.h> and <arpa/nameser.h> are not included
|
||||||
|
// by <resolv.h> on older versions of the GNU C library. Note that
|
||||||
|
// <arpa/nameser.h> must be included before <resolv.h>.
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <arpa/nameser.h>
|
||||||
|
#include <resolv.h>
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(QT_NO_COMPAT)
|
||||||
|
#define QT_STATBUF struct stat
|
||||||
|
#define QT_STATBUF4TSTAT struct stat
|
||||||
|
#define QT_STAT ::stat
|
||||||
|
#define QT_FSTAT ::fstat
|
||||||
|
#define QT_STAT_REG S_IFREG
|
||||||
|
#define QT_STAT_DIR S_IFDIR
|
||||||
|
#define QT_STAT_MASK S_IFMT
|
||||||
|
#define QT_STAT_LNK S_IFLNK
|
||||||
|
#define QT_FILENO fileno
|
||||||
|
#define QT_OPEN ::open
|
||||||
|
#define QT_CLOSE ::close
|
||||||
|
#define QT_LSEEK ::lseek
|
||||||
|
#define QT_READ ::read
|
||||||
|
#define QT_WRITE ::write
|
||||||
|
#define QT_ACCESS ::access
|
||||||
|
#define QT_GETCWD ::getcwd
|
||||||
|
#define QT_CHDIR ::chdir
|
||||||
|
#define QT_MKDIR ::mkdir
|
||||||
|
#define QT_RMDIR ::rmdir
|
||||||
|
#define QT_OPEN_RDONLY O_RDONLY
|
||||||
|
#define QT_OPEN_WRONLY O_WRONLY
|
||||||
|
#define QT_OPEN_RDWR O_RDWR
|
||||||
|
#define QT_OPEN_CREAT O_CREAT
|
||||||
|
#define QT_OPEN_TRUNC O_TRUNC
|
||||||
|
#define QT_OPEN_APPEND O_APPEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define QT_SIGNAL_RETTYPE void
|
||||||
|
#define QT_SIGNAL_ARGS int
|
||||||
|
#define QT_SIGNAL_IGNORE SIG_IGN
|
||||||
|
|
||||||
|
#if defined(__GLIBC__) && (__GLIBC__ >= 2)
|
||||||
|
#define QT_SOCKLEN_T socklen_t
|
||||||
|
#else
|
||||||
|
#define QT_SOCKLEN_T int
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
|
||||||
|
#define QT_SNPRINTF ::snprintf
|
||||||
|
#define QT_VSNPRINTF ::vsnprintf
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define QT_MITSHM
|
||||||
|
|
||||||
|
#endif // TQPLATFORMDEFS_H
|
Loading…
Reference in New Issue