summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* [3.6] bpo-35257: Avoid leaking LTO linker flags into distutils (GH-10900) ↵Victor Stinner2018-12-201-1/+2
| | | | | | | | | | | (GH-11265) When compiling 3rd party C extensions, the linker flags used by the compiler for the interpreter and the stdlib modules, will get leaked into distutils. In order to avoid that, the PY_CORE_LDFLAGS and PY_LDFLAGS_NODIST are introduced to keep those flags separated. (cherry picked from commit cf10a750f4b50b6775719cfb17bee00bc3a9c60b)
* bpo-35351: Pass link time optimization flags to CFLAGS_NODIST (GH-10797)Miss Islington (bot)2018-12-091-1/+1
| | | | | | | | | When using link time optimizations, the -flto flag is passed to BASECFLAGS, which makes it propagate to distutils. Those flags should be reserved for the interpreter and the stdlib extension modules only, thus moving those flags to CFLAGS_NODIST. (cherry picked from commit f92c7aa1ae81efa475b5aecf66e4711ef0f52c4c) Co-authored-by: stratakis <cstratak@redhat.com>
* bpo-28015: Support LTO build with clang (GH-9908) (GH-10922)stratakis2018-12-091-19/+48
| | | | | | | | | | | | | .o generated by clang in LTO mode actually are LLVM bitcode files, which leads to a few errors during configure/build step: - add lto flags to the BASECFLAGS instead of CFLAGS, as CFLAGS are used to build autoconf test case, and some are not compatible with clang LTO (they assume binary in the .o, not bitcode) - force llvm-ar instead of ar, as ar is not aware of .o files generated by clang -flto (cherry picked from commit 5ad36f9b21a3aa3b2265b1b43d73522cc3322df2) Co-authored-by: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
* [3.6] bpo-31625: Stop using ranlib (GH-10417)stratakis2018-11-291-2/+1
| | | | | | | | | | | * stop using ranlib (closes bpo-31625) (#3815) Instead, simply pass 's' to ar. * explicitly list objects for the ar command (#3824) $^ is not portable. closes bpo-31625
* [3.6] bpo-35214: Initial clang MemorySanitizer support (GH-10479) (GH-10493)Gregory P. Smith2018-11-121-1/+27
| | | | | | | | | | | | | | | | Adds configure flags for msan and ubsan builds to make it easier to enable. These also encode the detail that address sanitizer and memory sanitizer should disable pymalloc. Define MEMORY_SANITIZER when appropriate at build time and adds workarounds to existing code to mark things as initialized where the sanitizer is otherwise unable to determine that. This lets our build succeed under the memory sanitizer. not all tests pass without sanitizer failures yet but we're in pretty good shape after this. (cherry picked from commit 1584a0081500d35dc93ff88e5836df35faf3e3e2) Contributed by Gregory P. Smith [Google LLC] Also includes a whitespace fix from make patchcheck to _posixsubprocess.c - unrelated to the main change that makes the CI happy so I'm just doing it now rather than creating a separate PR.
* [3.6] bpo-31354: Let configure --with-lto work on all builds (GH-10261)stratakis2018-11-071-2/+4
| | | | | | | | | | 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.
* Don't run AC_STRUCT_TIMEZONE twice. (GH-9305)Miss Islington (bot)2018-09-141-5/+0
| | | | | (cherry picked from commit a4414ef20b971e6803309acebfa85b1621ac625e) Co-authored-by: Benjamin Peterson <benjamin@python.org>
* [3.6] bpo-34652: Remove lchmod from the big func checking block. (GH-9250)Benjamin Peterson2018-09-121-2/+2
| | | | A fix for 883702ebb8bbfa749ef0040d1b58d6222bf589ee.. (cherry picked from commit ed709d5699716bf7237856dc20aba321e2dfff6d)
* closes bpo-34652: Always disable lchmod on Linux. (GH-9234)Miss Islington (bot)2018-09-121-0/+7
| | | | | (cherry picked from commit 40caa05fa4d1810a1a6bfc34e0ec930c351089b7) Co-authored-by: Benjamin Peterson <benjamin@python.org>
* bpo-30411: Use --git-dir instead of -C to make git work under version below ↵Miss Islington (bot)2018-08-201-3/+3
| | | | | | | 1.8.5. (GH-8744) (cherry picked from commit 4c8555773a801f957297132a92c0acb382d640e4) Co-authored-by: Xiang Zhang <angwerzx@126.com>
* [3.6] bpo-34121: Fix detection of C11 atomic support on clang. (GH-8290)Benjamin Peterson2018-07-151-2/+1
| | | | | (cherry picked from commit 15c7b2abdfb93f8902dd72474818aee2bf97fa66) Co-authored-by: Benjamin Peterson <benjamin@python.org>
* bpo-30345: Add -g to LDFLAGS for LTO (GH-7709) (GH-7826)Victor Stinner2018-06-221-0/+7
| | | Add -g to LDFLAGS when compiling with LTO to get debug symbols.
* Docs: fix some wrong words (GH-6987)Mariatta2018-06-081-2/+2
| | | | | | | Fix typos in code comments: bdb.py and configure.ac.. (cherry picked from commit b5c246f833d95991fed728c3845176dd661cd5ea) Co-authored-by: Eitan Adler <grimreaper@users.noreply.github.com>
* bpo-5755: Move -Wstrict-prototypes to CFLAGS_NODIST (GH-7395)INADA Naoki2018-06-061-5/+20
| | | (cherry picked from commit e33648484775fa533fc8f1e5cc45f60061d29d54)
* bpo-33012: Add -Wno-cast-function-type for gcc 8. (GH-6757)Miss Islington (bot)2018-05-251-0/+20
| | | | | (cherry picked from commit ef91ddeae79497fac25545dd68ee55a5a3c60e8d) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-32726: macOS installer changes for 3.6.5Ned Deily2018-03-131-3/+11
| | | | | | | | | | | | | | | | | | | | | | | Backport the new 10.9+ installer variant from 3.7. This variant features more modern options; like 64-bit only (Apple is deprecating 32-bit support in future macOS releases); a built-in version of Tcl/Tk 8.6.8; built with clang rather than gcc-4.2. For 3.6.5, the 10.9+ variant will be offered as an additional alternative to the traditional 10.6+ variant in earlier 3.6.x releases. Binary extension modules (including wheels) built for earlier versions of 3.6.x with the 10.6 variant should continue to work with either 3.6.5 variant without recompilation. In addition, both installer variants have updated 3rd-party libraries: OpenSSL 1.0.2m -> 1.0.2n XZ 5.2.2 -> 5.2.3 SQLite 3.21.0 -> 3.22.0 Also the 10.6 variant now sets CC=gcc instead of CC=gcc-4.2 and does not search for the outdated 10.6 SDK. The variant is built with the same compiler as before. As before, for extension module builds, the CC can be overridden with the CC env variable and an SDK can be specified with the SDKROOT env variable (see man xcrun). These minor changes should be transparent to nearly all users.
* bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. ↵Miss Islington (bot)2018-01-241-1/+1
| | | | | | | | (GH-5284) (#5296) 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. (cherry picked from commit e768c86ef442ef89004089a8a34ce5909ffb90f2)
* [3.6] make tags: index also Modules/_ctypes/ (#4648) (#4659)Victor Stinner2017-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * `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. (cherry picked from commit 8a543c0bc7347d5b333f334d157bf4a7cd33c14a) * make tags: index also Modules/_ctypes/ (#4648) Avoid also "cd $(srcdir)" to not change the current directory. (cherry picked from commit 3be3b97a9709d3cd5303175ddbffa7dcca57ac3e)
* bpo-31919: Fix building the curses module on OpenIndiana. (GH-4211) (#4215)Miss Islington (bot)2017-11-011-0/+11
| | | (cherry picked from commit 894ebd065e02debf20c0657d26020ecc42b7534f)
* bpo-25720: Fix the method for checking pad state of curses WINDOW (GH-4164) ↵Miss Islington (bot)2017-11-011-1/+19
| | | | | | | | | | | (#4212) 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(). (cherry picked from commit 8bc7d63560024681dce9f40445f2877b2987e92c)
* bpo-31891: Fix building the curses module on NetBSD. (GH-4165) (#4189)Miss Islington (bot)2017-10-311-0/+66
| | | (cherry picked from commit baac01e629d90f63dfde6b5cc433f4bc65c5feeb)
* Allow configure to handle PATH elements with spaces (#3935) (#3937)Ned Deily2017-10-091-4/+4
| | | Fix some tests in ./configure for determining macOS compiler choices that could fail if a $PATH element contained spaces.
* [3.6] bpo-31343: Include sys/sysmacros.h (GH-3318) (#3344)Christian Heimes2017-09-051-1/+1
| | | | | | | 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> (cherry picked from commit 75b9618)
* [3.6] Clarify what --enable-optimizations does (GH-1847) (GH-2039)Brett Cannon2017-06-091-2/+2
| | | (cherry picked from commit b4e5fee6f5bcc50500ea6261a22021db58955b55)
* [3.6] Add --with-assertions configure flag to enable C assertions(GH-1731) ↵T. Wouters2017-05-221-1/+22
| | | | | | (#1739) Defaults to 'no', but as before assertions are implied by --with-pydebug.. (cherry picked from commit ddbfa2c35b298a56f0b813656745bca9cb7334f1)
* [3.6] bpo-23404: make touch becomes make regen-all (#1405) (#1461)Victor Stinner2017-05-051-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. (cherry picked from commit a5c62a8e9f0de6c4133825a5710984a3cd5e102b) * bpo-30273: Update sysconfig (#1464) The AST_H_DIR variable was removed from Makefile.pre.in by the commit a5c62a8e9f0de6c4133825a5710984a3cd5e102b (bpo-23404). AST_H_DIR was hardcoded to "Include", so replace the removed variable by its content. Remove also ASDLGEN variable from sysconfig example since this variable was also removed. (cherry picked from commit b109a1d3360fc4bb87b9887264e3634632d392ca)
* [3.6] bpo-30232: Support Git worktree in configure.ac (#1398)Victor Stinner2017-05-021-1/+1
| | | | | | | | | | | | | * 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. (cherry picked from commit 5facdbb29169c2799c42f887cef4cd9d087b0167) * bpo-30232: Regenerate configure (#1396) Run autoconf. (cherry picked from commit 9ed34a89532763cf89f5e11fffb91ef7dee29fed)
* bpo-30104: Use -fno-strict-aliasing on clang (#1376)Victor Stinner2017-05-021-7/+27
| | | | | | | | 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. Only compile dtoa.c with -fno-strict-aliasing. LLVM bug report: https://bugs.llvm.org//show_bug.cgi?id=31928
* improve alignment autoconf test (#1129) (#1139)Benjamin Peterson2017-04-141-10/+9
| | | | Replace the deprecated AC_TRY_RUN with AC_RUN_IFELSE. Also, standardize the variable name and allow for caching of the result.
* bpo-29643: Fix check for --enable-optimizations (GH-869)INADA Naoki2017-03-291-1/+1
| | | | | | 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. (cherry picked from commit 8cea5929f52801b0ce5928b46ef836e99a24321a)
* bpo-27593: Revise git SCM build info. (#744) (#745)Ned Deily2017-03-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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. (cherry picked from commit 554626ada769abf82a5dabe6966afa4265acb6a6)
* [3.6] bpo-27593: Get SCM build info from git instead of hg. (#446) (#454)Ned Deily2017-03-041-13/+13
| | | | | | | | | | | * 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. (cherry picked from commit 5c4b0d063aba0a68c325073f5f312a2c9f40d178)
* Issue #26851: Set Android compilation and link flags.Xavier de Gaye2017-01-041-2/+16
|
* Issue #28762: lockf() is available on Android API level 24, but theXavier de Gaye2016-12-221-1/+10
| | | | F_LOCK macro is not defined in android-ndk-r13.
* Issue #28538: On Darwin net/if.h requires that sys/socket.h be included ↵Xavier de Gaye2016-12-211-2/+14
| | | | beforehand.
* Issue #28538: Fix the compilation error that occurs because if_nameindex() isXavier de Gaye2016-12-211-1/+13
| | | | available on Android API level 24, but the if_nameindex structure is not defined.
* merge 3.5 (#28932)Benjamin Peterson2016-12-191-1/+1
|\
| * add a specific configure check for sys/random.h (closes #28932)Benjamin Peterson2016-12-191-1/+1
| |
* | Issue #28190: Cross compiling the _curses module does not use anymoreXavier de Gaye2016-12-131-1/+3
| | | | | | | | /usr/include/ncursesw as a headers search path.
* | Issue #28849: Do not define sys.implementation._multiarch on Android.Xavier de Gaye2016-12-101-23/+1
| |
* | Issue #10656: Merge AIX build fix from 3.5Martin Panter2016-11-201-1/+1
|\ \ | |/
| * Issue #10656: Fix out-of-tree building on AIXMartin Panter2016-11-201-1/+1
| | | | | | | | | | The ld_so_aix script and python.exp file are created in the build directory. Patch by Tristan Carel and Michael Haubenwallner.
* | Rename the new --with-optimiations flag to --enable-optimizations.Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D)2016-11-201-5/+5
|\ \ | |/
| * Rename the new --with-optimiations flag to --enable-optimizations.Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D)2016-11-201-5/+5
| |
* | Issue #28605: Fix the help and What's New entry for --with-optimizations.Brett Cannon2016-11-031-2/+2
| |
* | Write configure message to AS_MESSAGE_FDChristian Heimes2016-09-241-1/+1
| |
* | replace usage of Py_VA_COPY with the (C99) standard va_copyBenjamin Peterson2016-09-201-14/+0
| |
* | more granular configure checks for clock_* functions (closes #28081)Benjamin Peterson2016-09-131-0/+6
| |
* | Issue #28066: Merge srcdir fix from 3.5Martin Panter2016-09-121-1/+1
|\ \ | |/
| * Issue #28066: Fix include search directory logic for out-of-tree buildsMartin Panter2016-09-121-1/+1
| |