summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2016-07-09 11:16:12 (GMT)
committerTony Theodore <tonyt@logyst.com>2016-07-09 11:16:12 (GMT)
commit0bc628650f79f6fd8807f677a46a5eb6fb3411f6 (patch)
treefd7b3e80a75c1d00ef4e7a9840c4c481671cf61c /plugins
parent0f69807bae7f9987f282701644db7bba21f95487 (diff)
downloadmxe-0bc628650f79f6fd8807f677a46a5eb6fb3411f6.zip
mxe-0bc628650f79f6fd8807f677a46a5eb6fb3411f6.tar.gz
mxe-0bc628650f79f6fd8807f677a46a5eb6fb3411f6.tar.bz2
add qt5-host-tools example plugin
starting point for #950, builds `qmake.exe`, `rcc.exe`, etc
Diffstat (limited to 'plugins')
-rw-r--r--plugins/examples/host-toolchain/qt5-host-tools.mk52
1 files changed, 52 insertions, 0 deletions
diff --git a/plugins/examples/host-toolchain/qt5-host-tools.mk b/plugins/examples/host-toolchain/qt5-host-tools.mk
new file mode 100644
index 0000000..07fcacb
--- /dev/null
+++ b/plugins/examples/host-toolchain/qt5-host-tools.mk
@@ -0,0 +1,52 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG := $(basename $(notdir $(lastword $(MAKEFILE_LIST))))
+$(PKG)_FILE = $(qtbase_FILE)
+$(PKG)_PATCHES = $(realpath $(sort $(wildcard $(addsuffix /qtbase-[0-9]*.patch, $(TOP_DIR)/src))))
+$(PKG)_SUBDIR = $(qtbase_SUBDIR)
+$(PKG)_DEPS := gcc qtbase
+
+# main configure options: -platform -host-option -external-hostbindir
+# further testing needed: -prefix -extprefix -hostprefix -sysroot -no-gcc-sysroot
+# and keeping options synced with qtbase
+
+define $(PKG)_BUILD
+ $(SED) -i 's,BUILD_ON_MAC=yes,BUILD_ON_MAC=no,g' '$(1)/configure'
+ mkdir '$(1).build'
+ cd '$(1).build' && '$(1)/configure' \
+ -prefix '$(PREFIX)/$(TARGET)/$(PKG)' \
+ -static \
+ -release \
+ -c++std c++11 \
+ -platform win32-g++ \
+ -host-option CROSS_COMPILE=${TARGET}- \
+ -external-hostbindir '$(PREFIX)/$(TARGET)/qt5/bin' \
+ -device-option PKG_CONFIG='${TARGET}-pkg-config' \
+ -device-option CROSS_COMPILE=${TARGET}- \
+ -force-pkg-config \
+ -no-sql-{db2,ibase,mysql,oci,odbc,psql,sqlite,sqlite2,tds} \
+ -no-use-gold-linker \
+ -nomake examples \
+ -nomake tests \
+ -opensource \
+ -confirm-license \
+ -continue \
+ -verbose
+
+ rm -rf '$(PREFIX)/$(TARGET)/$(PKG)'
+ # install qmake.exe (created by configure)
+ # and generate remaining build configuration
+ $(MAKE) -C '$(1).build' -j $(JOBS) \
+ sub-qmake-qmake-aux-pro-install_subtargets \
+ sub-src-qmake_all
+
+ # build and install other tools
+ $(MAKE) -C '$(1).build/src' -j $(JOBS) \
+ sub-moc-install_subtargets \
+ sub-qdbuscpp2xml-install_subtargets \
+ sub-qdbusxml2cpp-install_subtargets \
+ sub-qlalr-install_subtargets \
+ sub-rcc-install_subtargets \
+ sub-uic-install_subtargets
+endef