Commit Graph

504 Commits

Author SHA1 Message Date
Tony Theodore 4ccfdfc560 Makefile: enable target-specific, order-only deps lookup
Turns out there are cases when we don't want the default
AUTOTOOLS|CMAKE native builds to run - essentially `make gcc`
which can use `zstd` on v10+
2020-06-11 10:29:43 +10:00
Tony Theodore 0ef3951c03 qttools: standardise cmake test 2019-11-09 04:15:59 +11:00
Jonas Kvinge 486f72bd9a Set tries and timeout for wget 2019-10-13 02:05:58 +11:00
Tony Theodore 16e80eabe5 Makefile: don't create target for overrides.mk 2019-10-13 01:20:25 +11:00
Martin Müllenhaupt aae03b205f add tar file to archive format 2019-09-19 12:30:08 +02:00
Viktor Szakats 20ceee7529 Switch to virtual-hosted style URLs for S3
Ref: https://forums.aws.amazon.com/ann.jspa?annID=6776
2019-05-05 20:21:25 +10:00
Tony Theodore 32edbb48cc remove gitlab mirror
suffixed tarballs are available in three places, no need for extra redundancy

closes #1681
2019-04-09 23:37:24 +10:00
Tony Theodore ea56b37696 add ccache and enable by default 2019-03-10 23:11:04 +11:00
Tony Theodore 8f23f23d6b Makefile: fix native build when it's the only target specified
See: https://github.com/mxe/mxe/pull/2286#issuecomment-470952262

