qtbase: replace g++.conf and linux.conf with qmake.conf
* g++.conf and linux.conf were outdated a lot, lacking new options like QMAKE_COMPILER causing a lot of warning like: Project WARNING: qmake spec does not announce the compiler family. Guessed gcc. * Instead of replacing whole common files, use custom qmake.conf which overwrites common setting after including it
This commit is contained in:
parent
de250e3d0e
commit
b78a292a58
|
@ -21,6 +21,7 @@ export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake"
|
||||||
export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/uic"
|
export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/uic"
|
||||||
export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/moc"
|
export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/moc"
|
||||||
export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/rcc"
|
export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/rcc"
|
||||||
|
export OE_QMAKE_COMPILER = "${CC}"
|
||||||
export OE_QMAKE_CC = "${CC}"
|
export OE_QMAKE_CC = "${CC}"
|
||||||
export OE_QMAKE_CFLAGS = "${CFLAGS}"
|
export OE_QMAKE_CFLAGS = "${CFLAGS}"
|
||||||
export OE_QMAKE_CXX = "${CXX}"
|
export OE_QMAKE_CXX = "${CXX}"
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
#
|
|
||||||
# qmake configuration for common gcc
|
|
||||||
#
|
|
||||||
|
|
||||||
QMAKE_CC = $(OE_QMAKE_CC)
|
|
||||||
QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
|
|
||||||
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
|
|
||||||
QMAKE_CFLAGS_DEPS += -M
|
|
||||||
QMAKE_CFLAGS_WARN_ON += -Wall -W
|
|
||||||
QMAKE_CFLAGS_WARN_OFF += -w
|
|
||||||
QMAKE_CFLAGS_RELEASE +=
|
|
||||||
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_CXX = $(OE_QMAKE_CXX)
|
|
||||||
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS $(OE_QMAKE_CXXFLAGS)
|
|
||||||
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_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
|
||||||
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_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
|
||||||
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
|
|
||||||
|
|
||||||
QMAKE_LINK = $(OE_QMAKE_LINK)
|
|
||||||
QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
|
|
||||||
QMAKE_LINK_C = $(OE_QMAKE_LINK)
|
|
||||||
QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
|
|
||||||
QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
|
|
||||||
QMAKE_LFLAGS_RELEASE +=
|
|
||||||
QMAKE_LFLAGS_DEBUG +=
|
|
||||||
QMAKE_LFLAGS_APP +=
|
|
||||||
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
|
|
||||||
QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
|
|
||||||
|
|
||||||
QMAKE_PCH_OUTPUT_EXT = .gch
|
|
||||||
|
|
||||||
# -Bsymbolic-functions (ld) support
|
|
||||||
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
|
|
||||||
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
|
|
||||||
|
|
||||||
# some linking helper...
|
|
||||||
CONFIG += rpath_libdirs
|
|
||||||
|
|
||||||
# for the SDK
|
|
||||||
isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
|
|
|
@ -1,74 +0,0 @@
|
||||||
#
|
|
||||||
# qmake configuration for common linux
|
|
||||||
#
|
|
||||||
|
|
||||||
QMAKE_CFLAGS_THREAD += -D_REENTRANT
|
|
||||||
QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
|
|
||||||
|
|
||||||
QMAKE_INCDIR =
|
|
||||||
QMAKE_LIBDIR =
|
|
||||||
QMAKE_INCDIR_X11 =
|
|
||||||
QMAKE_LIBDIR_X11 =
|
|
||||||
QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
|
|
||||||
QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
|
|
||||||
QMAKE_INCDIR_OPENGL =
|
|
||||||
QMAKE_LIBDIR_OPENGL =
|
|
||||||
QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
|
|
||||||
QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
|
|
||||||
QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
|
|
||||||
QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
|
|
||||||
QMAKE_INCDIR_EGL =
|
|
||||||
QMAKE_LIBDIR_EGL =
|
|
||||||
QMAKE_INCDIR_OPENVG =
|
|
||||||
QMAKE_LIBDIR_OPENVG =
|
|
||||||
|
|
||||||
QMAKE_LIBS =
|
|
||||||
QMAKE_LIBS_DYNLOAD = -ldl
|
|
||||||
QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
|
|
||||||
QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
|
|
||||||
QMAKE_LIBS_NIS = -lnsl
|
|
||||||
QMAKE_LIBS_EGL = -lEGL
|
|
||||||
QMAKE_LIBS_OPENGL = -lGL
|
|
||||||
QMAKE_LIBS_OPENGL_QT = -lGL
|
|
||||||
QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
|
|
||||||
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
|
|
||||||
QMAKE_LIBS_OPENVG = -lOpenVG
|
|
||||||
QMAKE_LIBS_THREAD = -lpthread
|
|
||||||
QMAKE_LIBS_LIBUDEV = -ludev
|
|
||||||
|
|
||||||
QMAKE_CFLAGS_WAYLAND =
|
|
||||||
QMAKE_INCDIR_WAYLAND =
|
|
||||||
QMAKE_LIBS_WAYLAND_CLIENT = -lwayland-client
|
|
||||||
QMAKE_LIBS_WAYLAND_SERVER = -lwayland-server
|
|
||||||
QMAKE_LIBDIR_WAYLAND =
|
|
||||||
QMAKE_DEFINES_WAYLAND =
|
|
||||||
QMAKE_WAYLAND_SCANNER = wayland-scanner
|
|
||||||
|
|
||||||
QMAKE_MOC = $(OE_QMAKE_MOC)
|
|
||||||
QMAKE_UIC = $(OE_QMAKE_UIC)
|
|
||||||
QMAKE_UIC3 = $(OE_QMAKE_UIC3)
|
|
||||||
QMAKE_RCC = $(OE_QMAKE_RCC)
|
|
||||||
QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
|
|
||||||
QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
|
|
||||||
|
|
||||||
QMAKE_AR = $(OE_QMAKE_AR) cqs
|
|
||||||
QMAKE_OBJCOPY = objcopy
|
|
||||||
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 = $(OE_QMAKE_STRIP)
|
|
||||||
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
|
||||||
QMAKE_CHK_DIR_EXISTS = test -d
|
|
||||||
QMAKE_MKDIR = mkdir -p
|
|
||||||
QMAKE_INSTALL_FILE = install -m 644 -p
|
|
||||||
QMAKE_INSTALL_PROGRAM = install -m 755 -p
|
|
||||||
|
|
||||||
include(unix.conf)
|
|
|
@ -3,8 +3,6 @@
|
||||||
# each module needs to define valid SRCREV
|
# each module needs to define valid SRCREV
|
||||||
SRC_URI += " \
|
SRC_URI += " \
|
||||||
git://qt.gitorious.org/qt/${QT_MODULE}.git;protocol=git;branch=stable \
|
git://qt.gitorious.org/qt/${QT_MODULE}.git;protocol=git;branch=stable \
|
||||||
file://linux.conf \
|
|
||||||
file://g++.conf \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
|
@ -4,8 +4,6 @@ QT_VERSION ?= "${PV}"
|
||||||
|
|
||||||
SRC_URI += " \
|
SRC_URI += " \
|
||||||
http://releases.qt-project.org/qt5/${QT_VERSION}/submodules_tar/${QT_MODULE}-opensource-src-${QT_VERSION}.tar.xz \
|
http://releases.qt-project.org/qt5/${QT_VERSION}/submodules_tar/${QT_MODULE}-opensource-src-${QT_VERSION}.tar.xz \
|
||||||
file://linux.conf \
|
|
||||||
file://g++.conf \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/${QT_MODULE}-opensource-src-${QT_VERSION}"
|
S = "${WORKDIR}/${QT_MODULE}-opensource-src-${QT_VERSION}"
|
||||||
|
|
|
@ -56,21 +56,9 @@ QT_CONFIG_FLAGS += " \
|
||||||
"
|
"
|
||||||
|
|
||||||
do_configure() {
|
do_configure() {
|
||||||
# set_arch
|
set_arch
|
||||||
set_endian
|
set_endian
|
||||||
|
|
||||||
if [ ! -e bin/qmake ]; then
|
|
||||||
ln -sf ${OE_QMAKE_QMAKE} bin/qmake
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
|
|
||||||
ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
|
|
||||||
fi
|
|
||||||
|
|
||||||
# replace common files with our version
|
|
||||||
cp -f ${WORKDIR}/g++.conf mkspecs/common/g++-unix.conf
|
|
||||||
cp -f ${WORKDIR}/linux.conf mkspecs/common/linux.conf
|
|
||||||
|
|
||||||
# Avoid problems with the linkers, since we want the linker to be g++
|
# Avoid problems with the linkers, since we want the linker to be g++
|
||||||
unset LD
|
unset LD
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ QT_DIR_NAME ?= "qt5"
|
||||||
SRC_URI += " \
|
SRC_URI += " \
|
||||||
file://0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
|
file://0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
|
||||||
file://0001-Always-build-uic.patch \
|
file://0001-Always-build-uic.patch \
|
||||||
|
file://qmake.conf \
|
||||||
"
|
"
|
||||||
|
|
||||||
EXTRA_ENV = 'MAKE="make -e ${PARALLEL_MAKE}"'
|
EXTRA_ENV = 'MAKE="make -e ${PARALLEL_MAKE}"'
|
||||||
|
@ -56,6 +57,20 @@ EXTRA_OECONF = " \
|
||||||
-no-rpath \
|
-no-rpath \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
# qtbase is exception, we need to use mkspecs from ${S}
|
||||||
|
QMAKE_MKSPEC_PATH_NATIVE = "${S}/mkspecs"
|
||||||
|
|
||||||
|
do_configure_prepend() {
|
||||||
|
if [ ! -e ${OE_QMAKESPEC} ]; then
|
||||||
|
mkdir -p ${OE_QMAKESPEC}
|
||||||
|
fi
|
||||||
|
# use default qplatformdefs.h from linux-g++
|
||||||
|
cp -va ${QMAKE_MKSPEC_PATH_NATIVE}/linux-g++/qplatformdefs.h ${OE_QMAKESPEC}/
|
||||||
|
# use modified qmake.conf which is using OE_QMAKE_* shell variables
|
||||||
|
# exported from qmake5_base.bbclass to define toolchain and flags
|
||||||
|
cp -va ${WORKDIR}/qmake.conf ${OE_QMAKESPEC}/
|
||||||
|
}
|
||||||
|
|
||||||
do_configure() {
|
do_configure() {
|
||||||
# Avoid setting QMAKE_LINK from LD (since we want the linker to be g++)
|
# Avoid setting QMAKE_LINK from LD (since we want the linker to be g++)
|
||||||
unset LD
|
unset LD
|
||||||
|
@ -65,9 +80,4 @@ do_configure() {
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
oe_runmake install INSTALL_ROOT=${D}
|
oe_runmake install INSTALL_ROOT=${D}
|
||||||
ln -sf linux-g++ ${D}${datadir}/${QT_DIR_NAME}/mkspecs/${BUILD_OS}-oe-g++
|
|
||||||
|
|
||||||
# replace common files with our version
|
|
||||||
cp -f ${WORKDIR}/g++.conf ${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/g++-unix.conf
|
|
||||||
cp -f ${WORKDIR}/linux.conf ${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/linux.conf
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ SRC_URI += " \
|
||||||
file://0002-qmake-is-already-built-in-qt5-tools-native.patch \
|
file://0002-qmake-is-already-built-in-qt5-tools-native.patch \
|
||||||
file://0003-Allow-building-a-separate-qmake-for-the-target.patch \
|
file://0003-Allow-building-a-separate-qmake-for-the-target.patch \
|
||||||
file://0004-configure-eval-QMAKE_CXX.patch \
|
file://0004-configure-eval-QMAKE_CXX.patch \
|
||||||
|
file://qmake.conf \
|
||||||
"
|
"
|
||||||
|
|
||||||
DEPENDS += "qtbase-native virtual/libgl freetype jpeg libpng zlib openssl glib-2.0 ${ICU}"
|
DEPENDS += "qtbase-native virtual/libgl freetype jpeg libpng zlib openssl glib-2.0 ${ICU}"
|
||||||
|
@ -48,9 +49,19 @@ EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
# qtbase is exception, we need to use mkspecs from ${S}
|
# qtbase is exception, we need to use mkspecs from ${S}
|
||||||
|
QMAKE_MKSPEC_PATH = "${S}/mkspecs"
|
||||||
OE_XQMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
|
OE_XQMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
|
||||||
|
|
||||||
do_configure_append() {
|
do_configure_append() {
|
||||||
|
if [ ! -e ${OE_XQMAKESPEC} ]; then
|
||||||
|
mkdir -p ${OE_XQMAKESPEC}
|
||||||
|
fi
|
||||||
|
# use default qplatformdefs.h from linux-g++
|
||||||
|
cp -va ${QMAKE_MKSPEC_PATH}/linux-g++/qplatformdefs.h ${OE_XQMAKESPEC}/
|
||||||
|
# use modified qmake.conf which is using OE_QMAKE_* shell variables
|
||||||
|
# exported from qmake5_base.bbclass to define toolchain and flags
|
||||||
|
cp -va ${WORKDIR}/qmake.conf ${OE_XQMAKESPEC}/
|
||||||
|
|
||||||
./configure -v \
|
./configure -v \
|
||||||
-dont-process \
|
-dont-process \
|
||||||
-opensource -confirm-license \
|
-opensource -confirm-license \
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
#
|
||||||
|
# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
|
||||||
|
#
|
||||||
|
|
||||||
|
MAKEFILE_GENERATOR = UNIX
|
||||||
|
CONFIG += incremental gdb_dwarf_index
|
||||||
|
QMAKE_INCREMENTAL_STYLE = sublib
|
||||||
|
|
||||||
|
include(../common/linux.conf)
|
||||||
|
|
||||||
|
# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
|
||||||
|
QMAKE_AR = $(OE_QMAKE_AR) cqs
|
||||||
|
QMAKE_STRIP = $(OE_QMAKE_STRIP)
|
||||||
|
|
||||||
|
include(../common/gcc-base-unix.conf)
|
||||||
|
|
||||||
|
# *FLAGS from gcc-base.conf
|
||||||
|
QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS)
|
||||||
|
QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS)
|
||||||
|
QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
|
||||||
|
|
||||||
|
include(../common/g++-unix.conf)
|
||||||
|
|
||||||
|
# tc settings from g++-base.conf
|
||||||
|
QMAKE_COMPILER = $(OE_QMAKE_COMPILER)
|
||||||
|
QMAKE_CC = $(OE_QMAKE_CC)
|
||||||
|
QMAKE_CXX = $(OE_QMAKE_CXX)
|
||||||
|
|
||||||
|
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
|
||||||
|
|
||||||
|
QMAKE_LINK = $(OE_QMAKE_LINK)
|
||||||
|
QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
|
||||||
|
QMAKE_LINK_C = $(OE_QMAKE_LINK)
|
||||||
|
QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
|
||||||
|
|
||||||
|
# for the SDK
|
||||||
|
isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
|
||||||
|
|
||||||
|
load(qt_config)
|
Loading…
Reference in New Issue