Commit Graph

360 Commits

Author SHA1 Message Date
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
Niels Kristian Bech Jensen b6bde6e9d3 update automake version requirement 2013-12-26 13:30:54 +11:00
Tony Theodore acacfb4e1c Merge branch 'stable'
Conflicts:
	Makefile
2013-12-04 17:22:05 +11:00
Tony Theodore 37c6bfca7a Makefile and docs: require automake 1.12 or later 2013-12-04 17:16:05 +11:00
Timothy Gu d915ffa01f Add update-package-% target 2013-11-29 14:37:25 -08:00
Tony Theodore 6051122254 Makefile: allow bypassing check-requirements 2013-10-19 22:58:11 +11:00
Tony Theodore f488a011f1 Makefile: fix config.guess install 2013-09-12 17:28:51 +10:00
Tony Theodore bc6104ccca Makefile: move config.guess install from binutils 2013-09-12 17:25:13 +10:00
Tony Theodore 283449db45 Makefile: don't exit on failed download (failed checksum will exit) 2013-09-08 00:07:59 +10:00
Tony Theodore cd9425517b Makefile: add explicit failed download message 2013-08-27 19:04:33 +10:00
Tony Theodore 368150f334 Makefile: use cut instead of sed for env var list 2013-08-27 18:42:27 +10:00
Tony Theodore 35b8cdb8ad Makefile: add proxies to env whitelist 2013-08-27 18:18:13 +10:00
Tony Theodore e42592bb78 Makefile: remove extraneous backslash 2013-08-26 01:00:43 +10:00
Tony Theodore 82edf6dda8 Makefile: add build-requirements goal for optional native builds 2013-08-25 21:34:27 +10:00
Tony Theodore 6ab49b639e Merge pull request #228 from tonytheodore/deps
Makefile and docs: add EXCLUDE_PKGS and show*deps* functionality
2013-08-25 03:09:10 -07:00
Tony Theodore 58351a7b23 Makefile: remove TARGET dependencies on BUILD - keep optional for time being 2013-08-25 19:43:42 +10:00
Tony Theodore 08647cc045 Makefile: add BUILD variable and add to target loop and PATH 2013-08-25 19:06:40 +10:00
Tony Theodore 143ae3c63f Makefile and docs: add EXCLUDE_PKGS and show*deps* functionality 2013-08-21 01:18:34 +10:00
Tony Theodore 87cf91e5e1 Makefile: use a minimal whitelist of env vars 2013-08-12 16:08:55 +10:00
Tony Theodore 14cf095b76 Makefile: create marker directories so --touch works on clean tree 2013-08-08 18:15:28 +10:00
Tony Theodore 16a27abaf0 Makefile: add missing separator to find command 2013-08-07 21:20:17 +10:00
Tony Theodore 8982ac6b9e Makefile: add settings.mk to failed log output 2013-08-07 20:50:44 +10:00
Tony Theodore d6a0b0a47b Makefile: unexport various *TARGET* variables 2013-08-07 20:23:37 +10:00
Tony Theodore 641c765f31 Makefile: add target-specific dependencies to download-foo rules also 2013-08-06 22:51:16 +10:00
Tony Theodore 5fa97e7eed Makefile: add target-specific dependencies 2013-08-06 22:30:33 +10:00
Tony Theodore 4bc0f0f924 remove optional native builds for autoconf automake cmake libtool
these need more testing and proper multi-target support
2013-07-26 12:56:28 +10:00
Volker Grabsch e412eb642d Move package versions from index.html back into the src/*.mk files
Most of the automatic conversion was done using the following Python script:

import os
import re
pkgs = sorted(mkfile[:-len('.mk')] for mkfile in os.listdir('src') if mkfile.endswith('.mk'))
with open('index.html', 'rb') as f:
    index = f.read()
pkgs_index = re.findall('<td class="package">([^<]*)</td>', index)
assert pkgs_index == pkgs
versions = dict(re.findall('<td id="([^"]*)-version">([^<]*)</td>', index))
assert sorted(versions.keys()) == pkgs
for pkg in pkgs:
    version = versions[pkg]
    with open('src/' + pkg + '.mk', 'rb') as f:
        mk = f.read()
    checksumpos = mk.index('\n$(PKG)_CHECKSUM ')
    versionline = '\n$(PKG)_VERSION  := %(version)s' % {'version': version}
    newmk = mk[:checksumpos] + versionline + mk[checksumpos:]
    with open('src/' + pkg + '.mk', 'wb') as f:
        f.write(newmk)
2013-07-22 01:41:31 +02:00
Volker Grabsch 4419187a68 Replace unneeded "*-package" IDs in the docs 2013-07-22 00:19:50 +02:00
Tony Theodore 2b8d7eaf67 add optional native automake and autoconf 2013-07-17 13:27:00 +10:00
Tony Theodore b009e1f19f Makefile: log OSX software version 2013-07-14 20:21:19 +10:00
Tony Theodore cc718d702a Makefile and docs: remove yasm requirement 2013-07-13 20:26:42 +10:00
Tony Theodore 54fa3a4e0f Makefile: add extra logging details 2013-07-07 19:36:17 +10:00
Tony Theodore b7243e09a1 Makefile: add $(DATE) portability variable 2013-06-28 00:02:30 +10:00
Tony Theodore 8e7faf84df Makefile: add MXE_TARGET_LIST variable 2013-06-24 00:14:03 +10:00
Tony Theodore dff8750125 Makefile: add new DEFAULT_MAX_JOBS variable 2013-06-19 23:41:59 +10:00
Tony Theodore 7f2abcb332 Makefile: add g++ to requirements check 2013-06-04 14:42:52 +10:00
Mark Brand d3e276f9f0 unset CONFIG_SITE 2013-06-02 19:39:54 +02:00
Tony Theodore 95e37fbe7e Makefile: add target loop, serialise targets, and update settings file 2013-06-01 22:28:01 +10:00
Tony Theodore abc6e0993c Makefile: change order of ignore filter to allow patterns 2013-05-22 19:48:52 +10:00
Tony Theodore c329e0827c Makefile: default JOBS to number of CPUs 2013-05-12 14:25:01 +10:00
Tony Theodore 0a78a67d8e Makefile: fix indentation of missing url check 2013-05-05 19:59:32 +10:00
Tony Theodore fe78957219 Makefile: fix indentation of missing url check 2013-05-05 19:57:46 +10:00
Tony Theodore 0adc6cab1a Makefile: add error messages for undefined package or url 2013-05-05 19:26:06 +10:00
Tony Theodore 62d4c8c0ce Makefile: alert when an older verison is found during update 2013-03-31 20:26:34 +11:00
Ulrich Klauer 09e6d45916 Complete adding of GNU sort
Mention GNU Coreutils in the requirements section and check that
$(SORT) is available.
2013-03-29 14:32:32 +01:00
Tony Theodore 4c3dad0aa0 Makefile: only update to latest version and print macro for failed updates 2013-03-27 01:20:56 +11:00
Tony Theodore 79b59c8430 add portability variable for gnu sort and add coreutils to requirements 2013-03-26 22:54:10 +11:00
Tony Theodore 107bd8856e Makefile: continue after errors in update macros 2013-03-25 16:17:08 +11:00
Tony Theodore 77d4ec9fef Makefile: add sample default rule when creating settings.mk 2012-12-23 18:56:53 +11:00
Tony Theodore 419f67bacd Makefile: correctly escape urls for amazon services 2012-12-06 03:38:45 +11:00
Volker Grabsch 9bdffc5b85 Merge pull request #81 from tonytheodore/glib-optional-native
Review: Build glib native tools only if they're not installed
2012-09-21 09:49:59 -07:00
Mark Brand 1be528dde5 fix spurious PKGS targets
Follow-up to d711e21f6a which
mentioned gettext which accidentally was seen as a target
for via PKGS by Makefile.
2012-09-19 00:20:06 +02:00
Tony Theodore 8de88aa4dd Makefile: pass PKG variable to build rules
See here for explanation:

http://www.gnu.org/software/make/manual/make.html#Target_002dspecific
2012-09-18 17:35:15 +10:00
Tony Theodore 9c2746d2c4 add package cdn fallback 2012-09-16 19:43:49 +10:00
Tony Theodore b4ec3437d2 cleanup after failed download 2012-09-16 19:03:11 +10:00
Tony Theodore cf12ed3972 fix bracketing of wget calls 2012-09-16 18:26:07 +10:00
Tony Theodore 936a7f7b9a add tertiary fallback for unavailable package files 2012-09-16 17:49:28 +10:00
Mark Brand 5cc604d8b6 Merge branch 'stable' 2012-08-17 14:37:42 +02:00
Mark Brand a93d9d0dc9 replace sourceforge mirror
routing problems reported and verified with kent.dl.sourceforge.net
2012-08-17 14:36:10 +02:00
Tony Theodore 6f98c22697 Makefile: add wget portability variable - $(WGET) 2012-05-16 17:49:08 +10:00
Volker Grabsch 6f47641bb6 Add support for a local settings file settings.mk 2012-05-03 23:15:02 +02:00
Volker Grabsch 137fede635 Bugfix in "make check-requirements" to work with Automake 1.12 2012-05-02 15:42:36 +02:00
Volker Grabsch 757ed92e87 Remove entries for the "dist/" directory which is no longer used 2012-04-16 14:52:42 +02:00
Volker Grabsch 003362b9ae Portability fix: Define $(PWD) before $(SHELL)
For more information, see:
http://lists.nongnu.org/archive/html/mingw-cross-env-list/2012-04/msg00004.html
2012-04-10 06:49:00 +02:00
Tony Theodore d99585da15 revert PWD portability fix 2012-04-06 23:54:54 +10:00
Tony Theodore 0c9d711a11 portability fix: use physical location for PWD 2012-04-06 15:19:41 +10:00
Volker Grabsch b004dc9aa2 Load only *.mk files of packages mentioned in index.html
This avoids confusion when left-over files were accidently loaded.

For more information, see:
http://lists.nongnu.org/archive/html/mingw-cross-env-list/2012-03/msg00156.html
2012-03-31 13:10:47 +02:00
Volker Grabsch b30427d28d Load list of packages from index.html instead of scanning src/ 2012-03-30 09:23:13 +02:00
Volker Grabsch 96bbff530a Improve order of entries in main Makefile 2012-03-30 09:22:06 +02:00
Volker Grabsch 9c79bd37ae Improve "make cleanup-style" to touch only files that have to be fixed 2012-03-30 09:12:14 +02:00
Volker Grabsch 2597d986c2 Fix trailing space after version number 2012-03-29 14:17:02 +02:00
Volker Grabsch 875c74934c Add new command "make cleanup-style" 2012-03-29 13:00:17 +02:00
Volker Grabsch 1a99fb3de2 Remove "make dist" as it is of no use anymore 2012-03-29 12:27:58 +02:00
Volker Grabsch 7badad85c9 Move doc/index.html -> index.html 2012-03-29 12:14:15 +02:00
Volker Grabsch 8a254e5b71 Improve performance of loading main Makefile 2012-03-29 11:07:56 +02:00
Volker Grabsch 7e6723adb5 Move $(PKG)_VERSION and $(PKG)_WEBSITE from src/*.mk into doc/index.html 2012-03-29 11:07:07 +02:00
Volker Grabsch 483164575c Improve coding style 2012-03-29 11:05:38 +02:00
Volker Grabsch c9289cde81 Improve coding style 2012-03-29 10:10:20 +02:00
Volker Grabsch d21f492f7a Improve coding style 2012-03-29 09:58:26 +02:00
Volker Grabsch 4d18a12ed1 Disable release tarball creation and upload in "make dist" 2012-03-28 16:48:44 +02:00
Volker Grabsch 2bd4751713 Remove dead code 2012-03-28 16:47:39 +02:00
Volker Grabsch defdff28f0 Rebrand to new project name MXE 2012-03-28 15:46:58 +02:00
Volker Grabsch 8aafe30c08 Remove the old and probably incorrectly working "make strip" feature
More information:
http://lists.nongnu.org/archive/html/mingw-cross-env-list/2012-03/msg00068.html
2012-03-27 13:41:41 +02:00
Volker Grabsch 037aa0db41 Produce cleaner HTML code for package list 2012-03-22 23:50:57 +01:00
Volker Grabsch b8c40cbc78 Simplify code 2012-03-22 23:25:43 +01:00
Volker Grabsch a2d2bf86c7 Simplify authors list in the docs 2012-03-22 23:19:40 +01:00
Volker Grabsch a889647b58 Check for required versions of Autoconf and Automake 2012-03-19 12:19:52 +01:00
Volker Grabsch 148931b4ae replaced $(BUILD) with a more direct and less brittle construct
For discussion, see the following email and its follow-ups:
http://lists.nongnu.org/archive/html/mingw-cross-env-list/2011-11/msg00112.html
2011-11-28 09:51:56 +01:00
Mark Brand 26a746fe74 add BUILD and install config.guess and config.sub 2011-11-26 21:28:02 +01:00
Volker Grabsch 6ca88cec3a merge 2011-11-15 16:43:58 +01:00
Volker Grabsch f2e6c5b0b7 Ensure that $(PWD) is always set, which is needed for use with sudo 2011-11-15 16:32:32 +01:00
Volker Grabsch d3bff5a8cb log the total disk usage of the temporary build directory after each successful build 2011-09-03 21:17:41 +02:00
Volker Grabsch eda23ec881 avoid HTTPS issues when downloading files (the checksum test remains, of course) 2011-05-25 12:48:11 +02:00
Volker Grabsch 6e8d007501 improved validator URL to be used on "make dist" 2011-04-06 15:10:47 +02:00
Volker Grabsch 369c6f7e3e fixed usability issue in "make dist" 2011-03-19 20:00:13 +01:00
Volker Grabsch dac2f1a408 improved "make dist" to automate more activities of the release process 2011-03-19 19:56:28 +01:00
Tony Theodore d9bfa57f73 add cmake toolchain file and simplify build rules of relevant packages 2011-03-17 05:05:00 +11:00
Mark Brand 0d2b6b3126 unpack .tar.xz archives 2011-01-21 11:37:49 +01:00
Volker Grabsch d8498fdad1 merge 2010-12-19 11:28:39 +01:00
Volker Grabsch 864448fec6 change number of download retries from 20 to 3 in case an alternative download location is available 2010-12-19 11:28:25 +01:00
Volker Grabsch 92c305aaf3 generate list of year for copyright message automatically from "hg log" 2010-12-18 11:24:49 +01:00
Volker Grabsch d2530d8d9e improved pkg-config wrapper and its documentation 2010-12-13 14:41:32 +01:00
Volker Grabsch 77f47c13ca improved update script of all remaining SourceForge packages 2010-12-02 20:31:45 +01:00
Volker Grabsch b165cde85f improved coding style 2010-11-28 17:41:46 +01:00
Volker Grabsch f53eac4b7f implemented $(PKG)_FIX_GZIP for GitWeb snapshots and similar issues
More information about this issue:
http://lists.nongnu.org/archive/html/mingw-cross-env-list/2010-11/msg00066.html
2010-11-28 13:51:03 +01:00
Volker Grabsch 3d1c3af5ab changed download mechanism to allow for simple integration of post-download filters, at the cost of not being able to contine interrupted downloads 2010-11-28 13:11:32 +01:00
Tony Theodore 7ddc7133cb add portability variable for libtool 2010-11-24 18:38:33 +11:00
Volker Grabsch 45b4571757 remove the $(INSTALL) tool from check-requirements, because "--help" makes trouble there 2010-11-21 22:06:33 +01:00
Volker Grabsch 84c97e979c check requirements only at the first time and after each change to the main Makefile (which possibly changed the list of requirements) 2010-11-19 11:47:35 +01:00
Volker Grabsch 342b0b2c09 bugfix in the integration of "make check-requirements" 2010-11-19 11:37:14 +01:00
Volker Grabsch d53bd94f0c check most of the requirements in advance 2010-11-18 12:00:26 +01:00
Volker Grabsch d379c295e6 improved coding style: make use of the "-f" option of "ln" 2010-11-18 04:00:31 +01:00
Volker Grabsch 05de57144c portability fix for MSYS 2010-11-18 03:58:30 +01:00
Volker Grabsch 86896847e7 merge 2010-10-05 14:22:19 +02:00
Volker Grabsch 85c761d255 Backed out changeset 4b7a5212ac52 2010-10-05 14:22:08 +02:00
Martin Gerhardy aa14f59833 handle *.bz2 files as *.tar.bz2
This is needed for package openal.
2010-09-26 16:51:42 +02:00
Volker Grabsch 53a952e879 improved coding style 2010-10-02 13:14:16 +02:00
Volker Grabsch 0505dd0914 add more environment variables to the blacklist: CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH LIBRARY_PATH 2010-09-29 11:43:27 +02:00
Tony Theodore 6def825015 rollback previous commit 2010-09-27 01:25:24 +10:00
Tony Theodore 714a12ab02 use the more recent gcc42 on OSX 2010-09-27 01:12:56 +10:00
Volker Grabsch d01c84a760 improved coding style 2010-09-20 02:11:07 +02:00