Commit Graph

21 Commits

Author SHA1 Message Date
sfan5 e6c5d58d1e build: update waf to 2.0.24 2022-09-21 22:51:25 +02:00
Jan Ekström 40ea28c6f9 bootstrap: log caught URLError
This enables us to get more of a message than just "Download failed.",
possibly helping people help themselves to get the download going.

References #8417
2020-12-22 19:09:20 +02:00
LaserEyess d7e80dee26 bootstrap.py: remove all python2 support
In 0.33.0 python2 support has been removed from mpv's build system. This
commit removes python2 compatibility code from bootstrap.py with the
following changes:

 - __future__ import for print_function is not needed
 - urllib2 is python2 only
2020-11-27 11:17:29 +01:00
Uoti Urpala 2409300d40 build: always run waf with python3
Upstream waf still ships with the default interpreter being "python",
though the script works with both Python 2 and Python 3 (they're not
changing the default choice during 2.0.x releases for compatibility
reasons apparently). Add code to bootstrap.py to change the
interpreter from "python" to "python3" when downloading the "waf"
file.

Running any mpv code under Python 2 should be considered unsupported
in the future (and any code added need not work under Python 2).
2020-11-22 13:59:26 +01:00
Jan Ekström 3248b073ce build: bump waf to 2.0.20
There have been mentions that there are apparently some bugs with
regards to possible random build failures, so bumping after a few
years sounds like an OK thing to test/do.
2020-10-16 00:01:23 +03:00
Niklas Haas f868052872 build: force bootstrap.py to use python3
The script fails running successfully with python2.
2019-12-24 12:22:36 +01:00
Philip Sequeira c5d03d338e build: add --no-download option to bootstrap.py
With this option, the script will check that the expected waf version is
present, but will simply fail if it's not, rather than trying to
download it. This allows a package build script to avoid compile-time
network access but still ensure it's using the right waf version.
2018-08-13 19:09:35 +02:00
Akemi 15a6d0028e build: bump waf to 2.0.9
Among other things, fixes compatibility with python 3.7.x.
2018-07-12 01:48:10 +03:00
wm4 b3488822fd build: update waf
Seems like it has been long enough since we last updated.
2017-02-17 18:54:21 +01:00
Stefano Pigozzi 532508823c build: update waf to 1.8.12 2015-07-18 21:37:30 +02:00
Stefano Pigozzi ba525e68c4 bootstrap: change waf primary mirror
Requested by waf's developer. The ftp mirror is going to be closed down in
the short future.
2015-07-12 10:09:50 +02:00
wm4 73401f92ec bootstrap.py: make it work on win32
Apparently, just running ./waf and hoping that it will be run with a
Python interpreter doesn't necessarily work. The workaround is pretty
simple and reliable.
2015-06-04 11:10:02 +02:00
Martin Herkt 958dbca3ef bootstrap: add waf mirror 2015-03-15 21:11:40 +01:00
Stefano Pigozzi 4979f2f452 build: update to waf 1.8.4 2014-12-04 21:55:00 +01:00
Stefano Pigozzi d906d09162 build: update waf to version 1.8.1
Fixes #1164
2014-10-11 20:54:42 +02:00
Timothy Gu 86e5f15592 bootstrap: update waf website and version
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: wm4 <wm4@nowhere>
2014-06-18 15:56:57 +02:00
wm4 5b3fd09908 build: update waf
<lachs0r> it fixes issues with recent python3
2014-03-04 12:08:40 +01:00
Stefano Pigozzi 27d578a847 bootstrap.py: reindent to 4 spaces 2013-11-26 21:35:37 +01:00
eng 9d603e9985 bootstrap.py: check version if waf already exists 2013-11-24 22:14:39 +01:00
wm4 dc87c5e452 bootstrap.py: skip download if waf already exists
It seems like a good idea not to generate any additional network traffic
and wait times if we don't have to.

Also print the URL it's downloading from.

Note that if we require a newer waf release, there will be a problem.
Running ./bootstrap.py won't get the newest waf version anymore in case
the old version is in the source dir. Not sure how to handle this.
2013-11-24 17:00:26 +01:00
Stefano Pigozzi 7e2edad8ef switch the build system to waf
This commit adds a new build system based on waf. configure and Makefile
are deprecated effective immediately and someday in the future they will be
removed (they are still available by running ./old-configure).

You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`.
TL;DR: we couldn't get the same level of abstraction and customization with
other build systems we tried (CMake and autotools).

For guidance on how to build the software now, take a look at README.md
and the cross compilation guide.

CREDITS:
This is a squash of ~250 commits. Some of them are not by me, so here is the
deserved attribution:

 - @wm4 contributed some Windows fixes, renamed configure to old-configure
   and contributed to the bootstrap script. Also, GNU/Linux testing.
 - @lachs0r contributed some Windows fixes and the bootstrap script.
 - @Nikoli contributed a lot of testing and discovered many bugs.
 - @CrimsonVoid contributed changes to the bootstrap script.
2013-11-21 21:22:36 +01:00