Commit Graph

380 Commits

Author SHA1 Message Date
Tony Theodore a228c0488f all packages: switch to sha256 checksums
closes #871
2015-09-23 17:27:16 +10:00
Boris Nagaev 164e7435c9 report downloading from backup 2015-09-18 09:09:37 +03:00
Tony Theodore 19d1be38ae Move general configuration from pkgconf to mxe-conf and add cmake/mxe-conf.d 2015-09-12 13:43:04 +10:00
Tony Theodore 4d858c468b Makefile: include mxe-conf as an order-only dep of all packages
Order-only deps have the benefit of guaranteed early execution and not requiring full rebuilds. It isn't a real package, so we don't want an entry in index.html.
2015-09-12 13:43:04 +10:00
Tony Theodore 5c62f03175 Makefile: allow script-only packages
* Create PREPARE_PKG_SOURCE function to simplify conditional unpacking and patching (possibly future git init)
* Only attempt download if there is a pkg url
* Only prepare source if there is a pkg file - useful for target specific overrides (say gcc on $(BUILD))
2015-09-12 13:43:04 +10:00
Tony Theodore c97cc62e1a Makefile: log autoconf and automake versions 2015-09-07 15:28:25 +10:00
Tony Theodore d1e18ad8cb Makefile: print package messages during build 2015-09-05 23:32:17 +10:00
Tony Theodore 307efd50da Makefile: don't remove versions.json on clean 2015-09-05 19:24:38 +10:00
Timothy Gu 34d2cb0286 Fix occasion [done] message weirdness 2015-07-26 19:44:19 -07:00
Timothy Gu 18fafbeb98 Merge pull request #568 from tonytheodore/parallel
Makefile: build targets in parallel
2015-07-09 09:48:23 +08:00
Timothy Gu 1c38e8aea5 Mark versions.json as phony 2015-07-05 18:51:40 -07:00
Timothy Gu 8cf0795e34 Merge pull request #638 from TobiX/index-versions-cache
index.html versions cache
2015-07-06 08:30:36 +08:00
Volker Grabsch 34f6fac9a5 Use command "7za" instead of "7z"
The "7za" command is available on more Unix systems.
2015-06-29 12:46:15 +02:00
Martin Gerhardy 3559d54844 new package box2d
this introduces a new dependency for unpacking the 7z archive from Box2D
2015-06-29 08:34:46 +02:00
Timothy Gu 465131a2b6 Add LD_LIBRARY_PATH & ACLOCAL_PATH to safe envvars
Fixes #697.
2015-06-18 22:18:06 -07:00
Timothy Gu 1bd25fc0ec MXE_GET_GITHUB_SHA: simplify regex and make the hash longer 2015-03-09 18:15:01 -07:00
Tobias Gruetzmacher 06747eaca2 Add a new makefile target to cache versions.
All package versions are written int one JSON file.
2015-02-27 12:57:52 +01:00
Volker Grabsch eaac1a873f Merge branch 'stable' 2015-01-11 18:23:11 -05:00
Volker Grabsch 0c6cc9c91c Split cleanup-style into even smaller commands 2015-01-11 18:20:46 -05:00
Volker Grabsch dacd2ba109 Do not execute too many shell commands at once in "cleanup-style"
Otherwise, the argument to "bash -c ..." is very large, resulting in
the following error message on systems with small ARG_MAX:

make: execvp: bash: Argument list too long
2015-01-11 18:20:36 -05:00
Volker Grabsch 40fd96e236 Remove empty line at EOF 2015-01-11 18:10:50 -05:00
Volker Grabsch 8fb5da24f5 Merge branch 'stable' 2015-01-11 10:07:05 -05:00
Volker Grabsch 27d37c27e7 Add missing .PHONY entry for cleanup-style 2015-01-11 10:06:29 -05:00
Timothy Gu 47c3d0c170 Remove extraneous comma
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-12-14 12:55:27 -05:00
Timothy Gu 73898524ea Print config.log when build succeeded as well
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-12-14 12:53:57 -05:00
Tony Theodore fde591f2c4 Makefile: build targets in parallel
I was never really happy with the way targets are serialized, it's fighting against `make` (causing issues like #234 and #219), and the target header isn't particularly informative. This fixes #234 and should also provide a speedup when building all targets simultaneously.