When MXE_TARGETS=`mxe/ext/config.guess` is specified, $(BUILD) is also
added and it looks like two targets. Use sort to get unique list.
2019-03-10 10:24:09 +11:00
Tony Theodore 3ea682b14e build-pkg changes 2019-02-26 19:03:08 +11:00
Tony Theodore b6313a950d Makefile: avoid implied native builds
fixes #2285
2019-02-24 13:44:57 +11:00
Tony Theodore 1bce1181d7 Makefile: ignore git failure when building from snapshot
fixes #2270
2019-01-23 11:07:43 +11:00
Mark Brand efbd2b52e5 add support for lzip archives 2019-01-10 16:41:17 +01:00
Boris Pek 0a69881e90 Switch to GCC with posix threads by default
(Closes: #2258)
2019-01-09 11:36:35 +11:00
Tony Theodore 916ee5ddc0 add LC_* variables to whitelist
see:
https://github.com/mxe/mxe/issues/2259#issuecomment-450499167
2018-12-30 08:58:32 +11:00
Tony Theodore a063f9b352 darwin: don't build i386 nonet lib
see: #2217
2018-09-30 11:44:40 +10:00
Tony Theodore 29fc99a6cc Makefile: add PKG_CONFIGURE_OPTS variable for new-style rules 2018-09-19 21:46:54 +10:00
Tony Theodore 822c7e4099 add standalone scons-local pkg and remove scons from reqs 2018-08-31 12:21:14 +10:00
Tony Theodore 6f3bd170de Makefile: check for python2 requirement 2018-08-31 12:21:14 +10:00
Tony Theodore ec05c2c542 Makefile: fix autotools circular dep 2018-04-06 17:19:21 +10:00
Tony Theodore 473f697ba3 Makefile and cmake-conf: set CMAKE_SYSTEM_PROCESSOR 2018-03-21 06:31:40 +11:00
Tony Theodore 31d99c63bd Makefile: filter out .cmake from TEST_FILE 2018-03-20 23:25:25 +11:00
Tony Theodore affb44a245 build-matrix: replace unsupported char for "X"
replaces and closes #1231
2018-03-17 23:21:44 +11:00
Tony Theodore e96df609c0 Makefile: remove MXE_GET_GITHUB functions 2018-03-15 12:28:24 +11:00
Tony Theodore 4f21088b48 build-pkg: build nonet and check-reqs early, ignore .waf* artefacts 2018-03-12 14:28:14 +11:00
Tony Theodore 38c43b5017 sub makefiles: standardize names and add to build-pkg 2018-03-12 14:28:14 +11:00
Tony Theodore 02e11b8dc1 build-pkg: add usage notes for pkg list and dry run 2018-03-12 14:28:14 +11:00
Tony Theodore 068d3c0d7b Makefile: unify handling of required pkgs 2018-03-12 14:28:14 +11:00
Tony Theodore 6f5456cbb0 Makefile: add show-direct-downstream-deps and improve messages 2018-03-06 21:31:04 +11:00
Tony Theodore f217236aff Makefile: add AUTOTOOLS_* template variables 2018-03-01 15:51:55 +11:00
Tony Theodore 56ca9cf8f5 Makefile: define OPENSSL as a variable
used to test if preinstalled version works i.e:

make download OPENSSL=/usr/bin/openssl
2018-03-01 15:49:41 +11:00
Tony Theodore a68a0d9342 Makefile: avoid circular deps for autotools pkgs 2018-02-17 14:00:51 +11:00
Tony Theodore 9a48a19e87 Makefile: ensure downloads of source-only pkgs
missed in #1990
2018-02-17 12:00:53 +11:00
Tony Theodore 52c8fa8e96 Makefile: add note about gcc --> cc switch 2017-12-23 08:19:00 +11:00
Tony Theodore 9d39a40a2b Makefile and build-pkg: use {pkg}~{target} directly
Required for the case where a cross package is independent of it's
native package (e.g. libiconv) and the native pkg may not have been
built in the dep chain. Calling:
```
make pkg MXE_TARGETS=...
```
will then cause `make` to build the native pkg as well. (MXE_TARGETS
is still required otherwise it will be picked up from settings.mk)
2017-12-23 08:19:00 +11:00
Tony Theodore 5fe1c5043b Makefile: fixups for dry-run 2017-12-23 08:19:00 +11:00
Tony Theodore 7c7e3d5f34 rename archive pkg-type to source-only for clarity
archive could imply a deprecated package
2017-12-23 08:19:00 +11:00
Tony Theodore 45e66ce85f Makefile: print download filename instead of pkg 2017-12-23 08:19:00 +11:00
Tony Theodore 6851997a29 Makefile: always touch install markers for empty builds 2017-12-23 08:19:00 +11:00
Tony Theodore 800377564b Makefile: add script package type avoid unpacking archive 2017-12-23 08:19:00 +11:00
Tony Theodore 8954654349 Makefile: separate build and virtual pkg types
we don't actually want to package download-only pkgs
2017-12-23 08:19:00 +11:00
Tony Theodore 3a26dafbd1 add virtual toolchain package cc 2017-12-23 08:18:52 +11:00
Tony Theodore c0c8d47d6a Makefile: add support for cross-target and order-only deps 2017-12-23 08:18:52 +11:00
Tony Theodore 0e1b95fc24 Improve handling of virtual packages and build messages
- add metadata to distinguish virtual package types
  - improve build order and status messages for empty packages
        print pkg type or `disabled` instead of `no-build`
  - add BUILD_DRY_RUN option and fixup make -t
  - update build-matrix rule to identify virtual pkgs
2017-12-23 08:18:52 +11:00
Tony Theodore 51217e01d2 updates: move to separate file and add generic updater function 2017-11-18 16:19:55 +11:00
Tony Theodore a3624b48b1 Makefile: speedup LOOKUP_PKG_RULE
LOOKUP_PKG_RULE is called many times and spends a lot of time searching
for rules when the default rule is the most common. This simply
avoids exhaustive searching since we can determine beforehand if there
are multiple rules.

Also drops some of the gmsl functions if favour of normal make
variables.

First commit adds sort/strip so print-deps-for-build-pkg output can be
easily compared.

```
$ git checkout HEAD~1
$ time make print-deps-for-build-pkg \
      MXE_TARGETS="`echo {i686-w64-mingw32,x86_64-w64-mingw32}.{static,shared}`"> orig
real	0m17.564s
user	0m16.410s
sys	0m0.783s

$ git checkout speedup
$ time make print-deps-for-build-pkg \
      MXE_TARGETS="`echo {i686-w64-mingw32,x86_64-w64-mingw32}.{static,shared}`"> new
real	0m4.036s
user	0m3.624s
sys	0m0.326s

$ diff -u orig new
$
```
2017-11-13 20:51:08 +11:00
Tony Theodore 9f8fb60f8a print-deps-for-build-pkg: sort and strip output for repeatable comparison 2017-11-13 19:56:53 +11:00
Tony Theodore 75417437a2 Makefile and s3: add mxe mirror and tidy output 2017-11-13 11:20:54 +11:00
Tony Theodore b82080ec4d Makefile: switch GitLab to https and reorder backup servers
See: https://github.com/mxe/mxe/pull/1899#issuecomment-343731128
  - GitLab redirects to https anyway
  - final fallthrough to Cloudfront will be http
  - GitLab is (currently) the most complete so try it first
2017-11-13 07:59:36 +11:00
Tony Theodore ba358185fa Makefile: also create suffixed archives for backup downloads
See:
https://github.com/mxe/mxe/pull/1681#issuecomment-280887497
2017-11-12 15:07:21 +11:00