sometimes it's necessary to not build inside the mxe folder. The
variable MXE_TMP can be used to change the base directory for creating
tmp directories that are used for building.
Rationale: when using virtualbox to build the cross-compile environment
and the mxe project is in a shared folder, at least stripping is not
working because of an internal error of the shared filesystem. So the
solution is to change the tmp-directory to a place inside the VM.
MXE recongized file src/lua-rapidjson-1-use-unix-file-functions.patch
as a patch for lua, however it was intended to be a patch for lua-rapidjson.
Patch filename pattern was src/$(1)-*.patch.
* captured "rapidjson-1-use-unix-file-functions".
Currently * was replaced with [0-9]* to require patch name starting with
a digit.
close#921
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.
* 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))
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
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.