summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: avoid circular deps for autotools pkgsTony Theodore2018-02-171-1/+1
|
* Makefile: ensure downloads of source-only pkgsTony Theodore2018-02-171-1/+2
| | | | missed in #1990
* Makefile: add note about gcc --> cc switchTony Theodore2017-12-221-0/+8
|
* Makefile and build-pkg: use {pkg}~{target} directlyTony Theodore2017-12-221-2/+2
| | | | | | | | | | | 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)
* Makefile: fixups for dry-runTony Theodore2017-12-221-2/+4
|
* rename archive pkg-type to source-only for clarityTony Theodore2017-12-221-2/+2
| | | | archive could imply a deprecated package
* Makefile: print download filename instead of pkgTony Theodore2017-12-221-1/+4
|
* Makefile: always touch install markers for empty buildsTony Theodore2017-12-221-1/+1
|
* Makefile: add script package type avoid unpacking archiveTony Theodore2017-12-221-1/+4
|
* Makefile: separate build and virtual pkg typesTony Theodore2017-12-221-6/+9
| | | | we don't actually want to package download-only pkgs
* add virtual toolchain package ccTony Theodore2017-12-221-2/+5
|
* Makefile: add support for cross-target and order-only depsTony Theodore2017-12-221-22/+86
|
* Improve handling of virtual packages and build messagesTony Theodore2017-12-221-49/+74
| | | | | | | | - 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
* updates: move to separate file and add generic updater functionTony Theodore2017-11-181-46/+2
|
* Makefile: speedup LOOKUP_PKG_RULETony Theodore2017-11-131-27/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 $ ```
* print-deps-for-build-pkg: sort and strip output for repeatable comparisonTony Theodore2017-11-131-3/+3
|
* Makefile and s3: add mxe mirror and tidy outputTony Theodore2017-11-131-4/+6
|
* Makefile: switch GitLab to https and reorder backup serversTony Theodore2017-11-121-4/+4
| | | | | | | 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
* Makefile: also create suffixed archives for backup downloadsTony Theodore2017-11-121-3/+4
| | | | | See: https://github.com/mxe/mxe/pull/1681#issuecomment-280887497
* Makefile: try next download url on failed checksumTony Theodore2017-11-121-13/+17
| | | | | | | | | | | | | | | | There are various cases where a download succeeds but the checksum is wrong: - upstream re-releases tarball without new version - sourceforge returns 200 with a text message about outage - other strange glitches In these cases, we currently fail and stop the build. This PR allows for falling through the next URLs until it will eventually get to the checksum-suffixed version. This ensures builds are always (potentially) repeatable as the checksum associated with the version is reachable. Next step would be to change all the backups to use suffixed tarballs.
* Makefile: add more disable doc optionsTony Theodore2017-10-191-0/+4
| | | | fixes #1936
* Makefile: strip dot from $PATHTony Theodore2017-10-131-1/+1
| | | | fixes #1893
* Makefile: always eval $(PKG)_PATCHES as a variableTony Theodore2017-10-091-2/+3
| | | | | Allows plugin packages to re-use the variable (eg. gcc7 and gcc-host) and keep this metadata in sync (same as *_VERSION, *_FILE, etc.)
* bump primary package mirror to HTTPSViktor Szakats2017-09-241-1/+1
|
* secure/update URLsViktor Szakats2017-09-241-3/+3
| | | | | | | | * change libssh2/apache/xiph URLs to canonical ones * resubmit patch to remove unnecessary --no-check-certificate option. The URLs are non-HTTPS anyway * blas: restore URL and point to versioned archive
* Makefile: add more MXE_DISABLE_DOC_OPTSTony Theodore2017-07-201-0/+1
|
* Merge pull request #1743 from tonytheodore/build-matrixBoris Nagaev2017-05-201-1/+2
|\ | | | | build-matrix: fix detection of native virtual packages
| * build-matrix: fix detection of native virtual packagesTony Theodore2017-04-031-1/+2
| |
* | MXE_DISABLE_DOCS: add nodist_man* versionBoris Nagaev2017-05-181-0/+10
| | | | | | | | Tor installs its mans in nodist_man1_MANS.
* | add dist_bin_SCRIPTS to MXE_DISABLE_PROGRAMSBoris Nagaev2017-05-181-0/+1
| |
* | factor out var WGET_TOOL from WGETBoris Nagaev2017-05-181-1/+2
| | | | | | | | | | | | | | It is needed to specify a path to custom wget binary without removing the argument passed by WGET (--user-agent). Also can be used to add --no-check-certificate back.
* | Makefile: explicitly set .DEFAULT_GOAL for LOCAL_PKG_LISTTony Theodore2017-04-021-1/+6
|/ | | | | | | | | | | | | | | Use `.DEFAULT_GOAL` [special variable] instead of `.DEFAULT` [built-in target] as the latter depends on include order and can cause confusing behaviour. `LOCAL_PKG_LIST` was [broken] in #1729 and this allows for any current `settings.mk` to work correctly. Should also fix #1264 and #1267 since MXE isn't going to include any other files that set this variable in a surprising way. [special variable]:https://www.gnu.org/software/make/manual/make.html#Special-Variables [built-in target]:https://www.gnu.org/software/make/manual/make.html#Special-Targets [broken]:https://github.com/mxe/mxe/commit/1cf2afb5d3afb1dda0d7a5322be758ec2befd2a1
* Makefile: explicitly set .DEFAULT_GOALTony Theodore2017-03-211-3/+1
| | | | first target read can be affected by definitions in included files
* github: add check-gh-conf targets to verify updates and downloadsTony Theodore2017-03-211-1/+8
|
* add MANLINKS to MXE_DISABLE_DOCSBoris Nagaev2017-03-201-0/+1
| | | | | | It is used in libotr (toolkit/Makefile.am) to define a list of symlinks to the main man page. Search for MANLINKS reveals that it is used in many other projects.
* Makefile: suppress messages in update-packageTony Theodore2017-03-191-0/+1
|
* github: use `if` instead of `and`Tony Theodore2017-03-191-1/+1
|
* Makefile: add check-update-package-% targetTony Theodore2017-03-181-0/+3
|
* add functions to standardise GitHub downloads and updatesTony Theodore2017-03-181-1/+13
|
* Merge pull request #1660 from tonytheodore/cmake-confBoris Nagaev2017-03-141-1/+2
|\ | | | | cmake: update and improve configuration with templates
| * cmake: improve configuration with templatesTony Theodore2017-03-121-1/+2
| | | | | | | | | | | | | | | | | | - move cmake configuration from mxe-conf to cmake-conf - replace `echo` with templates for readability and maintenance - allow packages to set other dep files - set CMAKE_POLICY_DEFAULT_CMPNNNN in wrapper since `cmake_minimum_required` or `cmake_policy` can't be set in toolchain (closes #971)
* | use http version of gitlab.com backupBoris Nagaev2017-03-121-1/+1
| | | | | | | | | | | | | | | | | | The rationale: https://github.com/LuaAndC/mxe/commit/bd2c77f4c29e9782ef20e105589e15cf0448d640#commitcomment-21229420 > If you absolutely want to disable secure transport I think it'd be a > better choice to use the http:// protocol instead, making the > insecurity unambiguously visible in logs/screen output. (Not sure if > GitLab supports it, but the first two does I think.)
* | no --no-check-certificate while updating packagesBoris Nagaev2017-03-121-5/+5
|/ | | | | | | | | | | | | | | | | | | | Regular downloads of packages are verified by checksums, so --no-check-certificate doesn't compromise the build system, but the checksums themselves are often updated with update-checksum-% which in turn calls the regular package download mechanism, so there is a possibility of downloading and sealing a poisoned file. On the one hand, old systems may still rely on --no-check-certificate, so it is not nice to completely disable it for regular downloads. However keeping this option enabled for backup servers only is enough to support such systems because of the fallback mechanism. On the other hand, download from a backup doesn't make sense while updating a package, because the package is definetely not in the backup yet. So --no-check-certificate is now enabled only for backup servers and backup servers are disabled while updating packages. See https://github.com/mxe/mxe/pull/1694#issuecomment-285324739
* add explicit protocol to backup urlsViktor Szakats2017-03-101-2/+2
|
* more URL updatesViktor Szakats2017-03-101-2/+2
|
* Makefile: add [POSIX | WIN32]_THREADS variableTony Theodore2017-02-071-0/+1
|
* allow non-default exception handling targetsTony Theodore2017-02-071-1/+19
|
* Merge branch 'LuaAndC-levmar-ua' of https://github.com/tonytheodore/mxe into uaTony Theodore2017-02-041-4/+4
|\
| * Makefile: simplify setting default user agentTony Theodore2017-01-211-4/+4
| |
| * allow to change User Agent; fix levmar downloadBoris Nagaev2016-10-171-5/+5
| | | | | | | | | | | | | | | | | | Parameter $(PKG)_UA overrides default user agent used by wget to download a package. It is needed, because download server www.ics.forth.gr from where levmar is downloaded, crashes on default user agent Wget/1.13.4. User agent for levmar was set to MXE. Now the server works. see https://github.com/mxe/mxe/issues/1519