Commit Graph

1261 Commits

Author SHA1 Message Date
stratakis
e768c86ef4 bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. (#5284)
glibc is deprecating libcrypt in favor of libxcrypt, however python assumes
that crypt.h will always be included. This change makes the header inclusion
explicit when libxcrypt is present on the system.
2018-01-23 16:11:24 +01:00
Victor Stinner
872f841b12
bpo-32593: Run autoconf (#5282)
Update configure since configure.ac was modified to drop support for
FreeBSD 4.
2018-01-23 13:14:08 +01:00
Christian Heimes
ff5be6e810
bpo-32598: Use autoconf to detect usable OpenSSL (#5242)
Add https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html
to auto-detect compiler flags, linker flags and libraries to compile
OpenSSL extensions. The M4 macro uses pkg-config and falls back to
manual detection.

Add autoconf magic to detect usable X509_VERIFY_PARAM_set1_host()
and related functions.

Refactor setup.py to use new config vars to compile _ssl and _hashlib
modules.

Signed-off-by: Christian Heimes <christian@python.org>
2018-01-20 13:19:21 +01:00
David Carlier
b4ebaa7099 bpo-32493: Not only AIX, but FreeBSD has uuid_create support (#5089)
Allow building the _uuid extension module on FreeBSD and OpenBSD.
2018-01-09 20:38:07 +01:00
Nathaniel J. Smith
735ae8d139 bpo-29137: Remove fpectl module (#4789)
This module has never been enabled by default, never worked correctly
on x86-64, and caused ABI problems that caused C extension
compatibility. See bpo-29137 for details/discussion.
2018-01-05 23:15:34 -08:00
Michael Felt
0d3ccb4395 bpo-32399: Starting with AIX6.1 there is support in libc.a for uuid (RFC4122) (#4974)
Starting with AIX6.1 there is support in libc.a for uuid (RFC4122)
This patch provides the changes needed for this integration with the OS.

On AIX the base function is uuid_create() rather than uuid_generate_time()
The AIX uuid_t typedef is more aligned to the UUID field based definition
while the Linux typedef that is more aligned with UUID bytes
(or perhaps UUID bytes_le) definitions.
2017-12-30 22:39:20 +01:00
Benjamin Peterson
62ed6be8da
remove the dynload_next.c file (closes bpo-32386) (#4957) 2017-12-21 21:43:09 -08:00
Michael Felt
c5ae169e1b bpo-26439 Fix ctypes.util.find_library failure on AIX (#4507)
Implement find_library() support in ctypes/util for AIX.

Add some AIX specific tests.
2017-12-19 13:58:49 +01:00
Rob Boehne
9d25bd11ca Modify configure to link with the compiler driver under HP-UX when not using gcc. (#2519) 2017-12-06 09:58:17 -08:00
xdegaye
5ce1069a6f
bpo-28762: Revert last commit (now using Android Unified Headers) (GH-4488) 2017-11-23 12:01:36 +01:00
xdegaye
c06c22e9a9
bpo-29040: Support building Android with Unified Headers (GH-4492) 2017-11-23 11:44:38 +01:00
xdegaye
5ad7ef8e42
bpo-28538: Revert all the changes (now using Android Unified Headers) (GH-4479) 2017-11-23 11:13:22 +01:00
Serhiy Storchaka
9e78dc2517
Move comments in configure.ac to more appropriate place. (#4371) 2017-11-11 19:18:28 +02:00
Berker Peksag
0e163d2ced
bpo-11063: Use more reliable way to check if uuid function exists (GH-4343) 2017-11-09 00:43:14 +03:00
Berker Peksag
9a10ff4deb
bpo-11063: Add a configure check for uuid_generate_time_safe (GH-4287) 2017-11-08 23:09:16 +03:00
Berker Peksag
7e666eed36
Remove outdated with_threads checks in configure.ac (GH-4294) 2017-11-06 19:06:05 +03:00
Serhiy Storchaka
894ebd065e
bpo-31919: Fix building the curses module on OpenIndiana. (#4211) 2017-11-01 14:34:20 +02:00
Masayuki Yamamoto
8bc7d63560 bpo-25720: Fix the method for checking pad state of curses WINDOW (#4164)
Modify the code to use ncurses is_pad() instead of checking WINDOW
_flags field.  If your platform does not provide the is_pad(), the
existing way that checks the field will be enabled.

Note: This change does not drop support for platforms where do not
have both WINDOW _flags field and is_pad().
2017-11-01 14:05:26 +02:00
Serhiy Storchaka
baac01e629
bpo-31891: Fix building the curses module on NetBSD. (#4165) 2017-10-31 13:56:44 +02:00
Benjamin Peterson
24c4d046c4 drop unused configure check for pthread_atfork (#4046) 2017-10-18 23:39:01 -07:00
Ned Deily
14aa00b519 Allow configure to handle PATH elements with spaces (#3935) 2017-10-09 13:53:27 -04:00
Masayuki Yamamoto
731e189014 bpo-25658: Implement PEP 539 for Thread Specific Storage (TSS) API (GH-1362)
See PEP 539 for details.

Highlights of changes:

- Add Thread Specific Storage (TSS) API
- Document the Thread Local Storage (TLS) API as deprecated
- Update code that used TLS API to use TSS API
2017-10-06 20:41:34 +10:00
pdox
e14679c784 closes bpo-31596: Add an interface for pthread_getcpuclockid(3) (#3756) 2017-10-05 00:01:56 -07:00
Benjamin Peterson
d15108a478 stop using ranlib (closes bpo-31625) (#3815)
Instead, simply pass 's' to ar.
2017-09-29 08:42:41 -07:00
Benjamin Peterson
288d1daada remove support for BSD/OS (closes bpo-31624) (#3812) 2017-09-28 22:44:27 -07:00
Benjamin Peterson
b1d1c422cc remove configure check for memmove (#3716)
Python requires C implementations provide memmove, so we shouldn't need to check for it. The only place using this configure check was expat, where we can simply always define HAVE_MEMMOVE.
2017-09-24 12:08:40 -07:00
octaviansoldea
4c81401b3a bpo-31354: Let configure --with-lto work on all builds
Allow configure --with-lto to apply to all builds, not just profile-opt builds.

Whether this is actually useful or not must be determined by the person
building CPython using their own toolchain.

My own quick test on x86_64 Debian 9 (gcc 6.3, binutils 2.28) seemed
to suggest that it wasn't, but I expect better toolchains can or will exist
at some point.  The point is to allow it at all.
2017-09-08 12:14:33 -07:00
Antoine Pitrou
a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
caavery
effc12f8e9 bpo-27584: New addition of vSockets to the python socket module (#2489)
* bpo-27584: New addition of vSockets to the python socket module

Support for AF_VSOCK on Linux only

* bpo-27584: Fixes for V2

Fixed syntax and naming problems.
Fixed #ifdef AF_VSOCK checking
Restored original aclocal.m4

* bpo-27584: Fixes for V3

Added checking for fcntl and thread modules.

* bpo-27584: Fixes for V4

Fixed white space error

* bpo-27584: Fixes for V5

Added back comma in (CID, port).

* bpo-27584: Fixes for V6

Added news file.
socket.rst now reflects first Linux introduction of AF_VSOCK.
Fixed get_cid in test_socket.py.
Replaced PyLong_FromLong with PyLong_FromUnsignedLong in socketmodule.c
Got rid of extra AF_VSOCK #define.
Added sockaddr_vm to sock_addr.

* bpo-27584: Fixes for V7

Minor cleanup.

* bpo-27584: Fixes for V8

Put back #undef AF_VSOCK as it is  necessary when vm_sockets.h is not installed.
2017-09-06 15:18:10 -07:00
Christian Heimes
75b961869a bpo-31343: Include sys/sysmacros.h (#3318)
Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray
plans to remove the functions from sys/types.h.

Signed-off-by: Christian Heimes <christian@python.org>
2017-09-05 15:53:09 +02:00
Benjamin Peterson
069306312a remove IRIX support (closes bpo-31341) (#3310)
See PEP 11.
2017-09-04 16:36:05 -07:00
Benjamin Peterson
14ce158e3d remove configure.ac support for SGI_ABI (#3294) 2017-09-04 14:05:32 -07:00
Benjamin Peterson
5ce1063345 remove check for bug last seem in Solaris 9 (#3285) 2017-09-04 10:52:51 -07:00
Benjamin Peterson
a2344851ab remove autoconf check for select() (#3283)
We never actually check HAVE_SELECT.
2017-09-04 10:21:42 -07:00
Benjamin Peterson
fc96f1e95e remove configure check for 'volatile' (#3281)
This is a required feature is C99, which we require.
2017-09-04 10:09:12 -07:00
Antoine Pitrou
f474c5a3f3 bpo-30946: Remove obsolete fallback code in readline module (#2738)
* Remove obsolete fallback code in readline module

* Add NEWS

* Remove obsolete include

* Fix macro on Windows
2017-07-18 17:05:03 +02:00
INADA Naoki
6b42eb1764 bpo-29585: Fix sysconfig.get_config_var("PYTHONFRAMEWORK") (GH-2483)
`PYTHONFRAMEWORK` is defined in `Makefile` and it shoulnd't be used
in `pyconfig.h`.

`sysconfig.py --generate-posix-vars` reads config vars from Makefile
and `pyconfig.h`.  Conflicting variables should be avoided.

Especially, string config variables in Makefile are unquoted, but
in `pyconfig.h` are keep quoted.  So it should be private (starts with
underscore).
2017-06-29 15:31:38 +09:00
INADA Naoki
a8f8d5b4bd bpo-29585: optimize site.py startup time (GH-136)
Avoid importing `sysconfig` from `site` by copying minimum code.
Python startup is 5% faster on Linux and 30% faster on macOS
2017-06-29 00:31:53 +09:00
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
9ed34a8953 bpo-30232: Regenerate configure (#1396)
Run autoconf.
2017-05-02 22:35:58 +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
Ned Deily
eae4357871 Regenerate configure with autoconf 2.69. 2016-12-06 17:33:19 -05:00
Ned Deily
8bb38a79b8 Regenerate configure with autoconf 2.69. 2016-12-06 17:31:32 -05: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
Ned Deily
ee22aad963 regenerate configure with autoconf 2.69 2016-10-10 15:42:18 -04: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
Xavier de Gaye
92dec548ff Issue #28046: get_sysconfigdata_name() uses the _PYTHON_SYSCONFIGDATA_NAME
environment variable that is defined when cross-compiling.
2016-09-11 22:22:24 +02:00
Serhiy Storchaka
ea80ffb851 Issue #23545: Turn on extra warnings on GCC. 2016-09-11 21:56:32 +03:00
Serhiy Storchaka
81b08a8217 Regenerate the configure script. Now it supports --runstatedir option
(directory for pid files etc, /run or /var/run).

https://lists.gnu.org/archive/html/bug-autoconf/2013-09/msg00002.html
2016-09-11 21:53:53 +03:00
Benjamin Peterson
050af5d89a Backed out changeset 8460a729e1de 2016-09-10 17:53:13 -07:00
Benjamin Peterson
cc1ea5dedc force gcc to use c99 inline semantics 2016-09-10 17:45:33 -07:00
Zachary Ware
c4b53afce4 Issue #28046: Remove platform-specific directories from sys.path 2016-09-09 17:59:49 -07:00
Łukasz Langa
a785c87d6e DTrace support: function calls, GC activity, line execution
Tested on macOS 10.11 dtrace, Ubuntu 16.04 SystemTap, and libbcc.

Largely based by an initial patch by Jesús Cea Avión, with some
influence from Dave Malcolm's SystemTap patch and Nikhil Benesch's
unification patch.

Things deliberately left out for simplicity:
- ustack helpers, I have no way of testing them at this point since
they are Solaris-specific
- PyFrameObject * in function__entry/function__return, this is
SystemTap-specific
- SPARC support
- dynamic tracing
- sys module dtrace facility introspection

All of those might be added later.
2016-09-09 17:37:37 -07:00
Zachary Ware
935043d1ac Closes #27976: Deprecate bundled full copy of libffi
Builds on non-OSX UNIX now default to using the system libffi, and warn if the
bundled copy is used.
2016-09-09 17:01:21 -07:00
Benjamin Peterson
4fd64b9a6a remove ceval timestamp support 2016-09-09 14:57:58 -07:00
Benjamin Peterson
7d895ac953 remove --with(out)-signal-module, since the signal module is non-optional 2016-09-09 12:01:10 -07:00
Benjamin Peterson
a845a81e42 remove unused osx10.5 sdk check 2016-09-09 11:37:58 -07:00
Benjamin Peterson
93b2dee80e compile with -std=c99 instead of -std=gnu99; use kiddie-gloves with bluetooth/bluetooh.h (#28017) 2016-09-09 10:22:45 -07:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D)
ba7224f934 issue28032: never imply --with-lto as part of --with-optimizations.
Too many build tool chains do not properly support it, including building
and linking an executable fine that simply segfaults when you try to run
it (such as debian jessie 8.5's gcc 4.9).  On others where it does appear
to build (ubuntu 16.04's gcc 5.4) there are still test_distutils and test_gdb
failures to deal with.

We're not going to spend time attempting to maintain a complicated white list
of what does and doesn't work in our configure.ac file.
2016-09-08 22:42:45 +00:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D)
14c7f71150 issue28032: never imply --with-lto as part of --with-optimizations.
Too many build tool chains do not properly support it, including building
and linking an executable fine that simply segfaults when you try to run
it (such as debian jessie 8.5's gcc 4.9).  On others where it does appear
to build (ubuntu 16.04's gcc 5.4) there are still test_distutils and test_gdb
failures to deal with.

We're not going to spend time attempting to maintain a complicated white list
of what does and doesn't work in our configure.ac file.
2016-09-08 22:38:46 +00:00
Martin Panter
0be894b2f6 Issue #27895: Spelling fixes (Contributed by Ville Skyttä). 2016-09-07 12:03:06 +00:00
Gregory P. Smith
799520c91e Fixes issue# 27983: Cause lack of llvm-profdata tool when using clang -
required for PGO linking - to be a configure time error rather than
make time when --with-optimizations is enabled.  Also improve our
ability to find the llvm-profdata tool on MacOS and some Linuxes.
2016-09-07 16:10:00 -07:00
Brett Cannon
8c94f97465 Issue #26359: Add the --with-optimizations flag. 2016-09-06 17:15:21 -07:00
Benjamin Peterson
01c340da23 do not leak addrinfo in configure test 2016-09-06 15:54:24 -07:00
Benjamin Peterson
47ff0734b8 more PY_LONG_LONG to long long 2016-09-08 09:15:54 -07:00
Christian Heimes
7f9eb6eda3 Issue 28017: Use -std=gnu99 to get C99 with GNU extensions for bluetooth.h on big endian. 2016-09-08 11:39:42 +02:00
Gregory P. Smith
f3b5bcafcb Fixes Issue #27983: Cause lack of llvm-profdata tool when using clang as
required for PGO linking to be a configure time error rather than
make time when --with-optimizations is enabled.  Also improve our
ability to find the llvm-profdata tool on MacOS and some Linuxes.
2016-09-07 16:11:08 -07:00
Benjamin Peterson
d170256585 put -std=c99 in CFLAGS_NODIST 2016-09-07 12:00:06 -07:00
Benjamin Peterson
7490577f6a compile with -std=c99 2016-09-07 11:53:55 -07:00
Benjamin Peterson
0d67ed54f7 permit intermingled declarations 2016-09-07 11:43:22 -07:00
Benjamin Peterson
a9296e7f3b require C99 bool 2016-09-07 11:06:17 -07:00
Brett Cannon
63d98bcd4c Issue #26359: Add the --with-optimizations configure flag.
The flag will activate LTO and PGO build support when available.
Thanks to Alecsandur Patrascu of Intel for the original patch.
2016-09-06 17:12:40 -07:00
Benjamin Peterson
0cf223873e merge 3.5 2016-09-06 15:54:38 -07:00
Ned Deily
8482ce4868 Issue #21122: Fix LTO builds on OS X.
Patch by Brett Cannon.
2016-09-06 15:09:20 -07:00
Benjamin Peterson
df6ff7bcca add back SIZEOF_UINTPTR_T 2016-09-06 13:53:14 -07:00
Benjamin Peterson
b9d9eeda2a require uintptr_t to exist 2016-09-06 13:33:56 -07:00
Benjamin Peterson
4fe55106d1 require standard int types to be defined (#17884) 2016-09-06 11:58:01 -07:00
Benjamin Peterson
ed4aa83ff7 require a long long data type (closes #27961) 2016-09-05 17:44:18 -07:00
Christian Heimes
dffa3949c7 Issue #27744: Add AF_ALG (Linux Kernel crypto) to socket module. 2016-09-05 23:54:41 +02:00
doko@ubuntu.com
5c38cb2316 - Issue #27917: Set platform triplets for Android builds. 2016-09-01 22:05:20 +02:00
Raymond Hettinger
15f44ab043 Issue #27895: Spelling fixes (Contributed by Ville Skyttä). 2016-08-30 10:47:49 -07:00
doko@ubuntu.com
75b1cb10b5 - Issue #23968, keep platform_triplet and multiarch macros in sync 2016-08-29 20:03:25 +02:00
Martin Panter
8c3c52b19f Issue #25825: Merge $(LIBPL) fix from 3.5 2016-08-27 04:07:54 +00:00
Martin Panter
5de141f157 Issue #25825: Fix references to $(LIBPL) installation path on AIX
In Subversion r86731, the path was changed from $(BINLIBDEST)/config to
$(LIBDEST)/config-$(LDVERSION).
2016-08-27 04:00:19 +00:00
Benjamin Peterson
5a44fa1430 merge 3.5 (#27670) 2016-08-03 22:02:42 -07:00
Benjamin Peterson
c2fcbf4ed0 https link to the bug tracker (closes #27670) 2016-08-03 22:01:32 -07:00
Martin Panter
0c859f362c Issue #27641: Merge cross-compiling improvement from 3.5 2016-08-04 01:53:40 +00:00
Xavier de Gaye
6074f217db (merge from 3.5) Issue #27453: CPP invocation in configure must use CPPFLAGS.
Patch by Chi Hsuan Yen.
2016-07-30 11:36:32 +02:00
Xavier de Gaye
3a32bdfaa7 Issue #27453: CPP invocation in configure must use CPPFLAGS.
Patch by Chi Hsuan Yen.
2016-07-30 11:28:35 +02:00
Martin Panter
43a94a7e2f Issue #27641: Comment out regeneration rules when cross compiling 2016-07-29 05:52:32 +00:00
Martin Panter
4b53359090 Issue #27490: Merge pgen cross-compile logic from 3.5 2016-07-28 01:30:06 +00:00
Martin Panter
eac67be948 Issue #27490: Do not build pgen when cross-compiling
The dependendency on the $(PGEN) variable must only be
set when not cross-compiling. When cross-compiling,
$(PGEN) will not be used, so no need to build it.

Patch by Thomas Perl.
2016-07-28 01:28:27 +00:00
Xavier de Gaye
8d4989687c (merge from 3.5) Issue #26662: Set PYTHON_FOR_GEN in configure
as the Python program to be used for file generation during the build.
2016-07-26 12:55:20 +02:00
Xavier de Gaye
fd0d5939bd Issue #26662: Set PYTHON_FOR_GEN in configure
as the Python program to be used for file generation during the build.
2016-07-26 12:48:08 +02:00
Xavier de Gaye
95750b1ca5 Issue #27442: Expose the Android API level in sysconfig.get_config_vars()
as 'ANDROID_API_LEVEL'.
2016-07-09 11:05:42 +02:00
Xavier de Gaye
4afd143d3e Issue #27434: Version of interpreter running a cross-build and source version must be the same. 2016-07-07 18:00:22 +02:00
Benjamin Peterson
50600a78cb merge 3.5 (#24557) 2016-07-06 23:58:16 -07:00
Benjamin Peterson
b8a2f51ceb assume egd unless OPENSSL_NO_EGD is defined—remove configure check (closes #24557) 2016-07-06 23:55:15 -07:00
doko@ubuntu.com
006a56ceda - Don't use largefile support for GNU/Hurd. 2016-06-14 10:15:25 +02:00
doko@ubuntu.com
5553231b91 - Issue #23968: Rename the platform directory from plat-$(MACHDEP) to
plat-$(PLATFORM_TRIPLET).
  Rename the config directory (LIBPL) from config-$(LDVERSION) to
  config-$(LDVERSION)-$(PLATFORM_TRIPLET).
  Install the platform specifc _sysconfigdata module into the platform
  directory and rename it to include the ABIFLAGS.
2016-06-14 08:55:19 +02:00
Victor Stinner
9ff9cbd600 Merge 3.5 (os.urandom) 2016-06-07 11:25:43 +02:00
Victor Stinner
dddf4849ec os.urandom() doesn't block on Linux anymore
Issue #26839: On Linux, os.urandom() now calls getrandom() with GRND_NONBLOCK
to fall back on reading /dev/urandom if the urandom entropy pool is not
initialized yet. Patch written by Colm Buckley.
2016-06-07 11:21:42 +02:00
Martin Panter
3e04d5b306 Issue #27076: Merge spelling from 3.5 2016-05-26 06:03:19 +00:00
Martin Panter
46f50726a0 Issue #27076: Doc, comment and tests spelling fixes
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
2016-05-26 05:35:26 +00:00
Serhiy Storchaka
c2f7d87897 Issue #26932: Fixed support of RTLD_* constants defined as enum values,
not via macros (in particular on Android).  Patch by Chi Hsuan Yen.
2016-05-04 09:44:44 +03:00
Stefan Krah
267b639a26 Issue #20306: The pw_gecos and pw_passwd fields are not required by POSIX.
If they aren't present, set them to an empty string.
2016-04-26 01:09:18 +02:00
Martin Panter
da28494d0a Issue #22359: Merge cross-compilation fix from 3.5 2016-04-23 01:18:54 +00:00
Martin Panter
1046d5c653 Issue #22359: Disable running cross-compiled _freeze_importlib and pgen
Patch by Xavier de Gaye.
2016-04-23 00:58:44 +00:00
Gregory P. Smith
79a12a2aa5 Issue #25702: A --with-lto configure option has been added that will
enable link time optimizations at build time during a make profile-opt.
2016-04-15 16:58:51 -07:00
Gregory P. Smith
d82da9f7f2 Issue #25702: A --with-lto configure option has been added that will
enable link time optimizations at build time during a make profile-opt.
2016-04-15 16:57:04 -07:00
Victor Stinner
7258176c68 Merge 3.5 (os.urandom) 2016-04-12 22:38:22 +02:00
Victor Stinner
1b80b24007 configure: fix HAVE_GETRANDOM_SYSCALL check
syscall() function requires #include <unistd.h>.
2016-04-12 22:34:58 +02:00
Martin Panter
a3506005b3 Issue #23735: Merge Readline resize handling from 3.5 2016-04-03 03:19:27 +00:00
Martin Panter
5dbbf1abba Issue #23735: Add SIGWINCH handler for Readline 6.3+ support, by Eric Price 2016-04-03 02:54:58 +00:00
Martin Panter
499d3654a8 Issue #17603: Merge configure.ac fix from 3.5 2016-03-18 03:03:10 +00:00
Martin Panter
d887d1f365 Issue #17603: Check for st_blocks field without requiring fileblocks.o 2016-03-18 02:36:41 +00:00
Ned Deily
686905fe13 Issue #24324: merge from 3.5 2016-03-08 00:40:12 -05:00
Ned Deily
bec699e40d Issue #24324: Do not enable unreachable code warnings when using
gcc as the option does not work correctly in older versions of gcc
and has been silently removed as of gcc-4.5.
2016-03-08 00:28:37 -05:00
Zachary Ware
266514ae93 Issue #25827: Merge with 3.5 2015-12-21 14:17:12 -06:00
Zachary Ware
5af856404a Issue #25827: Add support for ICC to configure 2015-12-21 12:09:17 -06:00
Benjamin Peterson
3c5f003023 make configure executable 2015-10-06 21:17:02 -07:00
Serhiy Storchaka
fc632e3912 Merge with 3.5. 2015-10-06 18:52:52 +03:00
Victor Stinner
bae2d6203f Issue #25003: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
function instead of the getentropy() function. The getentropy() function is
blocking to generate very good quality entropy, os.urandom() doesn't need such
high-quality entropy.
2015-10-01 09:47:30 +02:00
Brett Cannon
36df60fe75 Merge for issue #24915 2015-09-18 15:17:37 -07:00
Brett Cannon
7188a3efe0 Issue #24915: Add Clang support to PGO builds and use the test suite
for profile data.

Thanks to Alecsandru Patrascu of Intel for the initial patch.
2015-09-18 15:13:44 -07:00
Victor Stinner
3abf44e48f Issue #25003: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
function instead of the getentropy() function. The getentropy() function is
blocking to generate very good quality entropy, os.urandom() doesn't need such
high-quality entropy.
2015-09-18 15:38:37 +02:00
Stefan Krah
0c8ccff325 Merge from 3.5 (#24543). 2015-07-02 20:28:45 +02:00
Stefan Krah
e31db2a821 Issue #24543: Use AC_LINK instead of AC_COMPILE in order to prevent false
positives with the -flto option (gcc >= 4.9.0 and clang).
2015-07-02 20:27:56 +02:00
Yury Selivanov
7aa5341164 Reverting my previous commit.
Something went horribly wrong when I was doing `hg rebase`.
2015-05-30 10:57:56 -04:00
Benjamin Peterson
a8c22a0c32 update configure version to 3.6 2015-05-27 23:29:00 -05:00
doko@ubuntu.com
4ccc1514d0 - merge 3.4 2015-05-06 01:13:31 +02:00
doko@ubuntu.com
e8042e5e98 - Issue #24122, fix quoting for LIBPL 2015-05-06 01:13:02 +02:00
doko@ubuntu.com
5cc9c4fdf7 - #22980: fix triplet configure test for more targets 2015-04-19 14:44:05 +02:00
Ned Deily
3b8124884c Issues #22980, 23969: For OS X, use PEP 3149-style file names for extension
module binaries, with a platform triple of just "darwin", resulting in
file names like:

    _ssl.cpython-35m-darwin.so

rather than just _ssl.so as previously.

Instead of attempting to encode differences in CPU architecture and OS X
deployment targets in the file name as is done on other platforms,
these continue to be managed by the use of Apple multi-architecture
("fat") files, by the system dynamic loader, and by logic in higher-levels
like sysconfig.get_platform() and pip.
2015-04-15 17:11:47 -07:00
doko@ubuntu.com
9abe04975a #22980: fix triplet configure test for powerpc-linux-gnu 2015-04-15 23:31:02 +02:00
doko@ubuntu.com
092f616a97 - configure.ac: remove duplicate PLATDIR definition 2015-04-15 20:45:33 +02:00
doko@ubuntu.com
d3899c1a96 - Issue #22980: Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include
the architecture triplet in the extension name, to make it easy to test builds
  for different ABIs in the same working tree.
2015-04-15 20:23:14 +02:00
Larry Hastings
a6cc551502 Issue #22631: Added Linux-specific socket constant CAN_RAW_FD_FRAMES.
Patch courtesy of Joe Jevnik.
2015-04-13 17:48:40 -04:00
doko@ubuntu.com
4b761bf79a - merge 3.4 2015-04-13 22:00:30 +02:00
doko@ubuntu.com
1345d20193 - Use PLATDIR for the platform directory everywhere (refactoring only) 2015-04-13 21:59:57 +02:00
Ned Deily
267998a766 Issue #23817: run autoreconf to update configure. 2015-04-11 16:00:38 -07:00
Victor Stinner
8291b5e4f7 Issue #22181: Run "aclocal; autoconf; autoheader" to regenerate configure 2015-03-20 16:03:14 +01:00
Victor Stinner
9eb57c5fa5 Issue #22181: The availability of the getrandom() is now checked in configure,
and stored in pyconfig.h as the new HAVE_GETRANDOM_SYSCALL define.

Fix os.urandom() tests using file descriptors if os.urandom() uses getrandom().
2015-03-19 22:21:49 +01:00
Antoine Pitrou
5bd7bf5bab Issue #22980: Under Linux, C extensions now include bitness in the file name,
to make it easy to test 32-bit and 64-bit builds in the same working tree.
2015-03-08 20:43:10 +01:00
Victor Stinner
35a97c0bed Issue #22524: Fix os.scandir() for platforms which don't have a d_type field in
the dirent structure (ex: OpenIndiana).
2015-03-08 02:59:09 +01:00
Antoine Pitrou
8b62bbf2e5 Issue #23445: pydebug builds now use "gcc -Og" where possible, to make the resulting executable faster. 2015-02-11 19:41:01 +01:00
Antoine Pitrou
3d6c784371 Issue #23445: pydebug builds now use "gcc -Og" where possible, to make the resulting executable faster. 2015-02-11 19:39:16 +01:00
Victor Stinner
923e06f77d Issue #22038, configure: HAVE_STD_ATOMIC now also check that "atomic_int" and
"_Atomic void*" types work. Change needed on FreeBSD 10 where stdatomic.h is
available but the compiler fails on "_Atomic void*" with "_Atomic cannot be
applied to incomplete type 'void'".
2015-01-14 16:01:46 +01:00
Victor Stinner
4f5366e65a Issue #22038: pyatomic.h now uses stdatomic.h or GCC built-in functions for
atomic memory access if available. Patch written by Vitor de Lima and Gustavo
Temple.
2015-01-09 02:13:19 +01:00
Victor Stinner
fcfed19913 Issue #21356: Make ssl.RAND_egd() optional to support LibreSSL. The
availability of the function is checked during the compilation. Patch written
by Bernard Spil.
2015-01-06 13:54:58 +01:00
Victor Stinner
fe02e39029 Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
instead of reading /dev/urandom, to get pseudo-random bytes.
2014-12-21 01:16:38 +01:00
Victor Stinner
4d6a3d6c01 Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
instead of reading /dev/urandom, to get pseudo-random bytes.
2014-12-21 01:16:38 +01:00
Benjamin Peterson
7bb7793bc0 merge 3.4 (#15506) 2014-12-15 00:02:51 -05:00
Benjamin Peterson
0f3cde1453 use autoconf macro to check for pkg-config (closes #15506) 2014-12-15 00:00:23 -05:00
Victor Stinner
beeb512fe1 Issue #21356: Make ssl.RAND_egd() optional to support LibreSSL. The
availability of the function is checked during the compilation.

Patch written by Bernard Spil.
2014-11-28 13:28:25 +01:00
Benjamin Peterson
d1e22ba7db only support append_history if readline has it 2014-11-26 14:35:12 -06:00