[Interest] [OS X] qmake -spec macx-clang-32 on a 64bit system

René J.V. Bertin rjvbertin at gmail.com
Tue Mar 10 14:29:35 CET 2015


Hello,

I am getting strange behaviour from qmake, trying to generate a 32bit build with it on a 64bit system. qmake in fact seems to ignore the -spec argument (as long as it's not in error, that is). I get exactly the same Makefile even when I tell qmake to use linux-g++, for instance ...
And this time I can rule out any interference from the MacPorts runtime:

%> ( cd qt5dsql3-mp9-work/qt-everywhere-opensource-src-5.4.1-i386/qtbase/src/plugins/sqldrivers/sqlite ; /opt/local/libexec/qt5/bin/qmake -r PREFIX=/opt/local QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9 CONFIG+=release INCLUDEPATH+=/opt/local/include LIBS+="-L/opt/local/lib -lsqlite3" -spec macx-clang-32 )

%> head qt5dsql3-mp9-work/qt-everywhere-opensource-src-5.4.1-i386/qtbase/src/plugins/sqldrivers/sqlite/Makefile
#############################################################################
# Makefile for building: libqsqlite.dylib
# Generated by qmake (3.0) (Qt 5.4.1)
# Project:  sqlite.pro
# Template: lib
# Command: /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9 CONFIG+=release INCLUDEPATH+=/opt/local/include LIBS+=-L/opt/local/lib\ -lsqlite3 -spec macx-clang-32 -o Makefile sqlite.pro
#############################################################################

MAKEFILE      = Makefile

####### Compiler, tools and options

CC            = /usr/bin/clang -arch x86_64
CXX           = /usr/bin/clang++ -arch x86_64
DEFINES       = -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB
CFLAGS        = -Os -arch x86_64 -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.9 -fvisibility=hidden -fno-exceptions -Wall -W -fPIC $(DEFINES)
CXXFLAGS      = -Os -arch x86_64 -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.9 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -fPIC $(DEFINES)

%> cat qt5dsql3-mp9-work/qt-everywhere-opensource-src-5.4.1-i386/qtbase/.qmake.stash
QMAKE_XCODE_DEVELOPER_PATH = /Applications/Xcode.app/Contents/Developer
QMAKE_XCODE_VERSION = 6.1.1
QMAKE_MAC_SDK.macosx.path = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
QMAKE_MAC_SDK.macosx.version = 10.9
QMAKE_MAC_SDK.macx-clang-32.macosx.QMAKE_CC = \
    /usr/bin/clang \
    -arch \
    x86_64
QMAKE_MAC_SDK.macx-clang-32.macosx.QMAKE_CXX = \
    /usr/bin/clang++ \
    -arch \
    x86_64
QMAKE_MAC_SDK.macx-clang-32.macosx.QMAKE_FIX_RPATH = \
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool \
    -id
QMAKE_MAC_SDK.macx-clang-32.macosx.QMAKE_AR = \
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar \
    cq
QMAKE_MAC_SDK.macx-clang-32.macosx.QMAKE_RANLIB = \
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib \
    -s
QMAKE_MAC_SDK.macx-clang-32.macosx.QMAKE_LINK = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
QMAKE_MAC_SDK.macx-clang-32.macosx.QMAKE_LINK_SHLIB = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
QMAKE_MAC_SDK.macosx.platform_name = macosx

%>  cat /opt/local/share/qt5/mkspecs/macx-clang-32/qmake.conf 
#
# qmake configuration for 32-bit Clang on OS X
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
include(../common/clang.conf)
include(../common/clang-mac.conf)

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7

QMAKE_CFLAGS           += -arch i386
QMAKE_OBJECTIVE_CFLAGS += -arch i386
QMAKE_CXXFLAGS         += -arch i386
QMAKE_LFLAGS           += -arch i386

load(qt_config)

%> /opt/local/libexec/qt5/bin/qmake -query
INCLUDEPATH:/opt/local/include
INCPATH:/opt/local/include
QMAKE_LIBDIR:/opt/local/lib
QT_SYSROOT:
QT_INSTALL_PREFIX:/opt/local
QT_INSTALL_ARCHDATA:/opt/local/libexec/qt5
QT_INSTALL_DATA:/opt/local/share/qt5
QT_INSTALL_DOCS:/opt/local/share/doc/qt5
QT_INSTALL_HEADERS:/opt/local/include/qt5
QT_INSTALL_LIBS:/opt/local/libexec/qt5/Library/Frameworks
QT_INSTALL_LIBEXECS:/opt/local/libexec/qt5/libexec
QT_INSTALL_BINS:/opt/local/libexec/qt5/bin
QT_INSTALL_TESTS:/opt/local/share/qt5/tests
QT_INSTALL_PLUGINS:/opt/local/share/qt5/plugins
QT_INSTALL_IMPORTS:/opt/local/share/qt5/imports
QT_INSTALL_QML:/opt/local/share/qt5/qml
QT_INSTALL_TRANSLATIONS:/opt/local/share/qt5/translations
QT_INSTALL_CONFIGURATION:/opt/local/etc/qt5
QT_INSTALL_EXAMPLES:/Applications/MacPorts/Qt5/examples
QT_INSTALL_DEMOS:/Applications/MacPorts/Qt5/examples
QT_HOST_PREFIX:/opt/local
QT_HOST_DATA:/opt/local/share/qt5
QT_HOST_BINS:/opt/local/libexec/qt5/bin
QT_HOST_LIBS:/opt/local/libexec/qt5/Library/Frameworks
QMAKE_SPEC:macx-clang
QMAKE_XSPEC:macx-clang
QMAKE_VERSION:3.0
QT_VERSION:5.4.1





More information about the Interest mailing list