Generalize common device properties out of Raspberry Pi spec
authorDonald Carr <donald.carr@nokia.com>
Thu, 31 May 2012 03:18:26 +0000 (03:18 +0000)
committerQt by Nokia <qt-info@nokia.com>
Wed, 6 Jun 2012 00:02:40 +0000 (02:02 +0200)
Change-Id: I58cc9c9219bf3e9ed8e7401cb66f968306d7bfc9
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
mkspecs/devices/common/linux_device_post.conf [new file with mode: 0644]
mkspecs/devices/common/linux_device_pre.conf [new file with mode: 0644]
mkspecs/devices/linux-rasp-pi-g++/qmake.conf

diff --git a/mkspecs/devices/common/linux_device_post.conf b/mkspecs/devices/common/linux_device_post.conf
new file mode 100644 (file)
index 0000000..f8dbf76
--- /dev/null
@@ -0,0 +1,15 @@
+contains(DISTRO_OPTS, deb-multi-arch) {
+    QMAKE_LFLAGS   += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/$${GCC_MACHINE_DUMP} \
+                      -Wl,-rpath-link,$$[QT_SYSROOT]/lib/$${GCC_MACHINE_DUMP}
+}
+
+contains(DISTRO_OPTS, hard-float) {
+    COMPILER_FLAGS += -mfloat-abi=hard
+} else {
+    COMPILER_FLAGS += -mfloat-abi=softfp
+}
+
+QMAKE_CFLAGS       += $$COMPILER_FLAGS
+QMAKE_CXXFLAGS     += $$COMPILER_FLAGS
+
+deviceSanityCheckCompiler()
diff --git a/mkspecs/devices/common/linux_device_pre.conf b/mkspecs/devices/common/linux_device_pre.conf
new file mode 100644 (file)
index 0000000..e0f744a
--- /dev/null
@@ -0,0 +1,27 @@
+QT_QPA_DEFAULT_PLATFORM = eglfs
+
+MAKEFILE_GENERATOR  = UNIX
+TARGET_PLATFORM     = unix
+TEMPLATE            = app
+CONFIG              += qt warn_on release incremental link_prl gdb_dwarf_index
+QT                  += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../../../common/linux.conf)
+include(../../../common/gcc-base-unix.conf)
+include(../../../common/g++-unix.conf)
+
+!load(device_config) {
+    error(Could not successfully load device configuration)
+}
+
+# modifications to g++-unix.conf
+QMAKE_CC                = $${CROSS_COMPILE}gcc
+QMAKE_CXX               = $${CROSS_COMPILE}g++
+QMAKE_LINK              = $${QMAKE_CXX}
+QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
+
+# modifications to linux.conf
+QMAKE_AR                = $${CROSS_COMPILE}ar cqs
+QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
+QMAKE_STRIP             = $${CROSS_COMPILE}strip
index b56bd3a..a125f6a 100644 (file)
@@ -2,28 +2,7 @@
 # qmake configuration for Broadcom's Raspberry PI
 # http://wiki.qt-project.org/Devices/RaspberryPi
 
-MAKEFILE_GENERATOR  = UNIX
-TARGET_PLATFORM     = unix
-TEMPLATE            = app
-CONFIG              += qt warn_on release incremental link_prl gdb_dwarf_index
-QT                  += core gui
-QMAKE_INCREMENTAL_STYLE = sublib
-
-include(../../common/linux.conf)
-include(../../common/gcc-base-unix.conf)
-include(../../common/g++-unix.conf)
-
-load(device_config)
-
-QMAKE_CC                = $${CROSS_COMPILE}gcc
-QMAKE_CXX               = $${CROSS_COMPILE}g++
-QMAKE_LINK              = $${QMAKE_CXX}
-QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
-
-# modifications to linux.conf
-QMAKE_AR                = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
-QMAKE_STRIP             = $${CROSS_COMPILE}strip
+include(../common/linux_device_pre.conf)
 
 QMAKE_LFLAGS            += -Wl,-rpath-link,$$[QT_SYSROOT]/opt/vc/lib
 
@@ -36,14 +15,13 @@ QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
 QMAKE_LIBS_EGL          = -lEGL -lGLESv2
 
 contains(DISTRO, wheezy) {
-    QMAKE_LFLAGS        += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabi \
-                           -Wl,-rpath-link,$$[QT_SYSROOT]/lib/arm-linux-gnueabi
+    DISTRO_OPTS += deb-multi-arch
 } else:contains(DISTRO, bsquask) {
-    FLOAT-ABI = hard
+    DISTRO_OPTS += hard-float
 } else:contains(DISTRO, arch) {
     #On principle: no wizardry required
 } else {
-    #Legacy circular dependency
+    #Debian Squeeze: Legacy circular dependency
     QMAKE_LIBS_OPENGL_ES2          = -lGLESv2 -lEGL
 }
 
@@ -54,19 +32,11 @@ QMAKE_CFLAGS            += \
                           -march=armv6zk \
                           -mabi=aapcs-linux
 
-contains(FLOAT-ABI, hard) {
-    QMAKE_CFLAGS += -mfloat-abi=hard
-} else {
-    QMAKE_CFLAGS += -mfloat-abi=softfp
-}
-
 QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
 
 EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_pi.cpp
 EGLFS_PLATFORM_HOOKS_LIBS = -lbcm_host
 
-deviceSanityCheckCompiler()
-
-QT_QPA_DEFAULT_PLATFORM = eglfs
+include(../common/linux_device_post.conf)
 
 load(qt_config)