Hello all I'd like to start this email by saying this is not a proposal to change Python's build system. This is just the results of some experimentation you might be interested it.
I have been working on a cross-platform build system called Meson, which is implemented in Python 3. For symmetry I wanted to see if it could be used to build Python itself. After about an evening worth of work, I got the basic C parts (that is, the build targets in the main Makefile such as core Python, pgen etc) built. Main highlights: - pyconfig.h generation in a fully cross-platform way without Autoconf (not tested with Visual Studio but should work as Meson has unit tests for this, tests for functions in header files and some others not done) - builds in a separate build directory, can have arbitrarily many build dirs with different configurations (for gcc/clang/static analysis/debug/release/etc) - configure time 5s, build time 8s on an i5 Macbook running Ubuntu (Autotool-configure takes 37 s but it's not directly comparable because it does a lot more) - the file describing the build is 433 lines, most of which look like this: if cc.has_header('io.h') pyconf.set('HAVE_IO_H', 1) endif - implementation of Meson is 100% Python 3, it does not have a dependency on the shell and in fact already works on Windows If you want to try it yourself, here are the steps (only 64 bit Linux tested thus far): - install python3-ply and Ninja (Ubuntu package ninja-build) - get Meson git head: https://sourceforge.net/p/meson/code/ - get Python3 trunk - download and extract the build files into trunk: https://dl.dropboxusercontent.com/u/37517477/python-meson.tar.gz - cd into Python trunk and do the following commands: mkdir build cd build path/to/meson.py .. ninja And there you have it. You can't do much with it, though (except run pgen to ensure that it actually did something ;) ). If you have any questions that are not directly related to Python, feel free to email me or the Meson mailing list. Enjoy,
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com