Download rules are now pre-requisites of build rules to stop multiple download attempts, and all build logs have a target suffix.

More work is needed on #219, since download rules are always outdated unless a marker file is used. I'll look at this separately as I also want to allow script only packages.
2014-11-27 18:42:40 +11:00
Timothy Gu b06795b831 Add a $(BITS) convenience variable
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-11-16 22:25:19 -05:00
Tony Theodore a063f823e8 Makefile: remove check for pkg-config since we build pkgconf 2014-10-29 21:07:08 +11:00
Timothy Gu bcdc828e1c Fix display of "autodetected jobs" when $(JOBS) is set in settings.mk
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-20 22:22:00 -07:00
Timothy Gu df1b36c387 Show autodetected cores when no $(JOBS) is specified
If there is a more readable way of doing this, please point out.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-18 17:31:12 +00:00
Timothy Gu 9ebd3cedf7 update: Add "UPDATE_DRYRUN" mode
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 21:42:51 -04:00
Timothy Gu 981b2c1d9b Add message when i686-pc-mingw32 is used
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 23:48:09 +00:00
Timothy Gu 978fed72ed Fix target name check
This makes it error out when
    make MXE_TARGETS=i686-w64-mingw32.stati
etc.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 23:48:09 +00:00
Timothy Gu 0d612118bc build-matrix: Speed up with unary notation
4.6s -> 3.9s.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 19:46:31 -04:00
Timothy Gu d87240eb7b Remove i686-pc-mingw32
Fixes #400 and #492.

See #453.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 01:32:44 +00:00
Timothy Gu 30d33ef5db Fix counting of build-only packages
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 01:32:31 +00:00
Timothy Gu 2bf824b5a7 build-matrix: use $(words $(BUILD_PKGS)) instead of counting
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-14 01:32:29 +00:00
Timothy Gu 1f24f22085 build-matrix: Add missing </html>
Odd the W3C HTML5 validator didn't catch that (although the XHTML
1.1 one did).

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-13 04:32:05 +00:00
Timothy Gu 1ea2349833 build-matrix: make each tag a new line
Dunno how to fix the indentation, but this already looks way better
than before.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-13 04:21:49 +00:00
Tobias Gruetzmacher 67cd70bebb Add package versions to build-matrix.
This is a bit ugly at the moment, since there are some pretty long
version numbers in MXE...
2014-10-13 04:10:25 +00:00
Tobias Gruetzmacher c9bdb7adf6 build-matrix: Split huge command into smaller ones
Just outputting each line on its own doesn't impact performance that
much (7s to 7.5s on my system).

On my system: 3.5s -> 4.5s, which is not to bad. --TG

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-13 04:07:18 +00:00
Timothy Gu e8b457a582 Revert "build-matrix: use $(newline) instead of ; to enter command"
This reverts commits e21b7281 and f3a7e0f2d0.

The performance penalty is not worth it. On a relatively slow box
the time spent went from 4.6s to 15s.
2014-10-10 23:56:13 +00:00
TimothyGu e21b728194 build-matrix: use $(newline) instead of ; to enter command
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-10 23:31:03 +00:00
Timothy Gu f3a7e0f2d0 Partially revert "Make build matrix output a bit nicer."
I have found a better solution.

The change to check/cross sign is not reverted.

