Commit Graph

71 Commits

Author SHA1 Message Date
Miro Hrončok 8d6cbb3657 Python: Use EXT_SUFFIX config var over the deprecated/removed SO
Fixes https://gitlab.com/ita1024/waf/-/issues/2386
2022-05-17 17:09:21 +02:00
Thomas Nagy b1098d40a7 On windows, try $INCLUDEPY/../libs to detect the Python library path 2021-04-30 18:38:01 +02:00
Thomas Nagy 60e3f5f488 Work around distutils MACOSX_DEPLOYMENT_TARGET regression #2330 2020-12-17 14:17:35 +01:00
Thomas Nagy d2060dfd8a Conceal imp warnings in Python3 2019-08-14 22:05:45 +02:00
Thomas Nagy 497b875a89 Add -fno-strict-aliasing flags only if missing
https://gitlab.com/ita1024/waf/merge_requests/2248/diffs
2019-06-20 23:14:51 +02:00
Eric Müller e319a9c2c9 Allow for flat install of python files via `py` feature 2019-06-19 22:33:36 +02:00
Miro Hrončok 38d1cbeba4 Python 3.8 has different flags for pyembed, needs --embed
As recommended in the docs, to support both 3.8 and
previous versions, we try to use python3-config --embed and
fallback to the previous behavior.

Fixes https://gitlab.com/ita1024/waf/issues/2239

