From 496036748def0ba6018089050f4a196b4356cb83 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Thu, 6 Oct 2011 19:30:56 +0300 Subject: [PATCH] [clang][mac] Fixed clang toolchain --- tools/mkspecs/macx-clang/mac-clang.conf | 76 +++++++++++++++++++++++++ tools/mkspecs/macx-clang/mac.conf | 44 ++++++++++++++ tools/mkspecs/macx-clang/qmake.conf | 2 +- tools/mkspecs/macx-clang/unix.conf | 14 +++++ 4 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 tools/mkspecs/macx-clang/mac-clang.conf create mode 100644 tools/mkspecs/macx-clang/mac.conf create mode 100644 tools/mkspecs/macx-clang/unix.conf diff --git a/tools/mkspecs/macx-clang/mac-clang.conf b/tools/mkspecs/macx-clang/mac-clang.conf new file mode 100644 index 0000000000..7c0a7c38bb --- /dev/null +++ b/tools/mkspecs/macx-clang/mac-clang.conf @@ -0,0 +1,76 @@ +# +# qmake configuration for common gcc on Mac OS X +# + +include(mac.conf) + +QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__ +QMAKE_CC = clang +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_STATIC_LIB += -fPIC +QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses +QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden +QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE} + +QMAKE_CFLAGS_PPC_64 += -arch ppc64 +QMAKE_OBJECTIVE_CFLAGS_PPC_64 += -arch ppc64 +QMAKE_CFLAGS_X86_64 += -arch x86_64 +QMAKE_OBJECTIVE_CFLAGS_X86_64 += -arch x86_64 +QMAKE_CFLAGS_PPC += -arch ppc +QMAKE_OBJECTIVE_CFLAGS_PPC += -arch ppc +QMAKE_CFLAGS_X86 += -arch i386 +QMAKE_OBJECTIVE_CFLAGS_X86 += -arch i386 +QMAKE_CFLAGS_DWARF2 += -gdwarf-2 + +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_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB +QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden +QMAKE_CXXFLAGS_PPC_64 += -arch ppc64 +QMAKE_CXXFLAGS_X86_64 += -arch x86_64 +QMAKE_CXXFLAGS_PPC += -arch ppc +QMAKE_CXXFLAGS_X86 += -arch i386 +QMAKE_CXXFLAGS_DWARF2 += $$QMAKE_CFLAGS_DWARF2 +QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX +QMAKE_LFLAGS += -headerpad_max_install_names +QMAKE_LFLAGS_RELEASE += +QMAKE_LFLAGS_DEBUG += +QMAKE_LFLAGS_APP += +QMAKE_LFLAGS_SHLIB += -single_module -dynamiclib +QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB +QMAKE_LFLAGS_THREAD += +QMAKE_LFLAGS_INCREMENTAL+= -undefined suppress -flat_namespace +QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE} +QMAKE_LFLAGS_PPC_64 += -arch ppc64 +QMAKE_LFLAGS_X86_64 += -arch x86_64 +QMAKE_LFLAGS_PPC += -arch ppc +QMAKE_LFLAGS_X86 += -arch i386 +QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE} +QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE} +QMAKE_LFLAGS_RPATH += + +QMAKE_PCH_OUTPUT_EXT = .gch + +QMAKE_OBJCFLAGS_PRECOMPILE += -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE + +QMAKE_OBJCXXFLAGS_PRECOMPILE += -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/tools/mkspecs/macx-clang/mac.conf b/tools/mkspecs/macx-clang/mac.conf new file mode 100644 index 0000000000..cbc7f6cd46 --- /dev/null +++ b/tools/mkspecs/macx-clang/mac.conf @@ -0,0 +1,44 @@ +# +# qmake configuration for common Mac OS X +# + +QMAKE_RESOURCE = /Developer/Tools/Rez + +QMAKE_EXTENSION_SHLIB = dylib + +QMAKE_LIBDIR = +QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] +QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] +QMAKE_INCDIR_OPENGL = /System/Library/Frameworks/OpenGL.framework/Headers \ + /System/Library/Frameworks/AGL.framework/Headers/ + +QMAKE_FIX_RPATH = install_name_tool -id + +QMAKE_LFLAGS_RPATH = + +QMAKE_LIBS_DYNLOAD = +QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL +QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL +QMAKE_LIBS_THREAD = + +QMAKE_MOC = $$[QT_INSTALL_BINS]/moc +QMAKE_UIC = $$[QT_INSTALL_BINS]/uic + +QMAKE_AR = ar cq +QMAKE_RANLIB = ranlib -s + +QMAKE_TAR = tar -cf +QMAKE_GZIP = gzip -9f + +QMAKE_COPY = cp -f +QMAKE_COPY_FILE = $$QMAKE_COPY +QMAKE_COPY_DIR = $$QMAKE_COPY -R +QMAKE_MOVE = mv -f +QMAKE_DEL_FILE = rm -f +QMAKE_DEL_DIR = rmdir +QMAKE_CHK_DIR_EXISTS = test -d +QMAKE_MKDIR = mkdir -p +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6 # overridden to 10.5 for Cocoa on the compiler command line + + +include(unix.conf) diff --git a/tools/mkspecs/macx-clang/qmake.conf b/tools/mkspecs/macx-clang/qmake.conf index 2723c8b0d5..2a43f17d8f 100644 --- a/tools/mkspecs/macx-clang/qmake.conf +++ b/tools/mkspecs/macx-clang/qmake.conf @@ -13,7 +13,7 @@ CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib QT += core gui QMAKE_INCREMENTAL_STYLE = sublib -include(/Users/Alex/QtSDK/Desktop/Qt/474/gcc/mkspecs/common/mac-llvm.conf) +include(mac-clang.conf) QMAKE_CC = clang QMAKE_CXX = clang++ diff --git a/tools/mkspecs/macx-clang/unix.conf b/tools/mkspecs/macx-clang/unix.conf new file mode 100644 index 0000000000..c480ba4407 --- /dev/null +++ b/tools/mkspecs/macx-clang/unix.conf @@ -0,0 +1,14 @@ +# +# qmake configuration for common unix +# + +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_PREFIX_SHLIB = lib +QMAKE_PREFIX_STATICLIB = lib +QMAKE_EXTENSION_STATICLIB = a