This partially reverts commit 3797d4eb03.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-10 23:16:54 +00:00
Tobias Gruetzmacher 3797d4eb03 Make build matrix output a bit nicer.
This swithes the "Y" and "N" in the cells with nice symbols (✓ and ✗).
This also tries to shorten the cammand line a bit since this still runs
into "Argument list too long" errors on some systems...
2014-10-09 20:02:23 +02:00
Tony Theodore 4835619559 Makefile: add $(BUILD) to allowed targets 2014-10-09 04:29:43 +11:00
Timothy Gu 8dbc665ea1 Check if specified target is valid
See #518.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-10-07 20:37:59 -07:00
Tony Theodore 500f27d10b Makefile: update default target to i686-w64-mingw32.static (see #492) 2014-10-03 13:49:09 +10:00
Timothy Gu c693d0496d Silent the echoing of comment in build-matrix.html
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-09-29 15:43:26 -07:00
Timothy Gu 93f5573c6f Explicitly disallow paths with whitespace
It didn't work anyway even before this commit.

Workarounds #490.
2014-09-03 20:31:55 -07:00
Timothy Gu 9279bedac0 Change default sf mirror to auto-select 2014-09-03 20:02:13 -07:00
Timothy Gu 3209c45566 Add MXE_NO_BACKUP_DL mode for regression testing
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-08-29 20:27:12 -07:00
Timothy Gu 30d2e78632 Add target download-only-* to ease developing
Signed-off-by: Timothy Gu <timothygu99@gmail.com>

Conflicts:
	Makefile
2014-08-29 17:13:24 -07:00
Timothy Gu 55558ecdd3 Add target download-only-* to ease developing
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-08-21 19:53:45 -07:00
Uwe Hermann fd1dc823ed Makefile: Add MXE_DISABLE_{PROGRAMS,DOCS,CRUFT}. 2014-08-21 18:29:49 +02:00
Timothy Gu 754f485bd2 Support .tbz2 and .txz
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-08-07 17:51:38 -07:00
Timothy Gu 8b2e5e1bac Fix GitHub update routine
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-08-01 19:41:37 -07:00
Timothy Gu b075a5ca1e Fix autoconf version test since b9c230dd
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-06-30 16:44:24 -07:00
Timothy Gu 77238e0175 Remove the usr/ directory in addition to its contents
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-06-27 11:48:00 -07:00
Tony Theodore 128adcdac8 Makefile: reduce wget timeouts and retries 2014-06-17 21:20:37 +10:00
Timothy Gu f341eb3780 Makefile: fix whitespace
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-17 11:40:05 -07:00
Timothy Gu 3a506a2c61 Merge branch 'native' 2014-05-15 19:36:42 -07:00
Tony Theodore 7e59569dcd Makefile: style cleanups 2014-05-12 01:17:36 +10:00
Timothy Gu 1eadfb66ec Makefile: style cleanup
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-10 14:22:46 -07:00
Timothy Gu 14375a38ff show-*deps-%: check if package exists before attempting to show deps
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-10 14:16:49 -07:00
Timothy Gu d632bcd7cb Use set_is_member from GMSL for $(PKGS)
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-10 14:09:15 -07:00
Timothy Gu 20969b9645 Fix per-target dep calculation
For example `make show-downstream-deps-winpthreads` didn't show any deps
even though i686-w64-mingw32.static target is set.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-09 20:48:54 -07:00
Timothy Gu d68838f924 Check all requirements before exiting on error
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-05 20:28:16 -07:00
Timothy Gu 1bf5679e1a Separate out native-only packages in build matrix (& cosmetics)
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-04 14:22:40 -07:00
Timothy Gu cc00a4b039 Count "virtual" packages seperately in total in build-matrix.html
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-03 16:51:10 -07:00
Timothy Gu 0f30d73e37 Add package count per target
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-05-02 17:49:30 -07:00
Timothy Gu 2b02ee7a90 Add build matrix generation target
Based on a patch by Tobias Gruetzmacher <tobias-git@23.gs> (@TobiX).

Fixes #346.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-04-29 20:37:23 -07:00
Timothy Gu 681921c815 Increase $(BUILD_PKG) accuracy by checking build rules
This eliminates false-positive with packages with explicit empty build rules
like binutils. gcc is another false-positive, but it is another matter and is
harder to fix.

Also use set_create function from GMSL to make the list sorted and uniq'd.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-04-29 18:54:05 -07:00
Timothy Gu b7ef1855fc Move up LOOKUP_PKG_RULE
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-04-29 18:54:05 -07:00
Timothy Gu 5eccb2f4db Move whitespace variables up to where all the other variables are
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-04-26 11:25:30 -07:00
Tony Theodore a90a7252e2 silence deprecated target name warning for build-requirements 2014-04-22 19:13:17 +10:00
Tony Theodore 89a6f46b21 add requirements for gperf python ruby 2014-04-22 18:21:52 +10:00
Tony Theodore 6d6e255dbf Merge pull request #359 from TimothyGu/temp-rem
Add convenience target clean-junk
2014-04-15 19:46:21 +10:00
Timothy Gu 130116224d Squalch deprecated target name warning for build-requirements
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-04-11 17:24:36 -07:00
Timothy Gu c155dd7c8d Merge commit 'd3adb06a1383a1454e95d58400c520454a61a716' 2014-04-10 21:41:07 -07:00
Timothy Gu b89c4d4703 Add documentation for default settings.mk
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-04-10 21:40:27 -07:00
Timothy Gu d3adb06a13 Sort $(MXE_TARGET_LIST) by triplets instead of lib types
Nothing in the Makefile is affected else than the generation of default
settings.mk.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-04-09 18:22:15 -07:00
Timothy Gu 6a099a0403 Add convenience target clean-junk
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-03-26 19:15:15 -07:00
Timothy Gu 8d877bdc75 Always symlink to log/PKG_TARGET
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-03-20 19:59:40 -07:00
Timothy Gu 99aea29c01 Use tmp-PKG-TARGET as temporary dir
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-03-20 19:59:40 -07:00
Timothy Gu 97402e08de Make download-* targets display "[download] *" instead of log
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-03-10 18:34:19 -07:00
Tony Theodore 0ff238e882 Makefile: add support for make-shared-from-static tool with default args 2014-03-10 13:33:47 +11:00
Tony Theodore 801cda3b53 Makefile: add MXE_VERBOSE variable to echo full logs
closes #309 and resolves #299
2014-02-12 19:41:57 +11:00
Tony Theodore 723241e085 Makefile: speedup LOOKUP_PKG_RULE function
Use gmsl `memoize` function and associative arrays to cache results
2014-02-12 16:00:21 +11:00
Tony Theodore c950f3635c various packages: enable shared builds 2014-02-10 16:33:26 +11:00
Tony Theodore 837ecd6648 Makefile and pkgconf: move external tools separate directory 2014-02-10 02:47:16 +11:00
Tony Theodore 47361fa750 Makefile docs and pkgconf: add support for shared|static variants 2014-02-09 18:34:19 +11:00
Tony Theodore 5a18b2786b Merge pull request #320 from tonytheodore/lookup-pkg-rule
Makefile: refactor lookup of pkg build rules and deps
2014-02-09 03:34:47 +11:00
Tony Theodore 4bba59627e Makefile: refactor lookup of pkg build rules and deps
Introduces a LOOKUP_PKG_RULE function that matches generic rules
from targets specified along the lines of:

triplet.lib-type.debug.treading.exceptions.my.experimental.version

Current build rules will be matched according to the current logic
(pkg-target --> pkg) and future variants can use "targets" as both
functionality determinants and a directory separator for multiple
side-by-side variants.
2014-02-09 00:11:19 +11:00
Tony Theodore 1a9ad29fe6 mxe configury: build native pkgconf and centralise various conf files
Since we need pkgconf for Cflags.private support, it seems like a
logical place for these types of config files instead of being
spread over Makefile, binutils, and gcc.
2014-02-08 23:23:00 +11:00
Tony Theodore 5fd5e9bbec Makefile and docs: add GNU Make Standard Library 2014-02-08 22:43:13 +11:00
Tuukka Pasanen 9fafc0b3fc Add MXE-wide dependency for autopoint to full fill package xine-lib requirements 2014-01-28 16:08:16 +11:00
Tony Theodore e17929f62d Revert "Add MXE_VERBOSE variable"
This reverts commit 56a8b1c202.
2014-01-15 00:46:47 +11:00
Timothy Gu 56a8b1c202 Add MXE_VERBOSE variable
Define to view full and not `tail`'d log if building fails at build time.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-01-02 11:07:45 -08:00
Niels Kristian Bech Jensen e80e2aae74 Makefile and docs: update automake version requirement
Conflicts:
	Makefile
2013-12-26 14:16:09 +11:00