From e71e715cd347d3dc1e503695d7a747f175123e9e Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 28 Oct 2020 14:19:45 -0700 Subject: build-system: Docker build for 64bit MXE We previously tried to build the MXE Docker container on GitHub using an Action, but that really didn't work well and was a lot more trouble than it was worth. So this goes back to an offline build mechanism where I simply create an updated Docker image when needed and push that to Docker Hub. But this nearly hides the most interesting change here - we are finally switching to using 64bit binaries on Windows. It's 2020 and fewer than 1% of our users use 32bit Windows machines. We'll need to expand this to be able to have both a 32bit and a 64bit version of Subsurface for Windows. But for now, this solves the problem for 99% of our users. Signed-off-by: Dirk Hohndel --- scripts/docker/mxe-build-container/settings.mk | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 scripts/docker/mxe-build-container/settings.mk (limited to 'scripts/docker/mxe-build-container/settings.mk') diff --git a/scripts/docker/mxe-build-container/settings.mk b/scripts/docker/mxe-build-container/settings.mk new file mode 100644 index 000000000..fecac6e06 --- /dev/null +++ b/scripts/docker/mxe-build-container/settings.mk @@ -0,0 +1,44 @@ +# This is a template of configuration file for MXE. See +# index.html for more extensive documentations. + +# This variable controls the number of compilation processes +# within one package ("intra-package parallelism"). +JOBS := 8 + +# This variable controls the targets that will build. +MXE_TARGETS := x86_64-w64-mingw32.shared + +# The three lines below makes `make` build these "local packages" instead of all packages. +# The ordering of the list appears weird, but this seems to help to get the build done +# faster on a massively parallel machine to get some of the bottleneck packages built as +# early as possible +LOCAL_PKG_LIST := gcc \ + openssl \ + libmysqlclient \ + postgresql \ + qtbase \ + qtwebkit \ + nsis \ + curl \ + libxml2 \ + libxslt \ + libzip \ + libusb1 \ + hidapi \ + libgit2 \ + libftdi1 \ + mdbtools \ + qtconnectivity \ + qtdeclarative \ + qtimageformats \ + qtlocation \ + qtmultimedia \ + qtquickcontrols \ + qtquickcontrols2 \ + qtcharts \ + qtsvg \ + qttools \ + qttranslations \ + zstd +.DEFAULT local-pkg-list: +local-pkg-list: $(LOCAL_PKG_LIST) -- cgit v1.2.3-70-g09d2