Commit graph

274 commits

Author SHA1 Message Date
Nick Coghlan 6ea4186de3 bpo-28180: Implementation for PEP 538 (#659)
- new PYTHONCOERCECLOCALE config setting
- coerces legacy C locale to C.UTF-8, C.utf8 or UTF-8 by default
- always uses C.UTF-8 on Android
- uses `surrogateescape` on stdin and stdout in the coercion
  target locales
- configure option to disable locale coercion at build time
- configure option to disable C locale warning at build time
2017-06-11 13:16:15 +10:00
Brett Cannon b4e5fee6f5 Clarify what --enable-optimizations does (GH-1847) 2017-06-09 13:56:57 -07:00
T. Wouters ddbfa2c35b Add --with-assertions configure flag to enable C assertions(#1731)
Defaults to 'no', but as before assertions are implied by --with-pydebug.
2017-05-23 01:30:49 +02:00
Victor Stinner a5c62a8e9f bpo-23404: make touch becomes make regen-all (#1405)
Don't rebuild generated files based on file modification time
anymore, the action is now explicit. Replace "make touch"
with "make regen-all".

Changes:

* Remove "make touch", Tools/hg/hgtouch.py and .hgtouch
* Add a new "make regen-all" command to rebuild all generated files
* Add subcommands to only generate specific files:

  - regen-ast: Include/Python-ast.h and Python/Python-ast.c
  - regen-grammar: Include/graminit.h and Python/graminit.c
  - regen-importlib: Python/importlib_external.h and Python/importlib.h
  - regen-opcode: Include/opcode.h
  - regen-opcode-targets: Python/opcode_targets.h
  - regen-typeslots: Objects/typeslots.inc

* Rename PYTHON_FOR_GEN to PYTHON_FOR_REGEN
* pgen is now only built by by "make regen-grammar"
* Add $(srcdir)/ prefix to paths to source files to handle correctly
  compilation outside the source directory

Note: $(PYTHON_FOR_REGEN) is no more used nor needed by "make"
default target building Python.
2017-05-03 18:21:48 +02:00
Victor Stinner 5facdbb291 bpo-30232: Support Git worktree in configure.ac (#1391)
Don't test if .git/HEAD file exists, but only if the .git file (or
directory) exists.
2017-05-02 21:42:48 +02:00
Victor Stinner 826f83f1d5 bpo-30104: Only use -fno-strict-aliasing on dtoa.c (#1340)
On clang, only compile dtoa.c with -fno-strict-aliasing, use strict
aliasing to compile all other C files.
2017-04-28 15:07:10 +02:00
Victor Stinner 35f3d240ee bpo-30104: configure now detects when cc is clang (#1233)
Detect when the "cc" compiler (and the $CC variable) is the Clang
compiler. The test is needed to add the -fno-strict-aliasing option
on FreeBSD where cc is clang.
2017-04-21 12:35:24 +02:00
Victor Stinner 28205b203a bpo-30104: Use -fno-strict-aliasing on clang (#1221)
Python/dtoa.c is not compiled correctly with clang 4.0 and
optimization level -O2 or higher, because of an aliasing issue on
the double/ULong[2] union.

LLVM bug report:
https://bugs.llvm.org//show_bug.cgi?id=31928
2017-04-21 11:24:34 +02:00
Benjamin Peterson 791dc83119 remove configure test for inline keyword (#1231)
We require C99, so a configure test for this standard feature is not needed.
2017-04-20 23:52:19 -07:00
Benjamin Peterson e4f961be09 improve alignment autoconf test (#1129)
Replace the deprecated AC_TRY_RUN with AC_RUN_IFELSE. Also, standardize the
variable name and allow for caching of the result.
2017-04-14 09:36:45 -07:00
Alex Wang 8cea5929f5 bpo-29643: Fix check for --enable-optimizations (GH-129)
The presence of the ``--enable-optimizations`` flag is indicated by the
value of ``$enableval``, but the configure script was checking ``$withval``,
resulting in the ``--enable-optimizations`` flag being effectively ignored.
2017-03-28 21:50:51 +09:00
Alex Dzyoba 8a543c0bc7 make tags fixes (GH-717)
* Fix `make tags` warnings

`make tags` target tries to find C sources and headers in "Grammar" and
"Mac" folders and generates these warnings:

    ctags: Warning: cannot open source file "Grammar/*.[ch]" : No such file or directory
    ctags: Warning: cannot open source file "Mac/*.[ch]" : No such file or directory

This commit changes $SRCDIRS variable in configure.ac to remote these
directories. This variable is used only for tags generation.

Also, "configure" was regenerated with `autoreconf`.

* Fix `make tags` fail on non-default tag names

When ctags overrides default tags filename (e.g. `-f .tags`) `make tags`
is failed because it assumes to see default `tags` filename:

    sort: cannot read: tags: No such file or directory

This commit explicitly specifies "tags" filename for tags generation.
2017-03-24 17:23:43 +09:00
Ned Deily 554626ada7 bpo-27593: Revise git SCM build info. (#744)
Use --short form of git hash.  Use output from "git describe" for tag.

Expected outputs:
1. previous hg
2. previous git
3. updated git

Release (tagged) build:
1. Python 3.7.0a0 (v3.7.0a0:4def2a2901a5, ...
2. Python 3.7.0a0 (v3.7.0a0^0:05f53735c8912f8df1077e897f052571e13c3496, ...
3. Python 3.7.0a0 (v3.7.0a0:05f53735c8, ...

Development build:
1. Python 3.7.0a0 (default:41df79263a11, ...
2. Python 3.7.0a0 (master:05f53735c8912f8df1077e897f052571e13c3496, ...
3. Python 3.7.0a0 (heads/master-dirty:05f53735c8, ...

"dirty" means the working tree has uncommitted changes.
See "git help describe" for more info.
2017-03-20 23:41:52 -04:00
Ned Deily 5c4b0d063a bpo-27593: Get SCM build info from git instead of hg. (#446)
sys.version and the platform module python_build(),
python_branch(), and python_revision() functions now use
git information rather than hg when building from a repo.

Based on original patches by Brett Cannon and Steve Dower.
2017-03-04 00:19:55 -05:00
Victor Stinner 193ee0a0e8 Prohibit implicit C function declarations
Issue #27659: use -Werror=implicit-function-declaration when possible (GCC and
Clang, but it depends on the compiler version).

Patch written by Chi Hsuan Yen.
2017-02-06 14:24:00 +01:00
Xavier de Gaye 9971220e41 Issue #26851: Merge 3.6. 2017-01-04 21:53:53 +01:00
Xavier de Gaye 2a352b667b Issue #26851: Set Android compilation and link flags. 2017-01-04 21:51:16 +01:00
Xavier de Gaye 507cbb0c0c Issue #28762: Merge 3.6. 2016-12-22 10:40:44 +01:00
Xavier de Gaye bdf0d0f039 Issue #28762: lockf() is available on Android API level 24, but the
F_LOCK macro is not defined in android-ndk-r13.
2016-12-22 10:38:59 +01:00
Xavier de Gaye a1cb689602 Issue #28538: Merge 3.6. 2016-12-21 17:30:50 +01:00
Xavier de Gaye 40e320b31e Issue #28538: On Darwin net/if.h requires that sys/socket.h be included beforehand. 2016-12-21 17:29:59 +01:00
Xavier de Gaye 3bfa1ed74d Issue #28538: Merge 3.6. 2016-12-21 12:48:26 +01:00
Xavier de Gaye 708784255e Issue #28538: Fix the compilation error that occurs because if_nameindex() is
available on Android API level 24, but the if_nameindex structure is not defined.
2016-12-21 12:46:36 +01:00
Benjamin Peterson 38f225dd48 merge 3.6 (#28932) 2016-12-19 23:55:24 -08:00
Benjamin Peterson b0eb986eb2 merge 3.5 (#28932) 2016-12-19 23:54:57 -08:00
Benjamin Peterson fb2ae15c67 add a specific configure check for sys/random.h (closes #28932) 2016-12-19 23:54:25 -08:00
Xavier de Gaye f191a9e8e4 Issue #28190: Merge 3.6. 2016-12-13 16:05:15 +01:00
Xavier de Gaye e13c3201fb Issue #28190: Cross compiling the _curses module does not use anymore
/usr/include/ncursesw as a headers search path.
2016-12-13 16:04:14 +01:00
Xavier de Gaye 5ca2b10213 Issue #28849: Merge 3.6. 2016-12-10 17:34:46 +01:00
Xavier de Gaye 32cf1acda8 Issue #28849: Do not define sys.implementation._multiarch on Android. 2016-12-10 17:31:28 +01:00
Martin Panter a57890e5ec Issue #10656: Merge AIX build fix from 3.6 2016-11-20 22:16:46 +00:00
Martin Panter e45df0a6da Issue #10656: Merge AIX build fix from 3.5 2016-11-20 22:06:44 +00:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) fe914c034f Rename the new --with-optimiations flag to --enable-optimizations. 2016-11-20 21:17:01 +00:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) 164eea5443 Rename the new --with-optimiations flag to --enable-optimizations. 2016-11-20 21:13:16 +00:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) 1016b2ff00 Rename the new --with-optimiations flag to --enable-optimizations. 2016-11-20 21:07:42 +00:00
Martin Panter 395733d46b Issue #10656: Fix out-of-tree building on AIX
The ld_so_aix script and python.exp file are created in the build directory.
Patch by Tristan Carel and Michael Haubenwallner.
2016-11-20 07:56:37 +00:00
Brett Cannon 1d8f755e67 Issue #28605: Fix the help and What's New entry for --with-optimizations. 2016-11-03 16:20:00 -07:00
Brett Cannon d4ef9d3feb Merge for issue #28605 2016-11-03 16:21:11 -07:00
Zachary Ware e999e96143 Issue #21085: Fix accidental leading +'s in configure.ac 2016-10-01 01:06:51 -05:00
Zachary Ware 6a6967e827 Issue #21085: add configure check for siginfo_t.si_band
Patch by Masayuki Yamamoto, reviewed and rebased by Erik Bray.

This is a first step on the long road toward resupporting Cygwin, which does
not provide siginfo_t.si_band.
2016-10-01 00:47:27 -05:00
Christian Heimes ae0fa7ee6c Write configure message to AS_MESSAGE_FD 2016-09-24 12:34:31 +02:00
Christian Heimes 938da643ee Write configure message to AS_MESSAGE_FD 2016-09-24 12:34:25 +02:00
Benjamin Peterson 637d1e2b0a merge 3.6 2016-09-20 20:39:44 -07:00
Benjamin Peterson 0c21214f3e replace usage of Py_VA_COPY with the (C99) standard va_copy 2016-09-20 20:39:33 -07:00
Zachary Ware f40d4ddff3 Closes #27979: Remove bundled copy of libffi
An installed copy of libffi is now required for building _ctypes on
any platform but OSX and Windows.
2016-09-17 01:25:24 -05:00
Benjamin Peterson 40465ebc27 merge 3.6 (#28081) 2016-09-13 22:55:19 -07:00
Benjamin Peterson 37098cd584 more granular configure checks for clock_* functions (closes #28081) 2016-09-13 22:55:09 -07:00
Ned Deily 4829bc6619 Bump to 3.7.0a0 2016-09-12 17:29:04 -04:00
Martin Panter 11a86ffe5e Issue #28066: Merge srcdir fix from 3.5 2016-09-12 01:51:44 +00:00
Martin Panter c5ee3caa80 Issue #28066: Fix include search directory logic for out-of-tree builds 2016-09-12 01:32:03 +00:00