See https://docs.python.org/dev/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
2019-05-24 11:49:58 +02:00
Eric Müller 1efa74d38a Append python-config output only once 2018-10-23 12:38:41 +02:00
Matt Selsky efea0378fd python docs: check_python_version also defines PYTHONARCHDIR 2018-05-24 18:02:03 +02:00
Thomas Nagy 05188b4c7f
Enable install_path=None for Python targets #2087 2017-12-02 09:26:17 +01:00
Thomas Nagy 52a61c45e8
Docstring pytask -> pyc/pyo 2017-11-27 19:35:59 +01:00
Thomas Nagy 4d7527b4c4 Clarify the exception type raised by cmd_and_log 2017-06-20 11:20:53 +02:00
Thomas Nagy 578230789a
Handle spaces in python paths on Windows #1973 2017-05-29 23:11:53 +02:00
Thomas Nagy 98f051dfa4
Detect Python from conf.env.PYTHON 2017-04-14 02:47:30 +02:00
Thomas Nagy a31b08615c
Ensure env.PYTHON is set (regression) 2017-04-13 21:10:47 +02:00
Thomas Nagy 17015626e2
Keep opt.load('python') optional 2017-04-13 12:13:16 +02:00
Ricardo Crudo 2ea34191fb Tools/python: add option --nopycache (#1878)
Add option to not use __pycache__ dir when installing python objects.
2016-12-21 22:27:29 +01:00
Thomas Nagy 70a40c1673
Let the Python byte-compilation display pyc/pyo 2016-10-03 15:30:04 +02:00
fedepell e8f6d4bfe7 Correct option used for python executable (--python and not --pythondir) 2016-09-14 21:09:45 +02:00
Thomas Nagy 850e9ad5fc
Simplify env['FOO'] -> env.FOO 2016-06-25 23:54:12 +02:00
Daniel Bartel 44b571172b Merge branch 'master' into check_swig_version 2016-06-21 21:07:55 +02:00
Thomas Nagy 9be51b5cf8
Fix the Python version detection message #1760 2016-06-21 20:22:27 +02:00
Daniel Bartel bf05bac08a fix output format issue 2016-06-20 21:33:26 +02:00
Thomas Nagy b1f5c0f814
Create installation tasks directly
Task generators created from other task generators may be
skipped during partial builds. This change re-enables
install_task as a task attribute and provides a task
object with input and output nodes which can be re-used
by other tasks.
2016-05-06 15:54:36 +02:00
Thomas Nagy 09f67a3b3a
Remove the private Scripting._can_distclean function 2016-04-27 18:42:38 +02:00
Thomas Nagy 8b32d93ec3
cleanup: '%s' -> %r 2016-04-26 19:35:46 +02:00
Thomas Nagy 8520dd65bb
Code cleanup 2016-04-19 22:00:21 +02:00
Thomas Nagy a08aff6bff
Format debug/info records lazily 2016-03-19 14:46:22 +01:00
Thomas Nagy df8e144631 Smarter detection of programs passed to the command-line 2016-02-23 22:59:29 +01:00
Thomas Nagy 1886e77063
Workaround for python-config bug 7352 - Issue 1636 2015-10-09 19:19:59 +02:00
Thomas Nagy c91214e216
generated .py files might need to be byte-compiled and installed 2015-06-11 18:15:10 +02:00
Thomas Nagy 802e937d73
Regression caused by 588f809ffa - https://github.com/waf-project/waf/pull/1572 2015-05-08 18:16:48 +02:00
Thomas Nagy 44211e0bb5
Enabled errors on warnings for the apidoc generation 2015-04-26 21:00:15 +02:00
Daniel Svensson 588f809ffa Use same prefix convention for python as with ruby and perl.
Should /usr/local/.../site-packages not be in sys.path in some
platform, a user would pass --pythondir, and --pythonarchdir to
waf when compiling, or modify sys.path.

This makes waf work more predictable, as when passing --prefix
parameter to the build, everything will be installed under this
directory.
2015-04-11 16:26:30 +02:00
Thomas Nagy 9a72b14976
Enable environment-provided flags for cross-compilation in python.py 2015-03-01 11:59:16 +01:00
Thomas Nagy 47a100480f
Issue 1538 - make detection of pyembed optional 2015-02-27 12:03:53 +01:00
XZS 6d5bde451d
install compiled python files besides sources
Compiled python files are now placed in a __pycache__ directory besides
the source file, which is in fact the only location PEP 3142 specifies.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2015-01-02 19:30:08 +01:00
Thomas Nagy 149653a937
First commit of the year 2015 2015-01-01 16:24:54 +01:00
Thomas Nagy 6c11f91e12
Issue 1522 2014-12-27 20:31:11 +01:00
Thomas Nagy 0cb547e65d
Issue 1498 - no python-config on windows, use the system from waf 1.7 2014-10-27 04:02:39 +01:00
Thomas Nagy 9a0a7ca562
Added crutches for python-config detection on Python 2.5 2014-09-28 23:07:02 +02:00
Thomas Nagy 49a8bb15b2
Issue 1471 - use python-config to detect python 2014-08-31 21:11:41 +02:00
Thomas Nagy 671add18e0
Install in the pycache folder of the file, not in the one of the task generator - Issue 1478 2014-08-29 20:05:58 +02:00
Thomas Nagy 32d2f0e1da
merged the os2 case in Utils.is_win32 2014-08-09 18:08:39 +02:00
Thomas Nagy f6aca05fdd
Create __pycache__ files - Issue 1403 2014-07-25 18:15:23 +02:00
Gustavo Carneiro 69fb126a4c Issue 1405 2014-02-04 10:55:26 +00:00
Jérôme Carretero 33a60e79e7 treecleaner: 'in [...]' replaced by 'in (...)' where appropriate 2014-01-05 16:27:06 -05:00
Jérôme Carretero 5064fd92ef always use the convention that commands are lists, remove find_perl_program, add interpreter 2013-09-04 23:10:10 -04:00
Jérôme Carretero 1fad148b2c Tools: python: allow passing PYTHON in environment 2013-09-04 00:35:49 -04:00
Alexander Afanasyev 9b75b843ae Tools/python: Extending python tool
add: show more command-line arguments to control which
     python is used and where py/pyext files should be installed.
     The new options are in addition to the existing PYTHON, PYTHONDIR,
     and PYTHONARCHDIR environment variable, providing the help messages
     to the user, so it can easily change parameters without second-guessing
     of what are they.

     Environmental parameters override command line arguments (is it right?)

updated: An extension to Configure.find_command to allow specification
         of the name for the searched command (using `msg` option). This is
         helpful when the search command is a huge list, as in the case of
         python's python-config case.

updated: Do not specify prefix for `get_python_lib`, since this way it
         can result in a wrong PYTHONDIR and PYTHONARCHDIR on certain platforms
         (e.g., OSX)

updated: Changing logic with byte-compilation of python files. Mow, files are
         compiled during the build stage, not install stage.  During the
         install stage files are simply copied to the requested
         location.

updated: If there is an error in python source code, byte-compilation
         phase will raise an exception and abort building process.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2013-08-17 18:15:05 +02:00