| |
| |
| |
| |
| @@ -0,0 +1,378 @@ |
| +# -*- makefile -*- |
| +# The file Setup is used by the makesetup script to construct the files |
| +# Makefile and config.c, from Makefile.pre and config.c.in, |
| +# respectively. Note that Makefile.pre is created from Makefile.pre.in |
| +# by the toplevel configure script. |
| + |
| +# (VPATH notes: Setup and Makefile.pre are in the build directory, as |
| +# are Makefile and config.c; the *.in files are in the source directory.) |
| + |
| +# Each line in this file describes one or more optional modules. |
| +# Modules configured here will not be compiled by the setup.py script, |
| +# so the file can be used to override setup.py's behavior. |
| +# Tag lines containing just the word "*static*", "*shared*" or "*disabled*" |
| +# (without the quotes but with the stars) are used to tag the following module |
| +# descriptions. Tag lines may alternate throughout this file. Modules are |
| +# built statically when they are preceded by a "*static*" tag line or when |
| +# there is no tag line between the start of the file and the module |
| +# description. Modules are built as a shared library when they are preceded by |
| +# a "*shared*" tag line. Modules are not built at all, not by the Makefile, |
| +# nor by the setup.py script, when they are preceded by a "*disabled*" tag |
| +# line. |
| + |
| +# Lines have the following structure: |
| +# |
| +# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...] |
| +# |
| +# <sourcefile> is anything ending in .c (.C, .cc, .c++ are C++ files) |
| +# <cpparg> is anything starting with -I, -D, -U or -C |
| +# <library> is anything ending in .a or beginning with -l or -L |
| +# <module> is anything else but should be a valid Python |
| +# identifier (letters, digits, underscores, beginning with non-digit) |
| +# |
| +# (As the makesetup script changes, it may recognize some other |
| +# arguments as well, e.g. *.so and *.sl as libraries. See the big |
| +# case statement in the makesetup script.) |
| +# |
| +# Lines can also have the form |
| +# |
| +# <name> = <value> |
| +# |
| +# which defines a Make variable definition inserted into Makefile.in |
| +# |
| +# The build process works like this: |
| +# |
| +# 1. Build all modules that are declared as static in Modules/Setup, |
| +# combine them into libpythonxy.a, combine that into python. |
| +# 2. Build all modules that are listed as shared in Modules/Setup. |
| +# 3. Invoke setup.py. That builds all modules that |
| +# a) are not builtin, and |
| +# b) are not listed in Modules/Setup, and |
| +# c) can be build on the target |
| +# |
| +# Therefore, modules declared to be shared will not be |
| +# included in the config.c file, nor in the list of objects to be |
| +# added to the library archive, and their linker options won't be |
| +# added to the linker options. Rules to create their .o files and |
| +# their shared libraries will still be added to the Makefile, and |
| +# their names will be collected in the Make variable SHAREDMODS. This |
| +# is used to build modules as shared libraries. (They can be |
| +# installed using "make sharedinstall", which is implied by the |
| +# toplevel "make install" target.) (For compatibility, |
| +# *noconfig* has the same effect as *shared*.) |
| +# |
| +# NOTE: As a standard policy, as many modules as can be supported by a |
| +# platform should be present. The distribution comes with all modules |
| +# enabled that are supported by most platforms and don't require you |
| +# to ftp sources from elsewhere. |
| + |
| + |
| +# Some special rules to define PYTHONPATH. |
| +# Edit the definitions below to indicate which options you are using. |
| +# Don't add any whitespace or comments! |
| + |
| +# Directories where library files get installed. |
| +# DESTLIB is for Python modules; MACHDESTLIB for shared libraries. |
| +DESTLIB=$(LIBDEST) |
| +MACHDESTLIB=$(BINLIBDEST) |
| + |
| +# NOTE: all the paths are now relative to the prefix that is computed |
| +# at run time! |
| + |
| +# Standard path -- don't edit. |
| +# No leading colon since this is the first entry. |
| +# Empty since this is now just the runtime prefix. |
| +DESTPATH= |
| + |
| +# Site specific path components -- should begin with : if non-empty |
| +SITEPATH= |
| + |
| +# Standard path components for test modules |
| +TESTPATH= |
| + |
| +COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH) |
| +PYTHONPATH=$(COREPYTHONPATH) |
| + |
| + |
| +# The modules listed here can't be built as shared libraries for |
| +# various reasons; therefore they are listed here instead of in the |
| +# normal order. |
| + |
| +# This only contains the minimal set of modules required to run the |
| +# setup.py script in the root of the Python source tree. |
| + |
| +posix -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c # posix (UNIX) system calls |
| +errno errnomodule.c # posix (UNIX) errno values |
| +pwd pwdmodule.c # this is needed to find out the user's home dir |
| + # if $HOME is not set |
| +_sre -DPy_BUILD_CORE_BUILTIN _sre.c # Fredrik Lundh's new regular expressions |
| +_codecs _codecsmodule.c # access to the builtin codecs and codec registry |
| +_weakref _weakref.c # weak references |
| +_functools -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _functoolsmodule.c # Tools for working with functions and callable objects |
| +_operator -DPy_BUILD_CORE_BUILTIN _operator.c # operator.add() and similar goodies |
| +_collections _collectionsmodule.c # Container types |
| +_abc -DPy_BUILD_CORE_BUILTIN _abc.c # Abstract base classes |
| +itertools itertoolsmodule.c # Functions creating iterators for efficient looping |
| +atexit atexitmodule.c # Register functions to be run at interpreter-shutdown |
| +_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c |
| +_stat _stat.c # stat.h interface |
| +time -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal timemodule.c # -lm # time operations and variables |
| +_thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _threadmodule.c # low-level threading interface |
| + |
| +# access to ISO C locale support |
| +_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c # -lintl |
| + |
| +# Standard I/O baseline |
| +_io -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c |
| + |
| +# faulthandler module |
| +faulthandler faulthandler.c |
| + |
| +# debug tool to trace memory blocks allocated by Python |
| +# |
| +# bpo-35053: The module must be builtin since _Py_NewReference() |
| +# can call _PyTraceMalloc_NewReference(). |
| +_tracemalloc _tracemalloc.c |
| + |
| +# The rest of the modules listed in this file are all commented out by |
| +# default. Usually they can be detected and built as dynamically |
| +# loaded modules by the new setup.py script added in Python 2.1. If |
| +# you're on a platform that doesn't support dynamic loading, want to |
| +# compile modules statically into the Python binary, or need to |
| +# specify some odd set of compiler switches, you can uncomment the |
| +# appropriate lines below. |
| + |
| +# ====================================================================== |
| + |
| +# The Python symtable module depends on .h files that setup.py doesn't track |
| +_symtable symtablemodule.c |
| + |
| +# Uncommenting the following line tells makesetup that all following |
| +# modules are to be built as shared libraries (see above for more |
| +# detail; also note that *static* or *disabled* cancels this effect): |
| + |
| +#*shared* |
| + |
| +# GNU readline. Unlike previous Python incarnations, GNU readline is |
| +# now incorporated in an optional module, configured in the Setup file |
| +# instead of by a configure script switch. You may have to insert a |
| +# -L option pointing to the directory where libreadline.* lives, |
| +# and you may have to change -ltermcap to -ltermlib or perhaps remove |
| +# it, depending on your system -- see the GNU readline instructions. |
| +# It's okay for this to be a shared library, too. |
| + |
| +readline readline.c -lreadline |
| + |
| + |
| +# Modules that should always be present (non UNIX dependent): |
| + |
| +#array -DPy_BUILD_CORE_MODULE arraymodule.c # array objects |
| +#cmath cmathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # complex math library functions |
| +#math mathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # math library functions, e.g. sin() |
| +#_contextvars _contextvarsmodule.c # Context Variables |
| +#_struct -DPy_BUILD_CORE_MODULE _struct.c # binary structure packing/unpacking |
| +#_weakref _weakref.c # basic weak reference support |
| +#_testcapi _testcapimodule.c # Python C API test module |
| +#_testinternalcapi _testinternalcapi.c -I$(srcdir)/Include/internal -DPy_BUILD_CORE_MODULE # Python internal C API test module |
| +#_random _randommodule.c -DPy_BUILD_CORE_MODULE # Random number generator |
| +#_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator |
| +#_pickle -DPy_BUILD_CORE_MODULE _pickle.c # pickle accelerator |
| +#_datetime _datetimemodule.c # datetime accelerator |
| +#_zoneinfo _zoneinfo.c -DPy_BUILD_CORE_MODULE # zoneinfo accelerator |
| +#_bisect _bisectmodule.c # Bisection algorithms |
| +#_heapq _heapqmodule.c -DPy_BUILD_CORE_MODULE # Heap queue algorithm |
| +#_asyncio _asynciomodule.c # Fast asyncio Future |
| +#_json -I$(srcdir)/Include/internal -DPy_BUILD_CORE_BUILTIN _json.c # _json speedups |
| +#_statistics _statisticsmodule.c # statistics accelerator |
| + |
| +#unicodedata unicodedata.c -DPy_BUILD_CORE_BUILTIN # static Unicode character database |
| + |
| + |
| +# Modules with some UNIX dependencies -- on by default: |
| +# (If you have a really backward UNIX, select and socket may not be |
| +# supported...) |
| + |
| +#fcntl fcntlmodule.c # fcntl(2) and ioctl(2) |
| +#spwd spwdmodule.c # spwd(3) |
| +#grp grpmodule.c # grp(3) |
| +#select selectmodule.c # select(2); not on ancient System V |
| + |
| +# Memory-mapped files (also works on Win32). |
| +#mmap mmapmodule.c |
| + |
| +# CSV file helper |
| +#_csv _csv.c |
| + |
| +# Socket module helper for socket(2) |
| +#_socket socketmodule.c |
| + |
| +# Socket module helper for SSL support; you must comment out the other |
| +# socket line above, and edit the OPENSSL variable: |
| +OPENSSL=/usr |
| +_ssl _ssl.c \ |
| + -I$(OPENSSL)/include -L$(OPENSSL)/lib \ |
| + -lssl -lcrypto |
| +_hashlib _hashopenssl.c \ |
| + -I$(OPENSSL)/include -L$(OPENSSL)/lib \ |
| + -lcrypto |
| + |
| +# To statically link OpenSSL: |
| +# _ssl _ssl.c \ |
| +# -I$(OPENSSL)/include -L$(OPENSSL)/lib \ |
| +# -l:libssl.a -Wl,--exclude-libs,libssl.a \ |
| +# -l:libcrypto.a -Wl,--exclude-libs,libcrypto.a |
| +#_hashlib _hashopenssl.c \ |
| +# -I$(OPENSSL)/include -L$(OPENSSL)/lib \ |
| +# -l:libcrypto.a -Wl,--exclude-libs,libcrypto.a |
| + |
| +# The crypt module is now disabled by default because it breaks builds |
| +# on many systems (where -lcrypt is needed), e.g. Linux (I believe). |
| + |
| +#_crypt _cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems |
| + |
| + |
| +# Some more UNIX dependent modules -- off by default, since these |
| +# are not supported by all UNIX systems: |
| + |
| +#nis nismodule.c -lnsl # Sun yellow pages -- not everywhere |
| +#termios termios.c # Steen Lumholt's termios module |
| +#resource resource.c # Jeremy Hylton's rlimit interface |
| + |
| +#_posixsubprocess -DPy_BUILD_CORE_BUILTIN _posixsubprocess.c # POSIX subprocess module helper |
| + |
| +# Multimedia modules -- off by default. |
| +# These don't work for 64-bit platforms!!! |
| +# #993173 says audioop works on 64-bit platforms, though. |
| +# These represent audio samples or images as strings: |
| + |
| +#audioop audioop.c # Operations on audio samples |
| + |
| + |
| +# Note that the _md5 and _sha modules are normally only built if the |
| +# system does not have the OpenSSL libs containing an optimized version. |
| + |
| +# The _md5 module implements the RSA Data Security, Inc. MD5 |
| +# Message-Digest Algorithm, described in RFC 1321. |
| + |
| +#_md5 md5module.c |
| + |
| + |
| +# The _sha module implements the SHA checksum algorithms. |
| +# (NIST's Secure Hash Algorithms.) |
| +#_sha1 sha1module.c |
| +#_sha256 sha256module.c -DPy_BUILD_CORE_BUILTIN |
| +#_sha512 sha512module.c -DPy_BUILD_CORE_BUILTIN |
| +#_sha3 _sha3/sha3module.c |
| + |
| +# _blake module |
| +#_blake2 _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c |
| + |
| +# The _tkinter module. |
| +# |
| +# The command for _tkinter is long and site specific. Please |
| +# uncomment and/or edit those parts as indicated. If you don't have a |
| +# specific extension (e.g. Tix or BLT), leave the corresponding line |
| +# commented out. (Leave the trailing backslashes in! If you |
| +# experience strange errors, you may want to join all uncommented |
| +# lines and remove the backslashes -- the backslash interpretation is |
| +# done by the shell's "read" command and it may not be implemented on |
| +# every system. |
| + |
| +# *** Always uncomment this (leave the leading underscore in!): |
| +# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \ |
| +# *** Uncomment and edit to reflect where your Tcl/Tk libraries are: |
| +# -L/usr/local/lib \ |
| +# *** Uncomment and edit to reflect where your Tcl/Tk headers are: |
| +# -I/usr/local/include \ |
| +# *** Uncomment and edit to reflect where your X11 header files are: |
| +# -I/usr/X11R6/include \ |
| +# *** Or uncomment this for Solaris: |
| +# -I/usr/openwin/include \ |
| +# *** Uncomment and edit for Tix extension only: |
| +# -DWITH_TIX -ltix8.1.8.2 \ |
| +# *** Uncomment and edit for BLT extension only: |
| +# -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \ |
| +# *** Uncomment and edit for PIL (TkImaging) extension only: |
| +# (See http://www.pythonware.com/products/pil/ for more info) |
| +# -DWITH_PIL -I../Extensions/Imaging/libImaging tkImaging.c \ |
| +# *** Uncomment and edit for TOGL extension only: |
| +# -DWITH_TOGL togl.c \ |
| +# *** Uncomment and edit to reflect your Tcl/Tk versions: |
| +# -ltk8.2 -ltcl8.2 \ |
| +# *** Uncomment and edit to reflect where your X11 libraries are: |
| +# -L/usr/X11R6/lib \ |
| +# *** Or uncomment this for Solaris: |
| +# -L/usr/openwin/lib \ |
| +# *** Uncomment these for TOGL extension only: |
| +# -lGL -lGLU -lXext -lXmu \ |
| +# *** Uncomment for AIX: |
| +# -lld \ |
| +# *** Always uncomment this; X11 libraries to link with: |
| +# -lX11 |
| + |
| +# Lance Ellinghaus's syslog module |
| +#syslog syslogmodule.c # syslog daemon interface |
| + |
| + |
| +# Curses support, requiring the System V version of curses, often |
| +# provided by the ncurses library. e.g. on Linux, link with -lncurses |
| +# instead of -lcurses). |
| + |
| +#_curses _cursesmodule.c -lcurses -ltermcap -DPy_BUILD_CORE_MODULE |
| +# Wrapper for the panel library that's part of ncurses and SYSV curses. |
| +#_curses_panel _curses_panel.c -lpanel -lncurses |
| + |
| + |
| +# Modules that provide persistent dictionary-like semantics. You will |
| +# probably want to arrange for at least one of them to be available on |
| +# your machine, though none are defined by default because of library |
| +# dependencies. The Python module dbm/__init__.py provides an |
| +# implementation independent wrapper for these; dbm/dumb.py provides |
| +# similar functionality (but slower of course) implemented in Python. |
| + |
| +#_dbm _dbmmodule.c # dbm(3) may require -lndbm or similar |
| + |
| +# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm: |
| + |
| +#_gdbm _gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm |
| + |
| + |
| +# Helper module for various ascii-encoders |
| +#binascii binascii.c |
| + |
| +# Andrew Kuchling's zlib module. |
| +# This require zlib 1.1.3 (or later). |
| +# See http://www.gzip.org/zlib/ |
| +ZLIB=/usr |
| +zlib zlibmodule.c -I$(ZLIB)/include -L$(ZLIB)/lib -lz |
| + |
| +# Interface to the Expat XML parser |
| +# More information on Expat can be found at www.libexpat.org. |
| +# |
| +#pyexpat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DXML_POOR_ENTROPY -DUSE_PYEXPAT_CAPI |
| + |
| +# Hye-Shik Chang's CJKCodecs |
| + |
| +# multibytecodec is required for all the other CJK codec modules |
| +#_multibytecodec cjkcodecs/multibytecodec.c |
| + |
| +#_codecs_cn cjkcodecs/_codecs_cn.c |
| +#_codecs_hk cjkcodecs/_codecs_hk.c |
| +#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c |
| +#_codecs_jp cjkcodecs/_codecs_jp.c |
| +#_codecs_kr cjkcodecs/_codecs_kr.c |
| +#_codecs_tw cjkcodecs/_codecs_tw.c |
| + |
| +# Example -- included for reference only: |
| +# xx xxmodule.c |
| + |
| +# Another example -- the 'xxsubtype' module shows C-level subtyping in action |
| +xxsubtype xxsubtype.c |
| + |
| +# Uncommenting the following line tells makesetup that all following modules |
| +# are not built (see above for more detail). |
| +# |
| +#*disabled* |
| +# |
| +#_sqlite3 _tkinter _curses pyexpat |
| +#_codecs_jp _codecs_kr _codecs_tw unicodedata |
| |
| |
| |
| |
| |
| Property changes on: Python-3.10.8-new/Modules |
| ___________________________________________________________________ |
| Added: svn:ignore |
| ## -0,0 +1,73 ## |
| + |
| +# install dir |
| +dist |
| + |
| +# Target build dirs |
| +.a1x-newlib |
| +.a2x-newlib |
| +.at91sam7s-newlib |
| + |
| +.build-machine |
| + |
| +.a1x-glibc |
| +.a2x-glibc |
| +.h3-glibc |
| +.h5-glibc |
| +.i586-glibc |
| +.i686-glibc |
| +.imx6-glibc |
| +.jz47xx-glibc |
| +.makefile |
| +.am335x-glibc |
| +.omap543x-glibc |
| +.p5600-glibc |
| +.power8-glibc |
| +.power8le-glibc |
| +.power9-glibc |
| +.power9le-glibc |
| +.m1000-glibc |
| +.riscv64-glibc |
| +.rk328x-glibc |
| +.rk33xx-glibc |
| +.rk339x-glibc |
| +.s8xx-glibc |
| +.s9xx-glibc |
| +.x86_64-glibc |
| + |
| +# Hidden files (each file) |
| +.makefile |
| +.dist |
| +.rootfs |
| + |
| +# src & hw requires |
| +.src_requires |
| +.src_requires_depend |
| +.requires |
| +.requires_depend |
| + |
| +# Tarballs |
| +*.gz |
| +*.bz2 |
| +*.lz |
| +*.xz |
| +*.tgz |
| +*.txz |
| + |
| +# Signatures |
| +*.asc |
| +*.sig |
| +*.sign |
| +*.sha1sum |
| + |
| +# Patches |
| +*.patch |
| + |
| +# Descriptions |
| +*.dsc |
| +*.txt |
| + |
| +# Default linux config files |
| +*.defconfig |
| + |
| +# backup copies |
| +*~ |
| |
| |
| |
| |
| @@ -0,0 +1,19372 @@ |
| +#! /bin/sh |
| +# Guess values for system-dependent variables and create Makefiles. |
| +# Generated by GNU Autoconf 2.69 for python 3.10. |
| +# |
| +# Report bugs to <https://github.com/python/cpython/issues/>. |
| +# |
| +# |
| +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. |
| +# |
| +# |
| +# This configure script is free software; the Free Software Foundation |
| +# gives unlimited permission to copy, distribute and modify it. |
| +## -------------------- ## |
| +## M4sh Initialization. ## |
| +## -------------------- ## |
| + |
| +# Be more Bourne compatible |
| +DUALCASE=1; export DUALCASE # for MKS sh |
| +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : |
| + emulate sh |
| + NULLCMD=: |
| + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which |
| + # is contrary to our usage. Disable this feature. |
| + alias -g '${1+"$@"}'='"$@"' |
| + setopt NO_GLOB_SUBST |
| +else |
| + case `(set -o) 2>/dev/null` in #( |
| + *posix*) : |
| + set -o posix ;; #( |
| + *) : |
| + ;; |
| +esac |
| +fi |
| + |
| + |
| +as_nl=' |
| +' |
| +export as_nl |
| +# Printing a long string crashes Solaris 7 /usr/bin/printf. |
| +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' |
| +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo |
| +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo |
| +# Prefer a ksh shell builtin over an external printf program on Solaris, |
| +# but without wasting forks for bash or zsh. |
| +if test -z "$BASH_VERSION$ZSH_VERSION" \ |
| + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then |
| + as_echo='print -r --' |
| + as_echo_n='print -rn --' |
| +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then |
| + as_echo='printf %s\n' |
| + as_echo_n='printf %s' |
| +else |
| + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then |
| + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' |
| + as_echo_n='/usr/ucb/echo -n' |
| + else |
| + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' |
| + as_echo_n_body='eval |
| + arg=$1; |
| + case $arg in #( |
| + *"$as_nl"*) |
| + expr "X$arg" : "X\\(.*\\)$as_nl"; |
| + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; |
| + esac; |
| + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" |
| + ' |
| + export as_echo_n_body |
| + as_echo_n='sh -c $as_echo_n_body as_echo' |
| + fi |
| + export as_echo_body |
| + as_echo='sh -c $as_echo_body as_echo' |
| +fi |
| + |
| +# The user is always right. |
| +if test "${PATH_SEPARATOR+set}" != set; then |
| + PATH_SEPARATOR=: |
| + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { |
| + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || |
| + PATH_SEPARATOR=';' |
| + } |
| +fi |
| + |
| + |
| +# IFS |
| +# We need space, tab and new line, in precisely that order. Quoting is |
| +# there to prevent editors from complaining about space-tab. |
| +# (If _AS_PATH_WALK were called with IFS unset, it would disable word |
| +# splitting by setting IFS to empty value.) |
| +IFS=" "" $as_nl" |
| + |
| +# Find who we are. Look in the path if we contain no directory separator. |
| +as_myself= |
| +case $0 in #(( |
| + *[\\/]* ) as_myself=$0 ;; |
| + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +# We did not find ourselves, most probably we were run as `sh COMMAND' |
| +# in which case we are not to be found in the path. |
| +if test "x$as_myself" = x; then |
| + as_myself=$0 |
| +fi |
| +if test ! -f "$as_myself"; then |
| + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 |
| + exit 1 |
| +fi |
| + |
| +# Unset variables that we do not need and which cause bugs (e.g. in |
| +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" |
| +# suppresses any "Segmentation fault" message there. '((' could |
| +# trigger a bug in pdksh 5.2.14. |
| +for as_var in BASH_ENV ENV MAIL MAILPATH |
| +do eval test x\${$as_var+set} = xset \ |
| + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : |
| +done |
| +PS1='$ ' |
| +PS2='> ' |
| +PS4='+ ' |
| + |
| +# NLS nuisances. |
| +LC_ALL=C |
| +export LC_ALL |
| +LANGUAGE=C |
| +export LANGUAGE |
| + |
| +# CDPATH. |
| +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
| + |
| +# Use a proper internal environment variable to ensure we don't fall |
| + # into an infinite loop, continuously re-executing ourselves. |
| + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then |
| + _as_can_reexec=no; export _as_can_reexec; |
| + # We cannot yet assume a decent shell, so we have to provide a |
| +# neutralization value for shells without unset; and this also |
| +# works around shells that cannot unset nonexistent variables. |
| +# Preserve -v and -x to the replacement shell. |
| +BASH_ENV=/dev/null |
| +ENV=/dev/null |
| +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV |
| +case $- in # (((( |
| + *v*x* | *x*v* ) as_opts=-vx ;; |
| + *v* ) as_opts=-v ;; |
| + *x* ) as_opts=-x ;; |
| + * ) as_opts= ;; |
| +esac |
| +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} |
| +# Admittedly, this is quite paranoid, since all the known shells bail |
| +# out after a failed `exec'. |
| +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 |
| +as_fn_exit 255 |
| + fi |
| + # We don't want this to propagate to other subprocesses. |
| + { _as_can_reexec=; unset _as_can_reexec;} |
| +if test "x$CONFIG_SHELL" = x; then |
| + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : |
| + emulate sh |
| + NULLCMD=: |
| + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which |
| + # is contrary to our usage. Disable this feature. |
| + alias -g '\${1+\"\$@\"}'='\"\$@\"' |
| + setopt NO_GLOB_SUBST |
| +else |
| + case \`(set -o) 2>/dev/null\` in #( |
| + *posix*) : |
| + set -o posix ;; #( |
| + *) : |
| + ;; |
| +esac |
| +fi |
| +" |
| + as_required="as_fn_return () { (exit \$1); } |
| +as_fn_success () { as_fn_return 0; } |
| +as_fn_failure () { as_fn_return 1; } |
| +as_fn_ret_success () { return 0; } |
| +as_fn_ret_failure () { return 1; } |
| + |
| +exitcode=0 |
| +as_fn_success || { exitcode=1; echo as_fn_success failed.; } |
| +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } |
| +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } |
| +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } |
| +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : |
| + |
| +else |
| + exitcode=1; echo positional parameters were not saved. |
| +fi |
| +test x\$exitcode = x0 || exit 1 |
| +test -x / || exit 1" |
| + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO |
| + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO |
| + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && |
| + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 |
| +test \$(( 1 + 1 )) = 2 || exit 1" |
| + if (eval "$as_required") 2>/dev/null; then : |
| + as_have_required=yes |
| +else |
| + as_have_required=no |
| +fi |
| + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : |
| + |
| +else |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +as_found=false |
| +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + as_found=: |
| + case $as_dir in #( |
| + /*) |
| + for as_base in sh bash ksh sh5; do |
| + # Try only shells that exist, to save several forks. |
| + as_shell=$as_dir/$as_base |
| + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && |
| + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : |
| + CONFIG_SHELL=$as_shell as_have_required=yes |
| + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : |
| + break 2 |
| +fi |
| +fi |
| + done;; |
| + esac |
| + as_found=false |
| +done |
| +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && |
| + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : |
| + CONFIG_SHELL=$SHELL as_have_required=yes |
| +fi; } |
| +IFS=$as_save_IFS |
| + |
| + |
| + if test "x$CONFIG_SHELL" != x; then : |
| + export CONFIG_SHELL |
| + # We cannot yet assume a decent shell, so we have to provide a |
| +# neutralization value for shells without unset; and this also |
| +# works around shells that cannot unset nonexistent variables. |
| +# Preserve -v and -x to the replacement shell. |
| +BASH_ENV=/dev/null |
| +ENV=/dev/null |
| +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV |
| +case $- in # (((( |
| + *v*x* | *x*v* ) as_opts=-vx ;; |
| + *v* ) as_opts=-v ;; |
| + *x* ) as_opts=-x ;; |
| + * ) as_opts= ;; |
| +esac |
| +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} |
| +# Admittedly, this is quite paranoid, since all the known shells bail |
| +# out after a failed `exec'. |
| +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 |
| +exit 255 |
| +fi |
| + |
| + if test x$as_have_required = xno; then : |
| + $as_echo "$0: This script requires a shell more modern than all" |
| + $as_echo "$0: the shells that I found on your system." |
| + if test x${ZSH_VERSION+set} = xset ; then |
| + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" |
| + $as_echo "$0: be upgraded to zsh 4.3.4 or later." |
| + else |
| + $as_echo "$0: Please tell bug-autoconf@gnu.org and |
| +$0: https://github.com/python/cpython/issues/ about your |
| +$0: system, including any error possibly output before this |
| +$0: message. Then install a modern shell, or manually run |
| +$0: the script under such a shell if you do have one." |
| + fi |
| + exit 1 |
| +fi |
| +fi |
| +fi |
| +SHELL=${CONFIG_SHELL-/bin/sh} |
| +export SHELL |
| +# Unset more variables known to interfere with behavior of common tools. |
| +CLICOLOR_FORCE= GREP_OPTIONS= |
| +unset CLICOLOR_FORCE GREP_OPTIONS |
| + |
| +## --------------------- ## |
| +## M4sh Shell Functions. ## |
| +## --------------------- ## |
| +# as_fn_unset VAR |
| +# --------------- |
| +# Portably unset VAR. |
| +as_fn_unset () |
| +{ |
| + { eval $1=; unset $1;} |
| +} |
| +as_unset=as_fn_unset |
| + |
| +# as_fn_set_status STATUS |
| +# ----------------------- |
| +# Set $? to STATUS, without forking. |
| +as_fn_set_status () |
| +{ |
| + return $1 |
| +} # as_fn_set_status |
| + |
| +# as_fn_exit STATUS |
| +# ----------------- |
| +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. |
| +as_fn_exit () |
| +{ |
| + set +e |
| + as_fn_set_status $1 |
| + exit $1 |
| +} # as_fn_exit |
| + |
| +# as_fn_mkdir_p |
| +# ------------- |
| +# Create "$as_dir" as a directory, including parents if necessary. |
| +as_fn_mkdir_p () |
| +{ |
| + |
| + case $as_dir in #( |
| + -*) as_dir=./$as_dir;; |
| + esac |
| + test -d "$as_dir" || eval $as_mkdir_p || { |
| + as_dirs= |
| + while :; do |
| + case $as_dir in #( |
| + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( |
| + *) as_qdir=$as_dir;; |
| + esac |
| + as_dirs="'$as_qdir' $as_dirs" |
| + as_dir=`$as_dirname -- "$as_dir" || |
| +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
| + X"$as_dir" : 'X\(//\)[^/]' \| \ |
| + X"$as_dir" : 'X\(//\)$' \| \ |
| + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || |
| +$as_echo X"$as_dir" | |
| + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)[^/].*/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\).*/{ |
| + s//\1/ |
| + q |
| + } |
| + s/.*/./; q'` |
| + test -d "$as_dir" && break |
| + done |
| + test -z "$as_dirs" || eval "mkdir $as_dirs" |
| + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
| + |
| + |
| +} # as_fn_mkdir_p |
| + |
| +# as_fn_executable_p FILE |
| +# ----------------------- |
| +# Test if FILE is an executable regular file. |
| +as_fn_executable_p () |
| +{ |
| + test -f "$1" && test -x "$1" |
| +} # as_fn_executable_p |
| +# as_fn_append VAR VALUE |
| +# ---------------------- |
| +# Append the text in VALUE to the end of the definition contained in VAR. Take |
| +# advantage of any shell optimizations that allow amortized linear growth over |
| +# repeated appends, instead of the typical quadratic growth present in naive |
| +# implementations. |
| +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : |
| + eval 'as_fn_append () |
| + { |
| + eval $1+=\$2 |
| + }' |
| +else |
| + as_fn_append () |
| + { |
| + eval $1=\$$1\$2 |
| + } |
| +fi # as_fn_append |
| + |
| +# as_fn_arith ARG... |
| +# ------------------ |
| +# Perform arithmetic evaluation on the ARGs, and store the result in the |
| +# global $as_val. Take advantage of shells that can avoid forks. The arguments |
| +# must be portable across $(()) and expr. |
| +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : |
| + eval 'as_fn_arith () |
| + { |
| + as_val=$(( $* )) |
| + }' |
| +else |
| + as_fn_arith () |
| + { |
| + as_val=`expr "$@" || test $? -eq 1` |
| + } |
| +fi # as_fn_arith |
| + |
| + |
| +# as_fn_error STATUS ERROR [LINENO LOG_FD] |
| +# ---------------------------------------- |
| +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
| +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
| +# script with STATUS, using 1 if that was 0. |
| +as_fn_error () |
| +{ |
| + as_status=$1; test $as_status -eq 0 && as_status=1 |
| + if test "$4"; then |
| + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
| + fi |
| + $as_echo "$as_me: error: $2" >&2 |
| + as_fn_exit $as_status |
| +} # as_fn_error |
| + |
| +if expr a : '\(a\)' >/dev/null 2>&1 && |
| + test "X`expr 00001 : '.*\(...\)'`" = X001; then |
| + as_expr=expr |
| +else |
| + as_expr=false |
| +fi |
| + |
| +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then |
| + as_basename=basename |
| +else |
| + as_basename=false |
| +fi |
| + |
| +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then |
| + as_dirname=dirname |
| +else |
| + as_dirname=false |
| +fi |
| + |
| +as_me=`$as_basename -- "$0" || |
| +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ |
| + X"$0" : 'X\(//\)$' \| \ |
| + X"$0" : 'X\(/\)' \| . 2>/dev/null || |
| +$as_echo X/"$0" | |
| + sed '/^.*\/\([^/][^/]*\)\/*$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\/\(\/\/\)$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\/\(\/\).*/{ |
| + s//\1/ |
| + q |
| + } |
| + s/.*/./; q'` |
| + |
| +# Avoid depending upon Character Ranges. |
| +as_cr_letters='abcdefghijklmnopqrstuvwxyz' |
| +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
| +as_cr_Letters=$as_cr_letters$as_cr_LETTERS |
| +as_cr_digits='0123456789' |
| +as_cr_alnum=$as_cr_Letters$as_cr_digits |
| + |
| + |
| + as_lineno_1=$LINENO as_lineno_1a=$LINENO |
| + as_lineno_2=$LINENO as_lineno_2a=$LINENO |
| + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && |
| + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { |
| + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) |
| + sed -n ' |
| + p |
| + /[$]LINENO/= |
| + ' <$as_myself | |
| + sed ' |
| + s/[$]LINENO.*/&-/ |
| + t lineno |
| + b |
| + :lineno |
| + N |
| + :loop |
| + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ |
| + t loop |
| + s/-\n.*// |
| + ' >$as_me.lineno && |
| + chmod +x "$as_me.lineno" || |
| + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } |
| + |
| + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have |
| + # already done that, so ensure we don't try to do so again and fall |
| + # in an infinite loop. This has already happened in practice. |
| + _as_can_reexec=no; export _as_can_reexec |
| + # Don't try to exec as it changes $[0], causing all sort of problems |
| + # (the dirname of $[0] is not the place where we might find the |
| + # original and so on. Autoconf is especially sensitive to this). |
| + . "./$as_me.lineno" |
| + # Exit status is that of the last command. |
| + exit |
| +} |
| + |
| +ECHO_C= ECHO_N= ECHO_T= |
| +case `echo -n x` in #((((( |
| +-n*) |
| + case `echo 'xy\c'` in |
| + *c*) ECHO_T=' ';; # ECHO_T is single tab character. |
| + xy) ECHO_C='\c';; |
| + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null |
| + ECHO_T=' ';; |
| + esac;; |
| +*) |
| + ECHO_N='-n';; |
| +esac |
| + |
| +rm -f conf$$ conf$$.exe conf$$.file |
| +if test -d conf$$.dir; then |
| + rm -f conf$$.dir/conf$$.file |
| +else |
| + rm -f conf$$.dir |
| + mkdir conf$$.dir 2>/dev/null |
| +fi |
| +if (echo >conf$$.file) 2>/dev/null; then |
| + if ln -s conf$$.file conf$$ 2>/dev/null; then |
| + as_ln_s='ln -s' |
| + # ... but there are two gotchas: |
| + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
| + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
| + # In both cases, we have to default to `cp -pR'. |
| + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
| + as_ln_s='cp -pR' |
| + elif ln conf$$.file conf$$ 2>/dev/null; then |
| + as_ln_s=ln |
| + else |
| + as_ln_s='cp -pR' |
| + fi |
| +else |
| + as_ln_s='cp -pR' |
| +fi |
| +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
| +rmdir conf$$.dir 2>/dev/null |
| + |
| +if mkdir -p . 2>/dev/null; then |
| + as_mkdir_p='mkdir -p "$as_dir"' |
| +else |
| + test -d ./-p && rmdir ./-p |
| + as_mkdir_p=false |
| +fi |
| + |
| +as_test_x='test -x' |
| +as_executable_p=as_fn_executable_p |
| + |
| +# Sed expression to map a string onto a valid CPP name. |
| +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
| + |
| +# Sed expression to map a string onto a valid variable name. |
| +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" |
| + |
| + |
| +test -n "$DJDIR" || exec 7<&0 </dev/null |
| +exec 6>&1 |
| + |
| +# Name of the host. |
| +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, |
| +# so uname gets run too. |
| +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` |
| + |
| +# |
| +# Initializations. |
| +# |
| +ac_default_prefix=/usr/local |
| +ac_clean_files= |
| +ac_config_libobj_dir=. |
| +LIBOBJS= |
| +cross_compiling=no |
| +subdirs= |
| +MFLAGS= |
| +MAKEFLAGS= |
| + |
| +# Identity of this package. |
| +PACKAGE_NAME='python' |
| +PACKAGE_TARNAME='python' |
| +PACKAGE_VERSION='3.10' |
| +PACKAGE_STRING='python 3.10' |
| +PACKAGE_BUGREPORT='https://github.com/python/cpython/issues/' |
| +PACKAGE_URL='' |
| + |
| +ac_unique_file="Include/object.h" |
| +# Factoring default headers for most tests. |
| +ac_includes_default="\ |
| +#include <stdio.h> |
| +#ifdef HAVE_SYS_TYPES_H |
| +# include <sys/types.h> |
| +#endif |
| +#ifdef HAVE_SYS_STAT_H |
| +# include <sys/stat.h> |
| +#endif |
| +#ifdef STDC_HEADERS |
| +# include <stdlib.h> |
| +# include <stddef.h> |
| +#else |
| +# ifdef HAVE_STDLIB_H |
| +# include <stdlib.h> |
| +# endif |
| +#endif |
| +#ifdef HAVE_STRING_H |
| +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H |
| +# include <memory.h> |
| +# endif |
| +# include <string.h> |
| +#endif |
| +#ifdef HAVE_STRINGS_H |
| +# include <strings.h> |
| +#endif |
| +#ifdef HAVE_INTTYPES_H |
| +# include <inttypes.h> |
| +#endif |
| +#ifdef HAVE_STDINT_H |
| +# include <stdint.h> |
| +#endif |
| +#ifdef HAVE_UNISTD_H |
| +# include <unistd.h> |
| +#endif" |
| + |
| +ac_subst_vars='LTLIBOBJS |
| +TEST_MODULES |
| +LIBRARY_DEPS |
| +STATIC_LIBPYTHON |
| +OPENSSL_RPATH |
| +OPENSSL_LDFLAGS |
| +OPENSSL_LIBS |
| +OPENSSL_INCLUDES |
| +ENSUREPIP |
| +SRCDIRS |
| +THREADHEADERS |
| +WHEEL_PKG_DIR |
| +LIBPL |
| +PY_ENABLE_SHARED |
| +PLATLIBDIR |
| +BINLIBDEST |
| +LIBPYTHON |
| +EXT_SUFFIX |
| +ALT_SOABI |
| +SOABI |
| +LIBC |
| +LIBM |
| +HAVE_GETHOSTBYNAME |
| +HAVE_GETHOSTBYNAME_R |
| +HAVE_GETHOSTBYNAME_R_3_ARG |
| +HAVE_GETHOSTBYNAME_R_5_ARG |
| +HAVE_GETHOSTBYNAME_R_6_ARG |
| +LIBOBJS |
| +TRUE |
| +MACHDEP_OBJS |
| +DYNLOADFILE |
| +DLINCLDIR |
| +DTRACE_OBJS |
| +DTRACE_HEADERS |
| +DFLAGS |
| +DTRACE |
| +TCLTK_LIBS |
| +TCLTK_INCLUDES |
| +LIBFFI_INCLUDEDIR |
| +PKG_CONFIG_LIBDIR |
| +PKG_CONFIG_PATH |
| +PKG_CONFIG |
| +TZPATH |
| +SHLIBS |
| +CFLAGSFORSHARED |
| +LINKFORSHARED |
| +CCSHARED |
| +BLDSHARED |
| +LDCXXSHARED |
| +LDSHARED |
| +SHLIB_SUFFIX |
| +LIBTOOL_CRUFT |
| +OTHER_LIBTOOL_OPT |
| +UNIVERSAL_ARCH_FLAGS |
| +LDFLAGS_NODIST |
| +CFLAGS_NODIST |
| +BASECFLAGS |
| +CFLAGS_ALIASING |
| +OPT |
| +LLVM_PROF_FOUND |
| +LLVM_PROFDATA |
| +LLVM_PROF_ERR |
| +LLVM_PROF_FILE |
| +LLVM_PROF_MERGER |
| +PGO_PROF_USE_FLAG |
| +PGO_PROF_GEN_FLAG |
| +LLVM_AR_FOUND |
| +LLVM_AR |
| +PROFILE_TASK |
| +DEF_MAKE_RULE |
| +DEF_MAKE_ALL_RULE |
| +ABIFLAGS |
| +LN |
| +MKDIR_P |
| +INSTALL_DATA |
| +INSTALL_SCRIPT |
| +INSTALL_PROGRAM |
| +ac_ct_READELF |
| +READELF |
| +ARFLAGS |
| +ac_ct_AR |
| +AR |
| +GNULD |
| +EXPORTSFROM |
| +EXPORTSYMS |
| +LINKCC |
| +LDVERSION |
| +RUNSHARED |
| +INSTSONAME |
| +LDLIBRARYDIR |
| +PY3LIBRARY |
| +BLDLIBRARY |
| +DLLLIBRARY |
| +LDLIBRARY |
| +LIBRARY |
| +BUILDEXEEXT |
| +EGREP |
| +NO_AS_NEEDED |
| +MULTIARCH_CPPFLAGS |
| +PLATFORM_TRIPLET |
| +MULTIARCH |
| +ac_ct_CXX |
| +MAINCC |
| +CXX |
| +SED |
| +GREP |
| +CPP |
| +OBJEXT |
| +EXEEXT |
| +ac_ct_CC |
| +CPPFLAGS |
| +LDFLAGS |
| +CFLAGS |
| +CC |
| +EXPORT_MACOSX_DEPLOYMENT_TARGET |
| +CONFIGURE_MACOSX_DEPLOYMENT_TARGET |
| +_PYTHON_HOST_PLATFORM |
| +MACHDEP |
| +FRAMEWORKINSTALLAPPSPREFIX |
| +FRAMEWORKUNIXTOOLSPREFIX |
| +FRAMEWORKPYTHONW |
| +FRAMEWORKALTINSTALLLAST |
| +FRAMEWORKALTINSTALLFIRST |
| +FRAMEWORKINSTALLLAST |
| +FRAMEWORKINSTALLFIRST |
| +PYTHONFRAMEWORKINSTALLDIR |
| +PYTHONFRAMEWORKPREFIX |
| +PYTHONFRAMEWORKDIR |
| +PYTHONFRAMEWORKIDENTIFIER |
| +PYTHONFRAMEWORK |
| +LIPO_INTEL64_FLAGS |
| +LIPO_32BIT_FLAGS |
| +ARCH_RUN_32BIT |
| +UNIVERSALSDK |
| +CONFIG_ARGS |
| +SOVERSION |
| +VERSION |
| +PYTHON_FOR_BUILD |
| +PYTHON_FOR_REGEN |
| +host_os |
| +host_vendor |
| +host_cpu |
| +host |
| +build_os |
| +build_vendor |
| +build_cpu |
| +build |
| +HAS_GIT |
| +GITBRANCH |
| +GITTAG |
| +GITVERSION |
| +BASECPPFLAGS |
| +target_alias |
| +host_alias |
| +build_alias |
| +LIBS |
| +ECHO_T |
| +ECHO_N |
| +ECHO_C |
| +DEFS |
| +mandir |
| +localedir |
| +libdir |
| +psdir |
| +pdfdir |
| +dvidir |
| +htmldir |
| +infodir |
| +docdir |
| +oldincludedir |
| +includedir |
| +runstatedir |
| +localstatedir |
| +sharedstatedir |
| +sysconfdir |
| +datadir |
| +datarootdir |
| +libexecdir |
| +sbindir |
| +bindir |
| +program_transform_name |
| +prefix |
| +exec_prefix |
| +PACKAGE_URL |
| +PACKAGE_BUGREPORT |
| +PACKAGE_STRING |
| +PACKAGE_VERSION |
| +PACKAGE_TARNAME |
| +PACKAGE_NAME |
| +PATH_SEPARATOR |
| +SHELL' |
| +ac_subst_files='' |
| +ac_user_opts=' |
| +enable_option_checking |
| +enable_universalsdk |
| +with_universal_archs |
| +with_framework_name |
| +enable_framework |
| +with_cxx_main |
| +with_suffix |
| +enable_shared |
| +enable_profiling |
| +with_pydebug |
| +with_trace_refs |
| +with_assertions |
| +enable_optimizations |
| +with_lto |
| +with_address_sanitizer |
| +with_memory_sanitizer |
| +with_undefined_behavior_sanitizer |
| +with_hash_algorithm |
| +with_tzpath |
| +with_libs |
| +with_system_expat |
| +with_system_ffi |
| +with_system_libmpdec |
| +with_decimal_contextvar |
| +enable_loadable_sqlite_extensions |
| +with_tcltk_includes |
| +with_tcltk_libs |
| +with_dbmliborder |
| +enable_ipv6 |
| +with_doc_strings |
| +with_pymalloc |
| +with_c_locale_coercion |
| +with_valgrind |
| +with_dtrace |
| +with_libm |
| +with_libc |
| +enable_big_digits |
| +with_platlibdir |
| +with_wheel_pkg_dir |
| +with_readline |
| +with_computed_gotos |
| +with_ensurepip |
| +with_openssl |
| +with_openssl_rpath |
| +with_ssl_default_suites |
| +with_builtin_hashlib_hashes |
| +with_experimental_isolated_subinterpreters |
| +with_static_libpython |
| +enable_test_modules |
| +' |
| + ac_precious_vars='build_alias |
| +host_alias |
| +target_alias |
| +MACHDEP |
| +CC |
| +CFLAGS |
| +LDFLAGS |
| +LIBS |
| +CPPFLAGS |
| +CPP |
| +PROFILE_TASK |
| +PKG_CONFIG |
| +PKG_CONFIG_PATH |
| +PKG_CONFIG_LIBDIR' |
| + |
| + |
| +# Initialize some variables set by options. |
| +ac_init_help= |
| +ac_init_version=false |
| +ac_unrecognized_opts= |
| +ac_unrecognized_sep= |
| +# The variables have the same names as the options, with |
| +# dashes changed to underlines. |
| +cache_file=/dev/null |
| +exec_prefix=NONE |
| +no_create= |
| +no_recursion= |
| +prefix=NONE |
| +program_prefix=NONE |
| +program_suffix=NONE |
| +program_transform_name=s,x,x, |
| +silent= |
| +site= |
| +srcdir= |
| +verbose= |
| +x_includes=NONE |
| +x_libraries=NONE |
| + |
| +# Installation directory options. |
| +# These are left unexpanded so users can "make install exec_prefix=/foo" |
| +# and all the variables that are supposed to be based on exec_prefix |
| +# by default will actually change. |
| +# Use braces instead of parens because sh, perl, etc. also accept them. |
| +# (The list follows the same order as the GNU Coding Standards.) |
| +bindir='${exec_prefix}/bin' |
| +sbindir='${exec_prefix}/sbin' |
| +libexecdir='${exec_prefix}/libexec' |
| +datarootdir='${prefix}/share' |
| +datadir='${datarootdir}' |
| +sysconfdir='${prefix}/etc' |
| +sharedstatedir='${prefix}/com' |
| +localstatedir='${prefix}/var' |
| +runstatedir='${localstatedir}/run' |
| +includedir='${prefix}/include' |
| +oldincludedir='/usr/include' |
| +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' |
| +infodir='${datarootdir}/info' |
| +htmldir='${docdir}' |
| +dvidir='${docdir}' |
| +pdfdir='${docdir}' |
| +psdir='${docdir}' |
| +libdir='${exec_prefix}/lib' |
| +localedir='${datarootdir}/locale' |
| +mandir='${datarootdir}/man' |
| + |
| +ac_prev= |
| +ac_dashdash= |
| +for ac_option |
| +do |
| + # If the previous option needs an argument, assign it. |
| + if test -n "$ac_prev"; then |
| + eval $ac_prev=\$ac_option |
| + ac_prev= |
| + continue |
| + fi |
| + |
| + case $ac_option in |
| + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; |
| + *=) ac_optarg= ;; |
| + *) ac_optarg=yes ;; |
| + esac |
| + |
| + # Accept the important Cygnus configure options, so we can diagnose typos. |
| + |
| + case $ac_dashdash$ac_option in |
| + --) |
| + ac_dashdash=yes ;; |
| + |
| + -bindir | --bindir | --bindi | --bind | --bin | --bi) |
| + ac_prev=bindir ;; |
| + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) |
| + bindir=$ac_optarg ;; |
| + |
| + -build | --build | --buil | --bui | --bu) |
| + ac_prev=build_alias ;; |
| + -build=* | --build=* | --buil=* | --bui=* | --bu=*) |
| + build_alias=$ac_optarg ;; |
| + |
| + -cache-file | --cache-file | --cache-fil | --cache-fi \ |
| + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) |
| + ac_prev=cache_file ;; |
| + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ |
| + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) |
| + cache_file=$ac_optarg ;; |
| + |
| + --config-cache | -C) |
| + cache_file=config.cache ;; |
| + |
| + -datadir | --datadir | --datadi | --datad) |
| + ac_prev=datadir ;; |
| + -datadir=* | --datadir=* | --datadi=* | --datad=*) |
| + datadir=$ac_optarg ;; |
| + |
| + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ |
| + | --dataroo | --dataro | --datar) |
| + ac_prev=datarootdir ;; |
| + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ |
| + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) |
| + datarootdir=$ac_optarg ;; |
| + |
| + -disable-* | --disable-*) |
| + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` |
| + # Reject names that are not valid shell variable names. |
| + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| + as_fn_error $? "invalid feature name: $ac_useropt" |
| + ac_useropt_orig=$ac_useropt |
| + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| + case $ac_user_opts in |
| + *" |
| +"enable_$ac_useropt" |
| +"*) ;; |
| + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" |
| + ac_unrecognized_sep=', ';; |
| + esac |
| + eval enable_$ac_useropt=no ;; |
| + |
| + -docdir | --docdir | --docdi | --doc | --do) |
| + ac_prev=docdir ;; |
| + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) |
| + docdir=$ac_optarg ;; |
| + |
| + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) |
| + ac_prev=dvidir ;; |
| + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) |
| + dvidir=$ac_optarg ;; |
| + |
| + -enable-* | --enable-*) |
| + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` |
| + # Reject names that are not valid shell variable names. |
| + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| + as_fn_error $? "invalid feature name: $ac_useropt" |
| + ac_useropt_orig=$ac_useropt |
| + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| + case $ac_user_opts in |
| + *" |
| +"enable_$ac_useropt" |
| +"*) ;; |
| + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" |
| + ac_unrecognized_sep=', ';; |
| + esac |
| + eval enable_$ac_useropt=\$ac_optarg ;; |
| + |
| + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ |
| + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ |
| + | --exec | --exe | --ex) |
| + ac_prev=exec_prefix ;; |
| + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ |
| + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ |
| + | --exec=* | --exe=* | --ex=*) |
| + exec_prefix=$ac_optarg ;; |
| + |
| + -gas | --gas | --ga | --g) |
| + # Obsolete; use --with-gas. |
| + with_gas=yes ;; |
| + |
| + -help | --help | --hel | --he | -h) |
| + ac_init_help=long ;; |
| + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) |
| + ac_init_help=recursive ;; |
| + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) |
| + ac_init_help=short ;; |
| + |
| + -host | --host | --hos | --ho) |
| + ac_prev=host_alias ;; |
| + -host=* | --host=* | --hos=* | --ho=*) |
| + host_alias=$ac_optarg ;; |
| + |
| + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) |
| + ac_prev=htmldir ;; |
| + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ |
| + | --ht=*) |
| + htmldir=$ac_optarg ;; |
| + |
| + -includedir | --includedir | --includedi | --included | --include \ |
| + | --includ | --inclu | --incl | --inc) |
| + ac_prev=includedir ;; |
| + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ |
| + | --includ=* | --inclu=* | --incl=* | --inc=*) |
| + includedir=$ac_optarg ;; |
| + |
| + -infodir | --infodir | --infodi | --infod | --info | --inf) |
| + ac_prev=infodir ;; |
| + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) |
| + infodir=$ac_optarg ;; |
| + |
| + -libdir | --libdir | --libdi | --libd) |
| + ac_prev=libdir ;; |
| + -libdir=* | --libdir=* | --libdi=* | --libd=*) |
| + libdir=$ac_optarg ;; |
| + |
| + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ |
| + | --libexe | --libex | --libe) |
| + ac_prev=libexecdir ;; |
| + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ |
| + | --libexe=* | --libex=* | --libe=*) |
| + libexecdir=$ac_optarg ;; |
| + |
| + -localedir | --localedir | --localedi | --localed | --locale) |
| + ac_prev=localedir ;; |
| + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) |
| + localedir=$ac_optarg ;; |
| + |
| + -localstatedir | --localstatedir | --localstatedi | --localstated \ |
| + | --localstate | --localstat | --localsta | --localst | --locals) |
| + ac_prev=localstatedir ;; |
| + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ |
| + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) |
| + localstatedir=$ac_optarg ;; |
| + |
| + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) |
| + ac_prev=mandir ;; |
| + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) |
| + mandir=$ac_optarg ;; |
| + |
| + -nfp | --nfp | --nf) |
| + # Obsolete; use --without-fp. |
| + with_fp=no ;; |
| + |
| + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ |
| + | --no-cr | --no-c | -n) |
| + no_create=yes ;; |
| + |
| + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ |
| + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) |
| + no_recursion=yes ;; |
| + |
| + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ |
| + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ |
| + | --oldin | --oldi | --old | --ol | --o) |
| + ac_prev=oldincludedir ;; |
| + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ |
| + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ |
| + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) |
| + oldincludedir=$ac_optarg ;; |
| + |
| + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) |
| + ac_prev=prefix ;; |
| + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) |
| + prefix=$ac_optarg ;; |
| + |
| + -program-prefix | --program-prefix | --program-prefi | --program-pref \ |
| + | --program-pre | --program-pr | --program-p) |
| + ac_prev=program_prefix ;; |
| + -program-prefix=* | --program-prefix=* | --program-prefi=* \ |
| + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) |
| + program_prefix=$ac_optarg ;; |
| + |
| + -program-suffix | --program-suffix | --program-suffi | --program-suff \ |
| + | --program-suf | --program-su | --program-s) |
| + ac_prev=program_suffix ;; |
| + -program-suffix=* | --program-suffix=* | --program-suffi=* \ |
| + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) |
| + program_suffix=$ac_optarg ;; |
| + |
| + -program-transform-name | --program-transform-name \ |
| + | --program-transform-nam | --program-transform-na \ |
| + | --program-transform-n | --program-transform- \ |
| + | --program-transform | --program-transfor \ |
| + | --program-transfo | --program-transf \ |
| + | --program-trans | --program-tran \ |
| + | --progr-tra | --program-tr | --program-t) |
| + ac_prev=program_transform_name ;; |
| + -program-transform-name=* | --program-transform-name=* \ |
| + | --program-transform-nam=* | --program-transform-na=* \ |
| + | --program-transform-n=* | --program-transform-=* \ |
| + | --program-transform=* | --program-transfor=* \ |
| + | --program-transfo=* | --program-transf=* \ |
| + | --program-trans=* | --program-tran=* \ |
| + | --progr-tra=* | --program-tr=* | --program-t=*) |
| + program_transform_name=$ac_optarg ;; |
| + |
| + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) |
| + ac_prev=pdfdir ;; |
| + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) |
| + pdfdir=$ac_optarg ;; |
| + |
| + -psdir | --psdir | --psdi | --psd | --ps) |
| + ac_prev=psdir ;; |
| + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) |
| + psdir=$ac_optarg ;; |
| + |
| + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
| + | -silent | --silent | --silen | --sile | --sil) |
| + silent=yes ;; |
| + |
| + -runstatedir | --runstatedir | --runstatedi | --runstated \ |
| + | --runstate | --runstat | --runsta | --runst | --runs \ |
| + | --run | --ru | --r) |
| + ac_prev=runstatedir ;; |
| + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ |
| + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ |
| + | --run=* | --ru=* | --r=*) |
| + runstatedir=$ac_optarg ;; |
| + |
| + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) |
| + ac_prev=sbindir ;; |
| + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ |
| + | --sbi=* | --sb=*) |
| + sbindir=$ac_optarg ;; |
| + |
| + -sharedstatedir | --sharedstatedir | --sharedstatedi \ |
| + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ |
| + | --sharedst | --shareds | --shared | --share | --shar \ |
| + | --sha | --sh) |
| + ac_prev=sharedstatedir ;; |
| + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ |
| + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ |
| + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ |
| + | --sha=* | --sh=*) |
| + sharedstatedir=$ac_optarg ;; |
| + |
| + -site | --site | --sit) |
| + ac_prev=site ;; |
| + -site=* | --site=* | --sit=*) |
| + site=$ac_optarg ;; |
| + |
| + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) |
| + ac_prev=srcdir ;; |
| + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) |
| + srcdir=$ac_optarg ;; |
| + |
| + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ |
| + | --syscon | --sysco | --sysc | --sys | --sy) |
| + ac_prev=sysconfdir ;; |
| + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ |
| + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) |
| + sysconfdir=$ac_optarg ;; |
| + |
| + -target | --target | --targe | --targ | --tar | --ta | --t) |
| + ac_prev=target_alias ;; |
| + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) |
| + target_alias=$ac_optarg ;; |
| + |
| + -v | -verbose | --verbose | --verbos | --verbo | --verb) |
| + verbose=yes ;; |
| + |
| + -version | --version | --versio | --versi | --vers | -V) |
| + ac_init_version=: ;; |
| + |
| + -with-* | --with-*) |
| + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` |
| + # Reject names that are not valid shell variable names. |
| + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| + as_fn_error $? "invalid package name: $ac_useropt" |
| + ac_useropt_orig=$ac_useropt |
| + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| + case $ac_user_opts in |
| + *" |
| +"with_$ac_useropt" |
| +"*) ;; |
| + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" |
| + ac_unrecognized_sep=', ';; |
| + esac |
| + eval with_$ac_useropt=\$ac_optarg ;; |
| + |
| + -without-* | --without-*) |
| + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` |
| + # Reject names that are not valid shell variable names. |
| + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| + as_fn_error $? "invalid package name: $ac_useropt" |
| + ac_useropt_orig=$ac_useropt |
| + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| + case $ac_user_opts in |
| + *" |
| +"with_$ac_useropt" |
| +"*) ;; |
| + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" |
| + ac_unrecognized_sep=', ';; |
| + esac |
| + eval with_$ac_useropt=no ;; |
| + |
| + --x) |
| + # Obsolete; use --with-x. |
| + with_x=yes ;; |
| + |
| + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ |
| + | --x-incl | --x-inc | --x-in | --x-i) |
| + ac_prev=x_includes ;; |
| + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ |
| + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) |
| + x_includes=$ac_optarg ;; |
| + |
| + -x-libraries | --x-libraries | --x-librarie | --x-librari \ |
| + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) |
| + ac_prev=x_libraries ;; |
| + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ |
| + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) |
| + x_libraries=$ac_optarg ;; |
| + |
| + -*) as_fn_error $? "unrecognized option: \`$ac_option' |
| +Try \`$0 --help' for more information" |
| + ;; |
| + |
| + *=*) |
| + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` |
| + # Reject names that are not valid shell variable names. |
| + case $ac_envvar in #( |
| + '' | [0-9]* | *[!_$as_cr_alnum]* ) |
| + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; |
| + esac |
| + eval $ac_envvar=\$ac_optarg |
| + export $ac_envvar ;; |
| + |
| + *) |
| + # FIXME: should be removed in autoconf 3.0. |
| + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 |
| + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && |
| + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 |
| + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" |
| + ;; |
| + |
| + esac |
| +done |
| + |
| +if test -n "$ac_prev"; then |
| + ac_option=--`echo $ac_prev | sed 's/_/-/g'` |
| + as_fn_error $? "missing argument to $ac_option" |
| +fi |
| + |
| +if test -n "$ac_unrecognized_opts"; then |
| + case $enable_option_checking in |
| + no) ;; |
| + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; |
| + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; |
| + esac |
| +fi |
| + |
| +# Check all directory arguments for consistency. |
| +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ |
| + datadir sysconfdir sharedstatedir localstatedir includedir \ |
| + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ |
| + libdir localedir mandir runstatedir |
| +do |
| + eval ac_val=\$$ac_var |
| + # Remove trailing slashes. |
| + case $ac_val in |
| + */ ) |
| + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` |
| + eval $ac_var=\$ac_val;; |
| + esac |
| + # Be sure to have absolute directory names. |
| + case $ac_val in |
| + [\\/$]* | ?:[\\/]* ) continue;; |
| + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; |
| + esac |
| + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" |
| +done |
| + |
| +# There might be people who depend on the old broken behavior: `$host' |
| +# used to hold the argument of --host etc. |
| +# FIXME: To remove some day. |
| +build=$build_alias |
| +host=$host_alias |
| +target=$target_alias |
| + |
| +# FIXME: To remove some day. |
| +if test "x$host_alias" != x; then |
| + if test "x$build_alias" = x; then |
| + cross_compiling=maybe |
| + elif test "x$build_alias" != "x$host_alias"; then |
| + cross_compiling=yes |
| + fi |
| +fi |
| + |
| +ac_tool_prefix= |
| +test -n "$host_alias" && ac_tool_prefix=$host_alias- |
| + |
| +test "$silent" = yes && exec 6>/dev/null |
| + |
| + |
| +ac_pwd=`pwd` && test -n "$ac_pwd" && |
| +ac_ls_di=`ls -di .` && |
| +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || |
| + as_fn_error $? "working directory cannot be determined" |
| +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || |
| + as_fn_error $? "pwd does not report name of working directory" |
| + |
| + |
| +# Find the source files, if location was not specified. |
| +if test -z "$srcdir"; then |
| + ac_srcdir_defaulted=yes |
| + # Try the directory containing this script, then the parent directory. |
| + ac_confdir=`$as_dirname -- "$as_myself" || |
| +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
| + X"$as_myself" : 'X\(//\)[^/]' \| \ |
| + X"$as_myself" : 'X\(//\)$' \| \ |
| + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || |
| +$as_echo X"$as_myself" | |
| + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)[^/].*/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\).*/{ |
| + s//\1/ |
| + q |
| + } |
| + s/.*/./; q'` |
| + srcdir=$ac_confdir |
| + if test ! -r "$srcdir/$ac_unique_file"; then |
| + srcdir=.. |
| + fi |
| +else |
| + ac_srcdir_defaulted=no |
| +fi |
| +if test ! -r "$srcdir/$ac_unique_file"; then |
| + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." |
| + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" |
| +fi |
| +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" |
| +ac_abs_confdir=`( |
| + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" |
| + pwd)` |
| +# When building in place, set srcdir=. |
| +if test "$ac_abs_confdir" = "$ac_pwd"; then |
| + srcdir=. |
| +fi |
| +# Remove unnecessary trailing slashes from srcdir. |
| +# Double slashes in file names in object file debugging info |
| +# mess up M-x gdb in Emacs. |
| +case $srcdir in |
| +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; |
| +esac |
| +for ac_var in $ac_precious_vars; do |
| + eval ac_env_${ac_var}_set=\${${ac_var}+set} |
| + eval ac_env_${ac_var}_value=\$${ac_var} |
| + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} |
| + eval ac_cv_env_${ac_var}_value=\$${ac_var} |
| +done |
| + |
| +# |
| +# Report the --help message. |
| +# |
| +if test "$ac_init_help" = "long"; then |
| + # Omit some internal or obsolete options to make the list less imposing. |
| + # This message is too long to be a string in the A/UX 3.1 sh. |
| + cat <<_ACEOF |
| +\`configure' configures python 3.10 to adapt to many kinds of systems. |
| + |
| +Usage: $0 [OPTION]... [VAR=VALUE]... |
| + |
| +To assign environment variables (e.g., CC, CFLAGS...), specify them as |
| +VAR=VALUE. See below for descriptions of some of the useful variables. |
| + |
| +Defaults for the options are specified in brackets. |
| + |
| +Configuration: |
| + -h, --help display this help and exit |
| + --help=short display options specific to this package |
| + --help=recursive display the short help of all the included packages |
| + -V, --version display version information and exit |
| + -q, --quiet, --silent do not print \`checking ...' messages |
| + --cache-file=FILE cache test results in FILE [disabled] |
| + -C, --config-cache alias for \`--cache-file=config.cache' |
| + -n, --no-create do not create output files |
| + --srcdir=DIR find the sources in DIR [configure dir or \`..'] |
| + |
| +Installation directories: |
| + --prefix=PREFIX install architecture-independent files in PREFIX |
| + [$ac_default_prefix] |
| + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX |
| + [PREFIX] |
| + |
| +By default, \`make install' will install all the files in |
| +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify |
| +an installation prefix other than \`$ac_default_prefix' using \`--prefix', |
| +for instance \`--prefix=\$HOME'. |
| + |
| +For better control, use the options below. |
| + |
| +Fine tuning of the installation directories: |
| + --bindir=DIR user executables [EPREFIX/bin] |
| + --sbindir=DIR system admin executables [EPREFIX/sbin] |
| + --libexecdir=DIR program executables [EPREFIX/libexec] |
| + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] |
| + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
| + --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
| + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] |
| + --libdir=DIR object code libraries [EPREFIX/lib] |
| + --includedir=DIR C header files [PREFIX/include] |
| + --oldincludedir=DIR C header files for non-gcc [/usr/include] |
| + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] |
| + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] |
| + --infodir=DIR info documentation [DATAROOTDIR/info] |
| + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] |
| + --mandir=DIR man documentation [DATAROOTDIR/man] |
| + --docdir=DIR documentation root [DATAROOTDIR/doc/python] |
| + --htmldir=DIR html documentation [DOCDIR] |
| + --dvidir=DIR dvi documentation [DOCDIR] |
| + --pdfdir=DIR pdf documentation [DOCDIR] |
| + --psdir=DIR ps documentation [DOCDIR] |
| +_ACEOF |
| + |
| + cat <<\_ACEOF |
| + |
| +System types: |
| + --build=BUILD configure for building on BUILD [guessed] |
| + --host=HOST cross-compile to build programs to run on HOST [BUILD] |
| +_ACEOF |
| +fi |
| + |
| +if test -n "$ac_init_help"; then |
| + case $ac_init_help in |
| + short | recursive ) echo "Configuration of python 3.10:";; |
| + esac |
| + cat <<\_ACEOF |
| + |
| +Optional Features: |
| + --disable-option-checking ignore unrecognized --enable/--with options |
| + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
| + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
| + --enable-universalsdk[=SDKDIR] |
| + create a universal binary build. SDKDIR specifies |
| + which macOS SDK should be used to perform the build, |
| + see Mac/README.rst. (default is no) |
| + --enable-framework[=INSTALLDIR] |
| + create a Python.framework rather than a traditional |
| + Unix install. optional INSTALLDIR specifies the |
| + installation path. see Mac/README.rst (default is |
| + no) |
| + --enable-shared enable building a shared Python library (default is |
| + no) |
| + --enable-profiling enable C-level code profiling with gprof (default is |
| + no) |
| + --enable-optimizations enable expensive, stable optimizations (PGO, etc.) |
| + (default is no) |
| + --enable-loadable-sqlite-extensions |
| + support loadable extensions in _sqlite module, see |
| + Doc/library/sqlite3.rst (default is no) |
| + --enable-ipv6 enable ipv6 (with ipv4) support, see |
| + Doc/library/socket.rst (default is yes if supported) |
| + --enable-big-digits[=15|30] |
| + use big digits (30 or 15 bits) for Python longs |
| + (default is system-dependent)] |
| + --disable-test-modules don't build nor install test modules |
| + |
| +Optional Packages: |
| + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] |
| + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) |
| + --with-universal-archs=ARCH |
| + specify the kind of macOS universal binary that |
| + should be created. This option is only valid when |
| + --enable-universalsdk is set; options are: |
| + ("universal2", "intel-64", "intel-32", "intel", |
| + "32-bit", "64-bit", "3-way", or "all") see |
| + Mac/README.rst |
| + --with-framework-name=FRAMEWORK |
| + specify the name for the python framework on macOS |
| + only valid when --enable-framework is set. see |
| + Mac/README.rst (default is 'Python') |
| + --with-cxx-main[=COMPILER] |
| + compile main() and link Python executable with C++ |
| + compiler specified in COMPILER (default is $CXX) |
| + --with-suffix=SUFFIX set executable suffix to SUFFIX (default is '.exe') |
| + --with-pydebug build with Py_DEBUG defined (default is no) |
| + --with-trace-refs enable tracing references for debugging purpose |
| + (default is no) |
| + --with-assertions build with C assertions enabled (default is no) |
| + --with-lto enable Link-Time-Optimization in any build (default |
| + is no) |
| + --with-address-sanitizer |
| + enable AddressSanitizer memory error detector, |
| + 'asan' (default is no) |
| + --with-memory-sanitizer enable MemorySanitizer allocation error detector, |
| + 'msan' (default is no) |
| + --with-undefined-behavior-sanitizer |
| + enable UndefinedBehaviorSanitizer undefined |
| + behaviour detector, 'ubsan' (default is no) |
| + --with-hash-algorithm=[fnv|siphash24] |
| + select hash algorithm for use in Python/pyhash.c |
| + (default is SipHash24) |
| + --with-tzpath=<list of absolute paths separated by pathsep> |
| + Select the default time zone search path for zoneinfo.TZPATH |
| + |
| + --with-libs='lib1 ...' link against additional libs (default is no) |
| + --with-system-expat build pyexpat module using an installed expat |
| + library, see Doc/library/pyexpat.rst (default is no) |
| + --with-system-ffi build _ctypes module using an installed ffi library, |
| + see Doc/library/ctypes.rst (default is |
| + system-dependent) |
| + --with-system-libmpdec build _decimal module using an installed libmpdec |
| + library, see Doc/library/decimal.rst (default is no) |
| + --with-decimal-contextvar |
| + build _decimal module using a coroutine-local rather |
| + than a thread-local context (default is yes) |
| + --with-tcltk-includes='-I...' |
| + override search for Tcl and Tk include files |
| + --with-tcltk-libs='-L...' |
| + override search for Tcl and Tk libs |
| + --with-dbmliborder=db1:db2:... |
| + override order to check db backends for dbm; a valid |
| + value is a colon separated string with the backend |
| + names `ndbm', `gdbm' and `bdb'. |
| + --with-doc-strings enable documentation strings (default is yes) |
| + --with-pymalloc enable specialized mallocs (default is yes) |
| + --with-c-locale-coercion |
| + enable C locale coercion to a UTF-8 based locale |
| + (default is yes) |
| + --with-valgrind enable Valgrind support (default is no) |
| + --with-dtrace enable DTrace support (default is no) |
| + --with-libm=STRING override libm math library to STRING (default is |
| + system-dependent) |
| + --with-libc=STRING override libc C library to STRING (default is |
| + system-dependent) |
| + --with-platlibdir=DIRNAME |
| + Python library directory name (default is "lib") |
| + --with-wheel-pkg-dir=PATH |
| + Directory of wheel packages used by ensurepip |
| + (default: none) |
| + --with(out)-readline[=editline] |
| + use Editline for backend or disable readline module |
| + --with-computed-gotos enable computed gotos in evaluation loop (enabled by |
| + default on supported compilers) |
| + --with-ensurepip[=install|upgrade|no] |
| + "install" or "upgrade" using bundled pip (default is |
| + upgrade) |
| + --with-openssl=DIR root of the OpenSSL directory |
| + --with-openssl-rpath=[DIR|auto|no] |
| + Set runtime library directory (rpath) for OpenSSL |
| + libraries, no (default): don't set rpath, auto: |
| + auto-detect rpath from --with-openssl and |
| + pkg-config, DIR: set an explicit rpath |
| + --with-ssl-default-suites=[python|openssl|STRING] |
| + override default cipher suites string, python: use |
| + Python's preferred selection (default), openssl: |
| + leave OpenSSL's defaults untouched, STRING: use a |
| + custom string, python and STRING also set TLS 1.2 as |
| + minimum TLS version |
| + --with-builtin-hashlib-hashes=md5,sha1,sha256,sha512,sha3,blake2 |
| + builtin hash modules, md5, sha1, sha256, sha512, |
| + sha3 (with shake), blake2 |
| + --with-experimental-isolated-subinterpreters |
| + better isolate subinterpreters, experimental build |
| + mode (default is no) |
| + --without-static-libpython |
| + do not build libpythonMAJOR.MINOR.a and do not |
| + install python.o (default is yes) |
| + |
| +Some influential environment variables: |
| + MACHDEP name for machine-dependent library files |
| + CC C compiler command |
| + CFLAGS C compiler flags |
| + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a |
| + nonstandard directory <lib dir> |
| + LIBS libraries to pass to the linker, e.g. -l<library> |
| + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if |
| + you have headers in a nonstandard directory <include dir> |
| + CPP C preprocessor |
| + PROFILE_TASK |
| + Python args for PGO generation task |
| + PKG_CONFIG path to pkg-config utility |
| + PKG_CONFIG_PATH |
| + directories to add to pkg-config's search path |
| + PKG_CONFIG_LIBDIR |
| + path overriding pkg-config's built-in search path |
| + |
| +Use these variables to override the choices made by `configure' or to help |
| +it to find libraries and programs with nonstandard names/locations. |
| + |
| +Report bugs to <https://github.com/python/cpython/issues/>. |
| +_ACEOF |
| +ac_status=$? |
| +fi |
| + |
| +if test "$ac_init_help" = "recursive"; then |
| + # If there are subdirs, report their specific --help. |
| + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue |
| + test -d "$ac_dir" || |
| + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || |
| + continue |
| + ac_builddir=. |
| + |
| +case "$ac_dir" in |
| +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; |
| +*) |
| + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` |
| + # A ".." for each directory in $ac_dir_suffix. |
| + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` |
| + case $ac_top_builddir_sub in |
| + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; |
| + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; |
| + esac ;; |
| +esac |
| +ac_abs_top_builddir=$ac_pwd |
| +ac_abs_builddir=$ac_pwd$ac_dir_suffix |
| +# for backward compatibility: |
| +ac_top_builddir=$ac_top_build_prefix |
| + |
| +case $srcdir in |
| + .) # We are building in place. |
| + ac_srcdir=. |
| + ac_top_srcdir=$ac_top_builddir_sub |
| + ac_abs_top_srcdir=$ac_pwd ;; |
| + [\\/]* | ?:[\\/]* ) # Absolute name. |
| + ac_srcdir=$srcdir$ac_dir_suffix; |
| + ac_top_srcdir=$srcdir |
| + ac_abs_top_srcdir=$srcdir ;; |
| + *) # Relative name. |
| + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix |
| + ac_top_srcdir=$ac_top_build_prefix$srcdir |
| + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; |
| +esac |
| +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix |
| + |
| + cd "$ac_dir" || { ac_status=$?; continue; } |
| + # Check for guested configure. |
| + if test -f "$ac_srcdir/configure.gnu"; then |
| + echo && |
| + $SHELL "$ac_srcdir/configure.gnu" --help=recursive |
| + elif test -f "$ac_srcdir/configure"; then |
| + echo && |
| + $SHELL "$ac_srcdir/configure" --help=recursive |
| + else |
| + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 |
| + fi || ac_status=$? |
| + cd "$ac_pwd" || { ac_status=$?; break; } |
| + done |
| +fi |
| + |
| +test -n "$ac_init_help" && exit $ac_status |
| +if $ac_init_version; then |
| + cat <<\_ACEOF |
| +python configure 3.10 |
| +generated by GNU Autoconf 2.69 |
| + |
| +Copyright (C) 2012 Free Software Foundation, Inc. |
| +This configure script is free software; the Free Software Foundation |
| +gives unlimited permission to copy, distribute and modify it. |
| +_ACEOF |
| + exit |
| +fi |
| + |
| +## ------------------------ ## |
| +## Autoconf initialization. ## |
| +## ------------------------ ## |
| + |
| +# ac_fn_c_try_compile LINENO |
| +# -------------------------- |
| +# Try to compile conftest.$ac_ext, and return whether this succeeded. |
| +ac_fn_c_try_compile () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + rm -f conftest.$ac_objext |
| + if { { ac_try="$ac_compile" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_compile") 2>conftest.err |
| + ac_status=$? |
| + if test -s conftest.err; then |
| + grep -v '^ *+' conftest.err >conftest.er1 |
| + cat conftest.er1 >&5 |
| + mv -f conftest.er1 conftest.err |
| + fi |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; } && { |
| + test -z "$ac_c_werror_flag" || |
| + test ! -s conftest.err |
| + } && test -s conftest.$ac_objext; then : |
| + ac_retval=0 |
| +else |
| + $as_echo "$as_me: failed program was:" >&5 |
| +sed 's/^/| /' conftest.$ac_ext >&5 |
| + |
| + ac_retval=1 |
| +fi |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + as_fn_set_status $ac_retval |
| + |
| +} # ac_fn_c_try_compile |
| + |
| +# ac_fn_c_try_cpp LINENO |
| +# ---------------------- |
| +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. |
| +ac_fn_c_try_cpp () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + if { { ac_try="$ac_cpp conftest.$ac_ext" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err |
| + ac_status=$? |
| + if test -s conftest.err; then |
| + grep -v '^ *+' conftest.err >conftest.er1 |
| + cat conftest.er1 >&5 |
| + mv -f conftest.er1 conftest.err |
| + fi |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; } > conftest.i && { |
| + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || |
| + test ! -s conftest.err |
| + }; then : |
| + ac_retval=0 |
| +else |
| + $as_echo "$as_me: failed program was:" >&5 |
| +sed 's/^/| /' conftest.$ac_ext >&5 |
| + |
| + ac_retval=1 |
| +fi |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + as_fn_set_status $ac_retval |
| + |
| +} # ac_fn_c_try_cpp |
| + |
| +# ac_fn_c_try_link LINENO |
| +# ----------------------- |
| +# Try to link conftest.$ac_ext, and return whether this succeeded. |
| +ac_fn_c_try_link () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + rm -f conftest.$ac_objext conftest$ac_exeext |
| + if { { ac_try="$ac_link" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_link") 2>conftest.err |
| + ac_status=$? |
| + if test -s conftest.err; then |
| + grep -v '^ *+' conftest.err >conftest.er1 |
| + cat conftest.er1 >&5 |
| + mv -f conftest.er1 conftest.err |
| + fi |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; } && { |
| + test -z "$ac_c_werror_flag" || |
| + test ! -s conftest.err |
| + } && test -s conftest$ac_exeext && { |
| + test "$cross_compiling" = yes || |
| + test -x conftest$ac_exeext |
| + }; then : |
| + ac_retval=0 |
| +else |
| + $as_echo "$as_me: failed program was:" >&5 |
| +sed 's/^/| /' conftest.$ac_ext >&5 |
| + |
| + ac_retval=1 |
| +fi |
| + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information |
| + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would |
| + # interfere with the next link command; also delete a directory that is |
| + # left behind by Apple's compiler. We do this before executing the actions. |
| + rm -rf conftest.dSYM conftest_ipa8_conftest.oo |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + as_fn_set_status $ac_retval |
| + |
| +} # ac_fn_c_try_link |
| + |
| +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES |
| +# ------------------------------------------------------- |
| +# Tests whether HEADER exists, giving a warning if it cannot be compiled using |
| +# the include files in INCLUDES and setting the cache variable VAR |
| +# accordingly. |
| +ac_fn_c_check_header_mongrel () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + if eval \${$3+:} false; then : |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| +$as_echo_n "checking for $2... " >&6; } |
| +if eval \${$3+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +fi |
| +eval ac_res=\$$3 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +else |
| + # Is the header compilable? |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 |
| +$as_echo_n "checking $2 usability... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +#include <$2> |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_header_compiler=yes |
| +else |
| + ac_header_compiler=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 |
| +$as_echo "$ac_header_compiler" >&6; } |
| + |
| +# Is the header present? |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 |
| +$as_echo_n "checking $2 presence... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <$2> |
| +_ACEOF |
| +if ac_fn_c_try_cpp "$LINENO"; then : |
| + ac_header_preproc=yes |
| +else |
| + ac_header_preproc=no |
| +fi |
| +rm -f conftest.err conftest.i conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 |
| +$as_echo "$ac_header_preproc" >&6; } |
| + |
| +# So? What about this header? |
| +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( |
| + yes:no: ) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 |
| +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 |
| +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} |
| + ;; |
| + no:yes:* ) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 |
| +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 |
| +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 |
| +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 |
| +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 |
| +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} |
| +( $as_echo "## -------------------------------------------------------- ## |
| +## Report this to https://github.com/python/cpython/issues/ ## |
| +## -------------------------------------------------------- ##" |
| + ) | sed "s/^/$as_me: WARNING: /" >&2 |
| + ;; |
| +esac |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| +$as_echo_n "checking for $2... " >&6; } |
| +if eval \${$3+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + eval "$3=\$ac_header_compiler" |
| +fi |
| +eval ac_res=\$$3 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +fi |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + |
| +} # ac_fn_c_check_header_mongrel |
| + |
| +# ac_fn_c_try_run LINENO |
| +# ---------------------- |
| +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes |
| +# that executables *can* be run. |
| +ac_fn_c_try_run () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + if { { ac_try="$ac_link" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_link") 2>&5 |
| + ac_status=$? |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' |
| + { { case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_try") 2>&5 |
| + ac_status=$? |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; }; }; then : |
| + ac_retval=0 |
| +else |
| + $as_echo "$as_me: program exited with status $ac_status" >&5 |
| + $as_echo "$as_me: failed program was:" >&5 |
| +sed 's/^/| /' conftest.$ac_ext >&5 |
| + |
| + ac_retval=$ac_status |
| +fi |
| + rm -rf conftest.dSYM conftest_ipa8_conftest.oo |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + as_fn_set_status $ac_retval |
| + |
| +} # ac_fn_c_try_run |
| + |
| +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES |
| +# ------------------------------------------------------- |
| +# Tests whether HEADER exists and can be compiled using the include files in |
| +# INCLUDES, setting the cache variable VAR accordingly. |
| +ac_fn_c_check_header_compile () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| +$as_echo_n "checking for $2... " >&6; } |
| +if eval \${$3+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +#include <$2> |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + eval "$3=yes" |
| +else |
| + eval "$3=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +eval ac_res=\$$3 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + |
| +} # ac_fn_c_check_header_compile |
| + |
| +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES |
| +# ------------------------------------------- |
| +# Tests whether TYPE exists after having included INCLUDES, setting cache |
| +# variable VAR accordingly. |
| +ac_fn_c_check_type () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| +$as_echo_n "checking for $2... " >&6; } |
| +if eval \${$3+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + eval "$3=no" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +if (sizeof ($2)) |
| + return 0; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +if (sizeof (($2))) |
| + return 0; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +else |
| + eval "$3=yes" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +eval ac_res=\$$3 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + |
| +} # ac_fn_c_check_type |
| + |
| +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES |
| +# -------------------------------------------- |
| +# Tries to find the compile-time value of EXPR in a program that includes |
| +# INCLUDES, setting VAR accordingly. Returns whether the value could be |
| +# computed |
| +ac_fn_c_compute_int () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + if test "$cross_compiling" = yes; then |
| + # Depending upon the size, compute the lo and hi bounds. |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +static int test_array [1 - 2 * !(($2) >= 0)]; |
| +test_array [0] = 0; |
| +return test_array [0]; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_lo=0 ac_mid=0 |
| + while :; do |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; |
| +test_array [0] = 0; |
| +return test_array [0]; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_hi=$ac_mid; break |
| +else |
| + as_fn_arith $ac_mid + 1 && ac_lo=$as_val |
| + if test $ac_lo -le $ac_mid; then |
| + ac_lo= ac_hi= |
| + break |
| + fi |
| + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + done |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +static int test_array [1 - 2 * !(($2) < 0)]; |
| +test_array [0] = 0; |
| +return test_array [0]; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_hi=-1 ac_mid=-1 |
| + while :; do |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; |
| +test_array [0] = 0; |
| +return test_array [0]; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_lo=$ac_mid; break |
| +else |
| + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val |
| + if test $ac_mid -le $ac_hi; then |
| + ac_lo= ac_hi= |
| + break |
| + fi |
| + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + done |
| +else |
| + ac_lo= ac_hi= |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +# Binary search between lo and hi bounds. |
| +while test "x$ac_lo" != "x$ac_hi"; do |
| + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; |
| +test_array [0] = 0; |
| +return test_array [0]; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_hi=$ac_mid |
| +else |
| + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +done |
| +case $ac_lo in #(( |
| +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; |
| +'') ac_retval=1 ;; |
| +esac |
| + else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +static long int longval () { return $2; } |
| +static unsigned long int ulongval () { return $2; } |
| +#include <stdio.h> |
| +#include <stdlib.h> |
| +int |
| +main () |
| +{ |
| + |
| + FILE *f = fopen ("conftest.val", "w"); |
| + if (! f) |
| + return 1; |
| + if (($2) < 0) |
| + { |
| + long int i = longval (); |
| + if (i != ($2)) |
| + return 1; |
| + fprintf (f, "%ld", i); |
| + } |
| + else |
| + { |
| + unsigned long int i = ulongval (); |
| + if (i != ($2)) |
| + return 1; |
| + fprintf (f, "%lu", i); |
| + } |
| + /* Do not output a trailing newline, as this causes \r\n confusion |
| + on some platforms. */ |
| + return ferror (f) || fclose (f) != 0; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + echo >>conftest.val; read $3 <conftest.val; ac_retval=0 |
| +else |
| + ac_retval=1 |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +rm -f conftest.val |
| + |
| + fi |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + as_fn_set_status $ac_retval |
| + |
| +} # ac_fn_c_compute_int |
| + |
| +# ac_fn_c_check_func LINENO FUNC VAR |
| +# ---------------------------------- |
| +# Tests whether FUNC exists, setting the cache variable VAR accordingly |
| +ac_fn_c_check_func () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| +$as_echo_n "checking for $2... " >&6; } |
| +if eval \${$3+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +/* Define $2 to an innocuous variant, in case <limits.h> declares $2. |
| + For example, HP-UX 11i <limits.h> declares gettimeofday. */ |
| +#define $2 innocuous_$2 |
| + |
| +/* System header to define __stub macros and hopefully few prototypes, |
| + which can conflict with char $2 (); below. |
| + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since |
| + <limits.h> exists even on freestanding compilers. */ |
| + |
| +#ifdef __STDC__ |
| +# include <limits.h> |
| +#else |
| +# include <assert.h> |
| +#endif |
| + |
| +#undef $2 |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char $2 (); |
| +/* The GNU C library defines this for functions which it implements |
| + to always fail with ENOSYS. Some functions are actually named |
| + something starting with __ and the normal name is an alias. */ |
| +#if defined __stub_$2 || defined __stub___$2 |
| +choke me |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| +return $2 (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + eval "$3=yes" |
| +else |
| + eval "$3=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +fi |
| +eval ac_res=\$$3 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + |
| +} # ac_fn_c_check_func |
| + |
| +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES |
| +# --------------------------------------------- |
| +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR |
| +# accordingly. |
| +ac_fn_c_check_decl () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + as_decl_name=`echo $2|sed 's/ *(.*//'` |
| + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 |
| +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } |
| +if eval \${$3+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$4 |
| +int |
| +main () |
| +{ |
| +#ifndef $as_decl_name |
| +#ifdef __cplusplus |
| + (void) $as_decl_use; |
| +#else |
| + (void) $as_decl_name; |
| +#endif |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + eval "$3=yes" |
| +else |
| + eval "$3=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +eval ac_res=\$$3 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + |
| +} # ac_fn_c_check_decl |
| + |
| +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES |
| +# ---------------------------------------------------- |
| +# Tries to find if the field MEMBER exists in type AGGR, after including |
| +# INCLUDES, setting cache variable VAR accordingly. |
| +ac_fn_c_check_member () |
| +{ |
| + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 |
| +$as_echo_n "checking for $2.$3... " >&6; } |
| +if eval \${$4+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$5 |
| +int |
| +main () |
| +{ |
| +static $2 ac_aggr; |
| +if (ac_aggr.$3) |
| +return 0; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + eval "$4=yes" |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$5 |
| +int |
| +main () |
| +{ |
| +static $2 ac_aggr; |
| +if (sizeof ac_aggr.$3) |
| +return 0; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + eval "$4=yes" |
| +else |
| + eval "$4=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +eval ac_res=\$$4 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |
| + |
| +} # ac_fn_c_check_member |
| +cat >config.log <<_ACEOF |
| +This file contains any messages produced by compilers while |
| +running configure, to aid debugging if configure makes a mistake. |
| + |
| +It was created by python $as_me 3.10, which was |
| +generated by GNU Autoconf 2.69. Invocation command line was |
| + |
| + $ $0 $@ |
| + |
| +_ACEOF |
| +exec 5>>config.log |
| +{ |
| +cat <<_ASUNAME |
| +## --------- ## |
| +## Platform. ## |
| +## --------- ## |
| + |
| +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` |
| +uname -m = `(uname -m) 2>/dev/null || echo unknown` |
| +uname -r = `(uname -r) 2>/dev/null || echo unknown` |
| +uname -s = `(uname -s) 2>/dev/null || echo unknown` |
| +uname -v = `(uname -v) 2>/dev/null || echo unknown` |
| + |
| +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` |
| +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` |
| + |
| +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` |
| +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` |
| +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` |
| +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` |
| +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` |
| +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` |
| +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` |
| + |
| +_ASUNAME |
| + |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + $as_echo "PATH: $as_dir" |
| + done |
| +IFS=$as_save_IFS |
| + |
| +} >&5 |
| + |
| +cat >&5 <<_ACEOF |
| + |
| + |
| +## ----------- ## |
| +## Core tests. ## |
| +## ----------- ## |
| + |
| +_ACEOF |
| + |
| + |
| +# Keep a trace of the command line. |
| +# Strip out --no-create and --no-recursion so they do not pile up. |
| +# Strip out --silent because we don't want to record it for future runs. |
| +# Also quote any args containing shell meta-characters. |
| +# Make two passes to allow for proper duplicate-argument suppression. |
| +ac_configure_args= |
| +ac_configure_args0= |
| +ac_configure_args1= |
| +ac_must_keep_next=false |
| +for ac_pass in 1 2 |
| +do |
| + for ac_arg |
| + do |
| + case $ac_arg in |
| + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; |
| + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
| + | -silent | --silent | --silen | --sile | --sil) |
| + continue ;; |
| + *\'*) |
| + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; |
| + esac |
| + case $ac_pass in |
| + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; |
| + 2) |
| + as_fn_append ac_configure_args1 " '$ac_arg'" |
| + if test $ac_must_keep_next = true; then |
| + ac_must_keep_next=false # Got value, back to normal. |
| + else |
| + case $ac_arg in |
| + *=* | --config-cache | -C | -disable-* | --disable-* \ |
| + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ |
| + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ |
| + | -with-* | --with-* | -without-* | --without-* | --x) |
| + case "$ac_configure_args0 " in |
| + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; |
| + esac |
| + ;; |
| + -* ) ac_must_keep_next=true ;; |
| + esac |
| + fi |
| + as_fn_append ac_configure_args " '$ac_arg'" |
| + ;; |
| + esac |
| + done |
| +done |
| +{ ac_configure_args0=; unset ac_configure_args0;} |
| +{ ac_configure_args1=; unset ac_configure_args1;} |
| + |
| +# When interrupted or exit'd, cleanup temporary files, and complete |
| +# config.log. We remove comments because anyway the quotes in there |
| +# would cause problems or look ugly. |
| +# WARNING: Use '\'' to represent an apostrophe within the trap. |
| +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. |
| +trap 'exit_status=$? |
| + # Save into config.log some information that might help in debugging. |
| + { |
| + echo |
| + |
| + $as_echo "## ---------------- ## |
| +## Cache variables. ## |
| +## ---------------- ##" |
| + echo |
| + # The following way of writing the cache mishandles newlines in values, |
| +( |
| + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do |
| + eval ac_val=\$$ac_var |
| + case $ac_val in #( |
| + *${as_nl}*) |
| + case $ac_var in #( |
| + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 |
| +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; |
| + esac |
| + case $ac_var in #( |
| + _ | IFS | as_nl) ;; #( |
| + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( |
| + *) { eval $ac_var=; unset $ac_var;} ;; |
| + esac ;; |
| + esac |
| + done |
| + (set) 2>&1 | |
| + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( |
| + *${as_nl}ac_space=\ *) |
| + sed -n \ |
| + "s/'\''/'\''\\\\'\'''\''/g; |
| + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" |
| + ;; #( |
| + *) |
| + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" |
| + ;; |
| + esac | |
| + sort |
| +) |
| + echo |
| + |
| + $as_echo "## ----------------- ## |
| +## Output variables. ## |
| +## ----------------- ##" |
| + echo |
| + for ac_var in $ac_subst_vars |
| + do |
| + eval ac_val=\$$ac_var |
| + case $ac_val in |
| + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; |
| + esac |
| + $as_echo "$ac_var='\''$ac_val'\''" |
| + done | sort |
| + echo |
| + |
| + if test -n "$ac_subst_files"; then |
| + $as_echo "## ------------------- ## |
| +## File substitutions. ## |
| +## ------------------- ##" |
| + echo |
| + for ac_var in $ac_subst_files |
| + do |
| + eval ac_val=\$$ac_var |
| + case $ac_val in |
| + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; |
| + esac |
| + $as_echo "$ac_var='\''$ac_val'\''" |
| + done | sort |
| + echo |
| + fi |
| + |
| + if test -s confdefs.h; then |
| + $as_echo "## ----------- ## |
| +## confdefs.h. ## |
| +## ----------- ##" |
| + echo |
| + cat confdefs.h |
| + echo |
| + fi |
| + test "$ac_signal" != 0 && |
| + $as_echo "$as_me: caught signal $ac_signal" |
| + $as_echo "$as_me: exit $exit_status" |
| + } >&5 |
| + rm -f core *.core core.conftest.* && |
| + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && |
| + exit $exit_status |
| +' 0 |
| +for ac_signal in 1 2 13 15; do |
| + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal |
| +done |
| +ac_signal=0 |
| + |
| +# confdefs.h avoids OS command line length limits that DEFS can exceed. |
| +rm -f -r conftest* confdefs.h |
| + |
| +$as_echo "/* confdefs.h */" > confdefs.h |
| + |
| +# Predefined preprocessor variables. |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define PACKAGE_NAME "$PACKAGE_NAME" |
| +_ACEOF |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" |
| +_ACEOF |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define PACKAGE_VERSION "$PACKAGE_VERSION" |
| +_ACEOF |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define PACKAGE_STRING "$PACKAGE_STRING" |
| +_ACEOF |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" |
| +_ACEOF |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define PACKAGE_URL "$PACKAGE_URL" |
| +_ACEOF |
| + |
| + |
| +# Let the site file select an alternate cache file if it wants to. |
| +# Prefer an explicitly selected file to automatically selected ones. |
| +ac_site_file1=NONE |
| +ac_site_file2=NONE |
| +if test -n "$CONFIG_SITE"; then |
| + # We do not want a PATH search for config.site. |
| + case $CONFIG_SITE in #(( |
| + -*) ac_site_file1=./$CONFIG_SITE;; |
| + */*) ac_site_file1=$CONFIG_SITE;; |
| + *) ac_site_file1=./$CONFIG_SITE;; |
| + esac |
| +elif test "x$prefix" != xNONE; then |
| + ac_site_file1=$prefix/share/config.site |
| + ac_site_file2=$prefix/etc/config.site |
| +else |
| + ac_site_file1=$ac_default_prefix/share/config.site |
| + ac_site_file2=$ac_default_prefix/etc/config.site |
| +fi |
| +for ac_site_file in "$ac_site_file1" "$ac_site_file2" |
| +do |
| + test "x$ac_site_file" = xNONE && continue |
| + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 |
| +$as_echo "$as_me: loading site script $ac_site_file" >&6;} |
| + sed 's/^/| /' "$ac_site_file" >&5 |
| + . "$ac_site_file" \ |
| + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error $? "failed to load site script $ac_site_file |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + fi |
| +done |
| + |
| +if test -r "$cache_file"; then |
| + # Some versions of bash will fail to source /dev/null (special files |
| + # actually), so we avoid doing that. DJGPP emulates it as a regular file. |
| + if test /dev/null != "$cache_file" && test -f "$cache_file"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 |
| +$as_echo "$as_me: loading cache $cache_file" >&6;} |
| + case $cache_file in |
| + [\\/]* | ?:[\\/]* ) . "$cache_file";; |
| + *) . "./$cache_file";; |
| + esac |
| + fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 |
| +$as_echo "$as_me: creating cache $cache_file" >&6;} |
| + >$cache_file |
| +fi |
| + |
| +# Check that the precious variables saved in the cache have kept the same |
| +# value. |
| +ac_cache_corrupted=false |
| +for ac_var in $ac_precious_vars; do |
| + eval ac_old_set=\$ac_cv_env_${ac_var}_set |
| + eval ac_new_set=\$ac_env_${ac_var}_set |
| + eval ac_old_val=\$ac_cv_env_${ac_var}_value |
| + eval ac_new_val=\$ac_env_${ac_var}_value |
| + case $ac_old_set,$ac_new_set in |
| + set,) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 |
| +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} |
| + ac_cache_corrupted=: ;; |
| + ,set) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 |
| +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} |
| + ac_cache_corrupted=: ;; |
| + ,);; |
| + *) |
| + if test "x$ac_old_val" != "x$ac_new_val"; then |
| + # differences in whitespace do not lead to failure. |
| + ac_old_val_w=`echo x $ac_old_val` |
| + ac_new_val_w=`echo x $ac_new_val` |
| + if test "$ac_old_val_w" != "$ac_new_val_w"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 |
| +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} |
| + ac_cache_corrupted=: |
| + else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 |
| +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} |
| + eval $ac_var=\$ac_old_val |
| + fi |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 |
| +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 |
| +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} |
| + fi;; |
| + esac |
| + # Pass precious variables to config.status. |
| + if test "$ac_new_set" = set; then |
| + case $ac_new_val in |
| + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; |
| + *) ac_arg=$ac_var=$ac_new_val ;; |
| + esac |
| + case " $ac_configure_args " in |
| + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. |
| + *) as_fn_append ac_configure_args " '$ac_arg'" ;; |
| + esac |
| + fi |
| +done |
| +if $ac_cache_corrupted; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 |
| +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} |
| + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 |
| +fi |
| +## -------------------- ## |
| +## Main body of script. ## |
| +## -------------------- ## |
| + |
| +ac_ext=c |
| +ac_cpp='$CPP $CPPFLAGS' |
| +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
| +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
| +ac_compiler_gnu=$ac_cv_c_compiler_gnu |
| + |
| + |
| + |
| + |
| + |
| + |
| +if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then |
| + # If we're building out-of-tree, we need to make sure the following |
| + # resources get picked up before their $srcdir counterparts. |
| + # Objects/ -> typeslots.inc |
| + # Include/ -> Python.h |
| + # Python/ -> importlib.h |
| + # (A side effect of this is that these resources will automatically be |
| + # regenerated when building out-of-tree, regardless of whether or not |
| + # the $srcdir counterpart is up-to-date. This is an acceptable trade |
| + # off.) |
| + BASECPPFLAGS="-IObjects -IInclude -IPython" |
| +else |
| + BASECPPFLAGS="" |
| +fi |
| + |
| + |
| + |
| + |
| + |
| +if test -e $srcdir/.git |
| +then |
| +# Extract the first word of "git", so it can be a program name with args. |
| +set dummy git; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_HAS_GIT+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$HAS_GIT"; then |
| + ac_cv_prog_HAS_GIT="$HAS_GIT" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_HAS_GIT="found" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + test -z "$ac_cv_prog_HAS_GIT" && ac_cv_prog_HAS_GIT="not-found" |
| +fi |
| +fi |
| +HAS_GIT=$ac_cv_prog_HAS_GIT |
| +if test -n "$HAS_GIT"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAS_GIT" >&5 |
| +$as_echo "$HAS_GIT" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +else |
| +HAS_GIT=no-repository |
| +fi |
| +if test $HAS_GIT = found |
| +then |
| + GITVERSION="git --git-dir \$(srcdir)/.git rev-parse --short HEAD" |
| + GITTAG="git --git-dir \$(srcdir)/.git describe --all --always --dirty" |
| + GITBRANCH="git --git-dir \$(srcdir)/.git name-rev --name-only HEAD" |
| +else |
| + GITVERSION="" |
| + GITTAG="" |
| + GITBRANCH="" |
| +fi |
| + |
| + |
| +ac_config_headers="$ac_config_headers pyconfig.h" |
| + |
| + |
| +ac_aux_dir= |
| +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do |
| + if test -f "$ac_dir/install-sh"; then |
| + ac_aux_dir=$ac_dir |
| + ac_install_sh="$ac_aux_dir/install-sh -c" |
| + break |
| + elif test -f "$ac_dir/install.sh"; then |
| + ac_aux_dir=$ac_dir |
| + ac_install_sh="$ac_aux_dir/install.sh -c" |
| + break |
| + elif test -f "$ac_dir/shtool"; then |
| + ac_aux_dir=$ac_dir |
| + ac_install_sh="$ac_aux_dir/shtool install -c" |
| + break |
| + fi |
| +done |
| +if test -z "$ac_aux_dir"; then |
| + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 |
| +fi |
| + |
| +# These three variables are undocumented and unsupported, |
| +# and are intended to be withdrawn in a future Autoconf release. |
| +# They can cause serious problems if a builder's source tree is in a directory |
| +# whose full name contains unusual characters. |
| +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. |
| +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. |
| +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. |
| + |
| + |
| +# Make sure we can run config.sub. |
| +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || |
| + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 |
| +$as_echo_n "checking build system type... " >&6; } |
| +if ${ac_cv_build+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_build_alias=$build_alias |
| +test "x$ac_build_alias" = x && |
| + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` |
| +test "x$ac_build_alias" = x && |
| + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 |
| +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || |
| + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 |
| +$as_echo "$ac_cv_build" >&6; } |
| +case $ac_cv_build in |
| +*-*-*) ;; |
| +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; |
| +esac |
| +build=$ac_cv_build |
| +ac_save_IFS=$IFS; IFS='-' |
| +set x $ac_cv_build |
| +shift |
| +build_cpu=$1 |
| +build_vendor=$2 |
| +shift; shift |
| +# Remember, the first character of IFS is used to create $*, |
| +# except with old shells: |
| +build_os=$* |
| +IFS=$ac_save_IFS |
| +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 |
| +$as_echo_n "checking host system type... " >&6; } |
| +if ${ac_cv_host+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "x$host_alias" = x; then |
| + ac_cv_host=$ac_cv_build |
| +else |
| + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || |
| + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 |
| +$as_echo "$ac_cv_host" >&6; } |
| +case $ac_cv_host in |
| +*-*-*) ;; |
| +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; |
| +esac |
| +host=$ac_cv_host |
| +ac_save_IFS=$IFS; IFS='-' |
| +set x $ac_cv_host |
| +shift |
| +host_cpu=$1 |
| +host_vendor=$2 |
| +shift; shift |
| +# Remember, the first character of IFS is used to create $*, |
| +# except with old shells: |
| +host_os=$* |
| +IFS=$ac_save_IFS |
| +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac |
| + |
| + |
| + |
| + |
| + |
| +# pybuilddir.txt will be created by --generate-posix-vars in the Makefile |
| +rm -f pybuilddir.txt |
| + |
| +for ac_prog in python$PACKAGE_VERSION python3 python |
| +do |
| + # Extract the first word of "$ac_prog", so it can be a program name with args. |
| +set dummy $ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_PYTHON_FOR_REGEN+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$PYTHON_FOR_REGEN"; then |
| + ac_cv_prog_PYTHON_FOR_REGEN="$PYTHON_FOR_REGEN" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_PYTHON_FOR_REGEN="$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +PYTHON_FOR_REGEN=$ac_cv_prog_PYTHON_FOR_REGEN |
| +if test -n "$PYTHON_FOR_REGEN"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_FOR_REGEN" >&5 |
| +$as_echo "$PYTHON_FOR_REGEN" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$PYTHON_FOR_REGEN" && break |
| +done |
| +test -n "$PYTHON_FOR_REGEN" || PYTHON_FOR_REGEN="python3" |
| + |
| + |
| + |
| +if test "$cross_compiling" = yes; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python interpreter for cross build" >&5 |
| +$as_echo_n "checking for python interpreter for cross build... " >&6; } |
| + PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) $(PYTHON3)' |
| +elif test "$cross_compiling" = maybe; then |
| + as_fn_error $? "Cross compiling required --host=HOST-TUPLE and --build=ARCH" "$LINENO" 5 |
| +else |
| + PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' |
| +fi |
| + |
| + |
| + |
| +if test "$prefix" != "/"; then |
| + prefix=`echo "$prefix" | sed -e 's/\/$//g'` |
| +fi |
| + |
| + |
| + |
| + |
| +# We don't use PACKAGE_ variables, and they cause conflicts |
| +# with other autoconf-based packages that include Python.h |
| +grep -v 'define PACKAGE_' <confdefs.h >confdefs.h.new |
| +rm confdefs.h |
| +mv confdefs.h.new confdefs.h |
| + |
| + |
| +VERSION=3.10 |
| + |
| +# Version number of Python's own shared library file. |
| + |
| +SOVERSION=1.0 |
| + |
| +# The later defininition of _XOPEN_SOURCE disables certain features |
| +# on Linux, so we need _GNU_SOURCE to re-enable them (makedev, tm_zone). |
| + |
| +$as_echo "#define _GNU_SOURCE 1" >>confdefs.h |
| + |
| + |
| +# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables |
| +# certain features on NetBSD, so we need _NETBSD_SOURCE to re-enable |
| +# them. |
| + |
| +$as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h |
| + |
| + |
| +# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables |
| +# certain features on FreeBSD, so we need __BSD_VISIBLE to re-enable |
| +# them. |
| + |
| +$as_echo "#define __BSD_VISIBLE 1" >>confdefs.h |
| + |
| + |
| +# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables |
| +# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable |
| +# them. |
| + |
| +$as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h |
| + |
| + |
| + |
| +define_xopen_source=yes |
| + |
| +# Arguments passed to configure. |
| + |
| +CONFIG_ARGS="$ac_configure_args" |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-universalsdk" >&5 |
| +$as_echo_n "checking for --enable-universalsdk... " >&6; } |
| +# Check whether --enable-universalsdk was given. |
| +if test "${enable_universalsdk+set}" = set; then : |
| + enableval=$enable_universalsdk; |
| + case $enableval in |
| + yes) |
| + # Locate the best usable SDK, see Mac/README for more |
| + # information |
| + enableval="`/usr/bin/xcodebuild -version -sdk macosx Path 2>/dev/null`" |
| + if ! ( echo $enableval | grep -E '\.sdk' 1>/dev/null ) |
| + then |
| + enableval=/Developer/SDKs/MacOSX10.4u.sdk |
| + if test ! -d "${enableval}" |
| + then |
| + enableval=/ |
| + fi |
| + fi |
| + ;; |
| + esac |
| + case $enableval in |
| + no) |
| + UNIVERSALSDK= |
| + enable_universalsdk= |
| + ;; |
| + *) |
| + UNIVERSALSDK=$enableval |
| + if test ! -d "${UNIVERSALSDK}" |
| + then |
| + as_fn_error $? "--enable-universalsdk specifies non-existing SDK: ${UNIVERSALSDK}" "$LINENO" 5 |
| + fi |
| + ;; |
| + esac |
| + |
| + |
| +else |
| + |
| + UNIVERSALSDK= |
| + enable_universalsdk= |
| + |
| +fi |
| + |
| +if test -n "${UNIVERSALSDK}" |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${UNIVERSALSDK}" >&5 |
| +$as_echo "${UNIVERSALSDK}" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + |
| +ARCH_RUN_32BIT="" |
| + |
| +# For backward compatibility reasons we prefer to select '32-bit' if available, |
| +# otherwise use 'intel' |
| +UNIVERSAL_ARCHS="32-bit" |
| +if test "`uname -s`" = "Darwin" |
| +then |
| + if test -n "${UNIVERSALSDK}" |
| + then |
| + if test -z "`/usr/bin/file -L "${UNIVERSALSDK}/usr/lib/libSystem.dylib" | grep ppc`" |
| + then |
| + UNIVERSAL_ARCHS="intel" |
| + fi |
| + fi |
| +fi |
| + |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-universal-archs" >&5 |
| +$as_echo_n "checking for --with-universal-archs... " >&6; } |
| + |
| +# Check whether --with-universal-archs was given. |
| +if test "${with_universal_archs+set}" = set; then : |
| + withval=$with_universal_archs; |
| + UNIVERSAL_ARCHS="$withval" |
| + |
| +fi |
| + |
| +if test -n "${UNIVERSALSDK}" |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${UNIVERSAL_ARCHS}" >&5 |
| +$as_echo "${UNIVERSAL_ARCHS}" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +# Check whether --with-framework-name was given. |
| +if test "${with_framework_name+set}" = set; then : |
| + withval=$with_framework_name; |
| + PYTHONFRAMEWORK=${withval} |
| + PYTHONFRAMEWORKDIR=${withval}.framework |
| + PYTHONFRAMEWORKIDENTIFIER=org.python.`echo $withval | tr 'A-Z' 'a-z'` |
| + |
| +else |
| + |
| + PYTHONFRAMEWORK=Python |
| + PYTHONFRAMEWORKDIR=Python.framework |
| + PYTHONFRAMEWORKIDENTIFIER=org.python.python |
| + |
| +fi |
| + |
| +# Check whether --enable-framework was given. |
| +if test "${enable_framework+set}" = set; then : |
| + enableval=$enable_framework; |
| + case $enableval in |
| + yes) |
| + enableval=/Library/Frameworks |
| + esac |
| + case $enableval in |
| + no) |
| + PYTHONFRAMEWORK= |
| + PYTHONFRAMEWORKDIR=no-framework |
| + PYTHONFRAMEWORKPREFIX= |
| + PYTHONFRAMEWORKINSTALLDIR= |
| + FRAMEWORKINSTALLFIRST= |
| + FRAMEWORKINSTALLLAST= |
| + FRAMEWORKALTINSTALLFIRST= |
| + FRAMEWORKALTINSTALLLAST= |
| + FRAMEWORKPYTHONW= |
| + if test "x${prefix}" = "xNONE"; then |
| + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" |
| + else |
| + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" |
| + fi |
| + enable_framework= |
| + ;; |
| + *) |
| + PYTHONFRAMEWORKPREFIX="${enableval}" |
| + PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR |
| + FRAMEWORKINSTALLFIRST="frameworkinstallstructure" |
| + FRAMEWORKALTINSTALLFIRST="frameworkinstallstructure " |
| + FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools" |
| + FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools" |
| + FRAMEWORKPYTHONW="frameworkpythonw" |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + |
| + if test "x${prefix}" = "xNONE" ; then |
| + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" |
| + |
| + else |
| + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" |
| + fi |
| + |
| + case "${enableval}" in |
| + /System*) |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + if test "${prefix}" = "NONE" ; then |
| + # See below |
| + FRAMEWORKUNIXTOOLSPREFIX="/usr" |
| + fi |
| + ;; |
| + |
| + /Library*) |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + ;; |
| + |
| + */Library/Frameworks) |
| + MDIR="`dirname "${enableval}"`" |
| + MDIR="`dirname "${MDIR}"`" |
| + FRAMEWORKINSTALLAPPSPREFIX="${MDIR}/Applications" |
| + |
| + if test "${prefix}" = "NONE"; then |
| + # User hasn't specified the |
| + # --prefix option, but wants to install |
| + # the framework in a non-default location, |
| + # ensure that the compatibility links get |
| + # installed relative to that prefix as well |
| + # instead of in /usr/local. |
| + FRAMEWORKUNIXTOOLSPREFIX="${MDIR}" |
| + fi |
| + ;; |
| + |
| + *) |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + ;; |
| + esac |
| + |
| + prefix=$PYTHONFRAMEWORKINSTALLDIR/Versions/$VERSION |
| + |
| + # Add files for Mac specific code to the list of output |
| + # files: |
| + ac_config_files="$ac_config_files Mac/Makefile" |
| + |
| + ac_config_files="$ac_config_files Mac/PythonLauncher/Makefile" |
| + |
| + ac_config_files="$ac_config_files Mac/Resources/framework/Info.plist" |
| + |
| + ac_config_files="$ac_config_files Mac/Resources/app/Info.plist" |
| + |
| + esac |
| + |
| +else |
| + |
| + PYTHONFRAMEWORK= |
| + PYTHONFRAMEWORKDIR=no-framework |
| + PYTHONFRAMEWORKPREFIX= |
| + PYTHONFRAMEWORKINSTALLDIR= |
| + FRAMEWORKINSTALLFIRST= |
| + FRAMEWORKINSTALLLAST= |
| + FRAMEWORKALTINSTALLFIRST= |
| + FRAMEWORKALTINSTALLLAST= |
| + FRAMEWORKPYTHONW= |
| + if test "x${prefix}" = "xNONE" ; then |
| + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" |
| + else |
| + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" |
| + fi |
| + enable_framework= |
| + |
| + |
| +fi |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define _PYTHONFRAMEWORK "${PYTHONFRAMEWORK}" |
| +_ACEOF |
| + |
| + |
| +##AC_ARG_WITH(dyld, |
| +## AS_HELP_STRING([--with-dyld], |
| +## [use (OpenStep|Rhapsody) dynamic linker])) |
| +## |
| +# Set name for machine-dependent library files |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking MACHDEP" >&5 |
| +$as_echo_n "checking MACHDEP... " >&6; } |
| +if test -z "$MACHDEP" |
| +then |
| + # avoid using uname for cross builds |
| + if test "$cross_compiling" = yes; then |
| + # ac_sys_system and ac_sys_release are used for setting |
| + # a lot of different things including 'define_xopen_source' |
| + # in the case statement below. |
| + case "$host" in |
| + *-*-linux-android*) |
| + ac_sys_system=Linux-android |
| + ;; |
| + *-*-linux*) |
| + ac_sys_system=Linux |
| + ;; |
| + *-*-cygwin*) |
| + ac_sys_system=Cygwin |
| + ;; |
| + *-*-vxworks*) |
| + ac_sys_system=VxWorks |
| + ;; |
| + *) |
| + # for now, limit cross builds to known configurations |
| + MACHDEP="unknown" |
| + as_fn_error $? "cross build not supported for $host" "$LINENO" 5 |
| + esac |
| + ac_sys_release= |
| + else |
| + ac_sys_system=`uname -s` |
| + if test "$ac_sys_system" = "AIX" \ |
| + -o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then |
| + ac_sys_release=`uname -v` |
| + else |
| + ac_sys_release=`uname -r` |
| + fi |
| + fi |
| + ac_md_system=`echo $ac_sys_system | |
| + tr -d '/ ' | tr '[A-Z]' '[a-z]'` |
| + ac_md_release=`echo $ac_sys_release | |
| + tr -d '/ ' | sed 's/^[A-Z]\.//' | sed 's/\..*//'` |
| + MACHDEP="$ac_md_system$ac_md_release" |
| + |
| + case $MACHDEP in |
| + aix*) MACHDEP="aix";; |
| + linux*) MACHDEP="linux";; |
| + cygwin*) MACHDEP="cygwin";; |
| + darwin*) MACHDEP="darwin";; |
| + '') MACHDEP="unknown";; |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$MACHDEP\"" >&5 |
| +$as_echo "\"$MACHDEP\"" >&6; } |
| + |
| + |
| +if test "$cross_compiling" = yes; then |
| + case "$host" in |
| + *-*-linux*) |
| + case "$host_cpu" in |
| + arm*) |
| + _host_cpu=arm |
| + ;; |
| + *) |
| + _host_cpu=$host_cpu |
| + esac |
| + ;; |
| + *-*-cygwin*) |
| + _host_cpu= |
| + ;; |
| + *-*-vxworks*) |
| + _host_cpu=$host_cpu |
| + ;; |
| + *) |
| + # for now, limit cross builds to known configurations |
| + MACHDEP="unknown" |
| + as_fn_error $? "cross build not supported for $host" "$LINENO" 5 |
| + esac |
| + _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}" |
| +fi |
| + |
| +# Some systems cannot stand _XOPEN_SOURCE being defined at all; they |
| +# disable features if it is defined, without any means to access these |
| +# features as extensions. For these systems, we skip the definition of |
| +# _XOPEN_SOURCE. Before adding a system to the list to gain access to |
| +# some feature, make sure there is no alternative way to access this |
| +# feature. Also, when using wildcards, make sure you have verified the |
| +# need for not defining _XOPEN_SOURCE on all systems matching the |
| +# wildcard, and that the wildcard does not include future systems |
| +# (which may remove their limitations). |
| +case $ac_sys_system/$ac_sys_release in |
| + # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, |
| + # even though select is a POSIX function. Reported by J. Ribbens. |
| + # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. |
| + # In addition, Stefan Krah confirms that issue #1244610 exists through |
| + # OpenBSD 4.6, but is fixed in 4.7. |
| + OpenBSD/2.* | OpenBSD/3.* | OpenBSD/4.[0123456]) |
| + define_xopen_source=no |
| + # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is |
| + # also defined. This can be overridden by defining _BSD_SOURCE |
| + # As this has a different meaning on Linux, only define it on OpenBSD |
| + |
| +$as_echo "#define _BSD_SOURCE 1" >>confdefs.h |
| + |
| + ;; |
| + OpenBSD/*) |
| + # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is |
| + # also defined. This can be overridden by defining _BSD_SOURCE |
| + # As this has a different meaning on Linux, only define it on OpenBSD |
| + |
| +$as_echo "#define _BSD_SOURCE 1" >>confdefs.h |
| + |
| + ;; |
| + # Defining _XOPEN_SOURCE on NetBSD version prior to the introduction of |
| + # _NETBSD_SOURCE disables certain features (eg. setgroups). Reported by |
| + # Marc Recht |
| + NetBSD/1.5 | NetBSD/1.5.* | NetBSD/1.6 | NetBSD/1.6.* | NetBSD/1.6[A-S]) |
| + define_xopen_source=no;; |
| + # From the perspective of Solaris, _XOPEN_SOURCE is not so much a |
| + # request to enable features supported by the standard as a request |
| + # to disable features not supported by the standard. The best way |
| + # for Python to use Solaris is simply to leave _XOPEN_SOURCE out |
| + # entirely and define __EXTENSIONS__ instead. |
| + SunOS/*) |
| + define_xopen_source=no;; |
| + # On UnixWare 7, u_long is never defined with _XOPEN_SOURCE, |
| + # but used in /usr/include/netinet/tcp.h. Reported by Tim Rice. |
| + # Reconfirmed for 7.1.4 by Martin v. Loewis. |
| + OpenUNIX/8.0.0| UnixWare/7.1.[0-4]) |
| + define_xopen_source=no;; |
| + # On OpenServer 5, u_short is never defined with _XOPEN_SOURCE, |
| + # but used in struct sockaddr.sa_family. Reported by Tim Rice. |
| + SCO_SV/3.2) |
| + define_xopen_source=no;; |
| + # On MacOS X 10.2, a bug in ncurses.h means that it craps out if |
| + # _XOPEN_EXTENDED_SOURCE is defined. Apparently, this is fixed in 10.3, which |
| + # identifies itself as Darwin/7.* |
| + # On Mac OS X 10.4, defining _POSIX_C_SOURCE or _XOPEN_SOURCE |
| + # disables platform specific features beyond repair. |
| + # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE |
| + # has no effect, don't bother defining them |
| + Darwin/[6789].*) |
| + define_xopen_source=no;; |
| + Darwin/[12][0-9].*) |
| + define_xopen_source=no;; |
| + # On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from |
| + # defining NI_NUMERICHOST. |
| + QNX/6.3.2) |
| + define_xopen_source=no |
| + ;; |
| + # On VxWorks, defining _XOPEN_SOURCE causes compile failures |
| + # in network headers still using system V types. |
| + VxWorks/*) |
| + define_xopen_source=no |
| + ;; |
| + |
| + # On HP-UX, defining _XOPEN_SOURCE to 600 or greater hides |
| + # chroot() and other functions |
| + hp*|HP*) |
| + define_xopen_source=no |
| + ;; |
| + |
| +esac |
| + |
| +if test $define_xopen_source = yes |
| +then |
| + # X/Open 7, incorporating POSIX.1-2008 |
| + |
| +$as_echo "#define _XOPEN_SOURCE 700" >>confdefs.h |
| + |
| + |
| + # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires |
| + # definition of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else |
| + # several APIs are not declared. Since this is also needed in some |
| + # cases for HP-UX, we define it globally. |
| + |
| +$as_echo "#define _XOPEN_SOURCE_EXTENDED 1" >>confdefs.h |
| + |
| + |
| + |
| +$as_echo "#define _POSIX_C_SOURCE 200809L" >>confdefs.h |
| + |
| +fi |
| + |
| +# On HP-UX mbstate_t requires _INCLUDE__STDC_A1_SOURCE |
| +case $ac_sys_system in |
| + hp*|HP*) |
| + define_stdc_a1=yes;; |
| + *) |
| + define_stdc_a1=no;; |
| +esac |
| + |
| +if test $define_stdc_a1 = yes |
| +then |
| + |
| +$as_echo "#define _INCLUDE__STDC_A1_SOURCE 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Record the configure-time value of MACOSX_DEPLOYMENT_TARGET, |
| +# it may influence the way we can build extensions, so distutils |
| +# needs to check it |
| + |
| + |
| +CONFIGURE_MACOSX_DEPLOYMENT_TARGET= |
| +EXPORT_MACOSX_DEPLOYMENT_TARGET='#' |
| + |
| +# checks for alternative programs |
| + |
| +# compiler flags are generated in two sets, BASECFLAGS and OPT. OPT is just |
| +# for debug/optimization stuff. BASECFLAGS is for flags that are required |
| +# just to get things to compile and link. Users are free to override OPT |
| +# when running configure or make. The build should not break if they do. |
| +# BASECFLAGS should generally not be messed with, however. |
| + |
| +# If the user switches compilers, we can't believe the cache |
| +if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC" |
| +then |
| + as_fn_error $? "cached CC is different -- throw away $cache_file |
| +(it is also a good idea to do 'make clean' before compiling)" "$LINENO" 5 |
| +fi |
| + |
| +# Don't let AC_PROG_CC set the default CFLAGS. It normally sets -g -O2 |
| +# when the compiler supports them, but we don't always want -O2, and |
| +# we set -g later. |
| +if test -z "$CFLAGS"; then |
| + CFLAGS= |
| +fi |
| + |
| +if test "$ac_sys_system" = "Darwin" |
| +then |
| + # Compiler selection on MacOSX is more complicated than |
| + # AC_PROG_CC can handle, see Mac/README for more |
| + # information |
| + if test -z "${CC}" |
| + then |
| + found_gcc= |
| + found_clang= |
| + as_save_IFS=$IFS; IFS=: |
| + for as_dir in $PATH |
| + do |
| + IFS=$as_save_IFS |
| + if test -x "${as_dir}/gcc"; then |
| + if test -z "${found_gcc}"; then |
| + found_gcc="${as_dir}/gcc" |
| + fi |
| + fi |
| + if test -x "${as_dir}/clang"; then |
| + if test -z "${found_clang}"; then |
| + found_clang="${as_dir}/clang" |
| + fi |
| + fi |
| + done |
| + IFS=$as_save_IFS |
| + |
| + if test -n "$found_gcc" -a -n "$found_clang" |
| + then |
| + if test -n "`"$found_gcc" --version | grep llvm-gcc`" |
| + then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: Detected llvm-gcc, falling back to clang" >&5 |
| +$as_echo "$as_me: Detected llvm-gcc, falling back to clang" >&6;} |
| + CC="$found_clang" |
| + CXX="$found_clang++" |
| + fi |
| + |
| + |
| + elif test -z "$found_gcc" -a -n "$found_clang" |
| + then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: No GCC found, use CLANG" >&5 |
| +$as_echo "$as_me: No GCC found, use CLANG" >&6;} |
| + CC="$found_clang" |
| + CXX="$found_clang++" |
| + |
| + elif test -z "$found_gcc" -a -z "$found_clang" |
| + then |
| + found_clang=`/usr/bin/xcrun -find clang 2>/dev/null` |
| + if test -n "${found_clang}" |
| + then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: Using clang from Xcode.app" >&5 |
| +$as_echo "$as_me: Using clang from Xcode.app" >&6;} |
| + CC="${found_clang}" |
| + CXX="`/usr/bin/xcrun -find clang++`" |
| + |
| + # else: use default behaviour |
| + fi |
| + fi |
| + fi |
| +fi |
| +ac_ext=c |
| +ac_cpp='$CPP $CPPFLAGS' |
| +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
| +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
| +ac_compiler_gnu=$ac_cv_c_compiler_gnu |
| +if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}gcc; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_CC+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$CC"; then |
| + ac_cv_prog_CC="$CC" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_CC="${ac_tool_prefix}gcc" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +CC=$ac_cv_prog_CC |
| +if test -n "$CC"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
| +$as_echo "$CC" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_prog_CC"; then |
| + ac_ct_CC=$CC |
| + # Extract the first word of "gcc", so it can be a program name with args. |
| +set dummy gcc; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_ac_ct_CC+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$ac_ct_CC"; then |
| + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_ac_ct_CC="gcc" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +ac_ct_CC=$ac_cv_prog_ac_ct_CC |
| +if test -n "$ac_ct_CC"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 |
| +$as_echo "$ac_ct_CC" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_ct_CC" = x; then |
| + CC="" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + CC=$ac_ct_CC |
| + fi |
| +else |
| + CC="$ac_cv_prog_CC" |
| +fi |
| + |
| +if test -z "$CC"; then |
| + if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}cc; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_CC+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$CC"; then |
| + ac_cv_prog_CC="$CC" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_CC="${ac_tool_prefix}cc" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +CC=$ac_cv_prog_CC |
| +if test -n "$CC"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
| +$as_echo "$CC" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + fi |
| +fi |
| +if test -z "$CC"; then |
| + # Extract the first word of "cc", so it can be a program name with args. |
| +set dummy cc; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_CC+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$CC"; then |
| + ac_cv_prog_CC="$CC" # Let the user override the test. |
| +else |
| + ac_prog_rejected=no |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then |
| + ac_prog_rejected=yes |
| + continue |
| + fi |
| + ac_cv_prog_CC="cc" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +if test $ac_prog_rejected = yes; then |
| + # We found a bogon in the path, so make sure we never use it. |
| + set dummy $ac_cv_prog_CC |
| + shift |
| + if test $# != 0; then |
| + # We chose a different compiler from the bogus one. |
| + # However, it has the same basename, so the bogon will be chosen |
| + # first if we set CC to just the basename; use the full file name. |
| + shift |
| + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" |
| + fi |
| +fi |
| +fi |
| +fi |
| +CC=$ac_cv_prog_CC |
| +if test -n "$CC"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
| +$as_echo "$CC" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$CC"; then |
| + if test -n "$ac_tool_prefix"; then |
| + for ac_prog in cl.exe |
| + do |
| + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. |
| +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_CC+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$CC"; then |
| + ac_cv_prog_CC="$CC" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +CC=$ac_cv_prog_CC |
| +if test -n "$CC"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
| +$as_echo "$CC" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$CC" && break |
| + done |
| +fi |
| +if test -z "$CC"; then |
| + ac_ct_CC=$CC |
| + for ac_prog in cl.exe |
| +do |
| + # Extract the first word of "$ac_prog", so it can be a program name with args. |
| +set dummy $ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_ac_ct_CC+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$ac_ct_CC"; then |
| + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_ac_ct_CC="$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +ac_ct_CC=$ac_cv_prog_ac_ct_CC |
| +if test -n "$ac_ct_CC"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 |
| +$as_echo "$ac_ct_CC" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$ac_ct_CC" && break |
| +done |
| + |
| + if test "x$ac_ct_CC" = x; then |
| + CC="" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + CC=$ac_ct_CC |
| + fi |
| +fi |
| + |
| +fi |
| + |
| + |
| +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error $? "no acceptable C compiler found in \$PATH |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + |
| +# Provide some information about the compiler. |
| +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 |
| +set X $ac_compile |
| +ac_compiler=$2 |
| +for ac_option in --version -v -V -qversion; do |
| + { { ac_try="$ac_compiler $ac_option >&5" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_compiler $ac_option >&5") 2>conftest.err |
| + ac_status=$? |
| + if test -s conftest.err; then |
| + sed '10a\ |
| +... rest of stderr output deleted ... |
| + 10q' conftest.err >conftest.er1 |
| + cat conftest.er1 >&5 |
| + fi |
| + rm -f conftest.er1 conftest.err |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; } |
| +done |
| + |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +ac_clean_files_save=$ac_clean_files |
| +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" |
| +# Try to create an executable without -o first, disregard a.out. |
| +# It will help us diagnose broken compilers, and finding out an intuition |
| +# of exeext. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 |
| +$as_echo_n "checking whether the C compiler works... " >&6; } |
| +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` |
| + |
| +# The possible output files: |
| +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" |
| + |
| +ac_rmfiles= |
| +for ac_file in $ac_files |
| +do |
| + case $ac_file in |
| + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; |
| + * ) ac_rmfiles="$ac_rmfiles $ac_file";; |
| + esac |
| +done |
| +rm -f $ac_rmfiles |
| + |
| +if { { ac_try="$ac_link_default" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_link_default") 2>&5 |
| + ac_status=$? |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; }; then : |
| + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. |
| +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' |
| +# in a Makefile. We should not override ac_cv_exeext if it was cached, |
| +# so that the user can short-circuit this test for compilers unknown to |
| +# Autoconf. |
| +for ac_file in $ac_files '' |
| +do |
| + test -f "$ac_file" || continue |
| + case $ac_file in |
| + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) |
| + ;; |
| + [ab].out ) |
| + # We found the default executable, but exeext='' is most |
| + # certainly right. |
| + break;; |
| + *.* ) |
| + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; |
| + then :; else |
| + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` |
| + fi |
| + # We set ac_cv_exeext here because the later test for it is not |
| + # safe: cross compilers may not add the suffix if given an `-o' |
| + # argument, so we may need to know it at that point already. |
| + # Even if this section looks crufty: it has the advantage of |
| + # actually working. |
| + break;; |
| + * ) |
| + break;; |
| + esac |
| +done |
| +test "$ac_cv_exeext" = no && ac_cv_exeext= |
| + |
| +else |
| + ac_file='' |
| +fi |
| +if test -z "$ac_file"; then : |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +$as_echo "$as_me: failed program was:" >&5 |
| +sed 's/^/| /' conftest.$ac_ext >&5 |
| + |
| +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "C compiler cannot create executables |
| +See \`config.log' for more details" "$LINENO" 5; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 |
| +$as_echo_n "checking for C compiler default output file name... " >&6; } |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 |
| +$as_echo "$ac_file" >&6; } |
| +ac_exeext=$ac_cv_exeext |
| + |
| +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out |
| +ac_clean_files=$ac_clean_files_save |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 |
| +$as_echo_n "checking for suffix of executables... " >&6; } |
| +if { { ac_try="$ac_link" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_link") 2>&5 |
| + ac_status=$? |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; }; then : |
| + # If both `conftest.exe' and `conftest' are `present' (well, observable) |
| +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will |
| +# work properly (i.e., refer to `conftest.exe'), while it won't with |
| +# `rm'. |
| +for ac_file in conftest.exe conftest conftest.*; do |
| + test -f "$ac_file" || continue |
| + case $ac_file in |
| + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; |
| + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` |
| + break;; |
| + * ) break;; |
| + esac |
| +done |
| +else |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error $? "cannot compute suffix of executables: cannot compile and link |
| +See \`config.log' for more details" "$LINENO" 5; } |
| +fi |
| +rm -f conftest conftest$ac_cv_exeext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 |
| +$as_echo "$ac_cv_exeext" >&6; } |
| + |
| +rm -f conftest.$ac_ext |
| +EXEEXT=$ac_cv_exeext |
| +ac_exeext=$EXEEXT |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdio.h> |
| +int |
| +main () |
| +{ |
| +FILE *f = fopen ("conftest.out", "w"); |
| + return ferror (f) || fclose (f) != 0; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +ac_clean_files="$ac_clean_files conftest.out" |
| +# Check that the compiler produces executables we can run. If not, either |
| +# the compiler is broken, or we cross compile. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 |
| +$as_echo_n "checking whether we are cross compiling... " >&6; } |
| +if test "$cross_compiling" != yes; then |
| + { { ac_try="$ac_link" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_link") 2>&5 |
| + ac_status=$? |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; } |
| + if { ac_try='./conftest$ac_cv_exeext' |
| + { { case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_try") 2>&5 |
| + ac_status=$? |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; }; }; then |
| + cross_compiling=no |
| + else |
| + if test "$cross_compiling" = maybe; then |
| + cross_compiling=yes |
| + else |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error $? "cannot run C compiled programs. |
| +If you meant to cross compile, use \`--host'. |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + fi |
| + fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 |
| +$as_echo "$cross_compiling" >&6; } |
| + |
| +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out |
| +ac_clean_files=$ac_clean_files_save |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 |
| +$as_echo_n "checking for suffix of object files... " >&6; } |
| +if ${ac_cv_objext+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +rm -f conftest.o conftest.obj |
| +if { { ac_try="$ac_compile" |
| +case "(($ac_try" in |
| + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
| + *) ac_try_echo=$ac_try;; |
| +esac |
| +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
| +$as_echo "$ac_try_echo"; } >&5 |
| + (eval "$ac_compile") 2>&5 |
| + ac_status=$? |
| + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| + test $ac_status = 0; }; then : |
| + for ac_file in conftest.o conftest.obj conftest.*; do |
| + test -f "$ac_file" || continue; |
| + case $ac_file in |
| + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; |
| + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` |
| + break;; |
| + esac |
| +done |
| +else |
| + $as_echo "$as_me: failed program was:" >&5 |
| +sed 's/^/| /' conftest.$ac_ext >&5 |
| + |
| +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error $? "cannot compute suffix of object files: cannot compile |
| +See \`config.log' for more details" "$LINENO" 5; } |
| +fi |
| +rm -f conftest.$ac_cv_objext conftest.$ac_ext |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 |
| +$as_echo "$ac_cv_objext" >&6; } |
| +OBJEXT=$ac_cv_objext |
| +ac_objext=$OBJEXT |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 |
| +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } |
| +if ${ac_cv_c_compiler_gnu+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| +#ifndef __GNUC__ |
| + choke me |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_compiler_gnu=yes |
| +else |
| + ac_compiler_gnu=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +ac_cv_c_compiler_gnu=$ac_compiler_gnu |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 |
| +$as_echo "$ac_cv_c_compiler_gnu" >&6; } |
| +if test $ac_compiler_gnu = yes; then |
| + GCC=yes |
| +else |
| + GCC= |
| +fi |
| +ac_test_CFLAGS=${CFLAGS+set} |
| +ac_save_CFLAGS=$CFLAGS |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 |
| +$as_echo_n "checking whether $CC accepts -g... " >&6; } |
| +if ${ac_cv_prog_cc_g+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_save_c_werror_flag=$ac_c_werror_flag |
| + ac_c_werror_flag=yes |
| + ac_cv_prog_cc_g=no |
| + CFLAGS="-g" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_prog_cc_g=yes |
| +else |
| + CFLAGS="" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +else |
| + ac_c_werror_flag=$ac_save_c_werror_flag |
| + CFLAGS="-g" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_prog_cc_g=yes |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + ac_c_werror_flag=$ac_save_c_werror_flag |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 |
| +$as_echo "$ac_cv_prog_cc_g" >&6; } |
| +if test "$ac_test_CFLAGS" = set; then |
| + CFLAGS=$ac_save_CFLAGS |
| +elif test $ac_cv_prog_cc_g = yes; then |
| + if test "$GCC" = yes; then |
| + CFLAGS="-g -O2" |
| + else |
| + CFLAGS="-g" |
| + fi |
| +else |
| + if test "$GCC" = yes; then |
| + CFLAGS="-O2" |
| + else |
| + CFLAGS= |
| + fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 |
| +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } |
| +if ${ac_cv_prog_cc_c89+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_cv_prog_cc_c89=no |
| +ac_save_CC=$CC |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdarg.h> |
| +#include <stdio.h> |
| +struct stat; |
| +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ |
| +struct buf { int x; }; |
| +FILE * (*rcsopen) (struct buf *, struct stat *, int); |
| +static char *e (p, i) |
| + char **p; |
| + int i; |
| +{ |
| + return p[i]; |
| +} |
| +static char *f (char * (*g) (char **, int), char **p, ...) |
| +{ |
| + char *s; |
| + va_list v; |
| + va_start (v,p); |
| + s = g (p, va_arg (v,int)); |
| + va_end (v); |
| + return s; |
| +} |
| + |
| +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has |
| + function prototypes and stuff, but not '\xHH' hex character constants. |
| + These don't provoke an error unfortunately, instead are silently treated |
| + as 'x'. The following induces an error, until -std is added to get |
| + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an |
| + array size at least. It's necessary to write '\x00'==0 to get something |
| + that's true only with -std. */ |
| +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; |
| + |
| +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters |
| + inside strings and character constants. */ |
| +#define FOO(x) 'x' |
| +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; |
| + |
| +int test (int i, double x); |
| +struct s1 {int (*f) (int a);}; |
| +struct s2 {int (*f) (double a);}; |
| +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); |
| +int argc; |
| +char **argv; |
| +int |
| +main () |
| +{ |
| +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ |
| + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" |
| +do |
| + CC="$ac_save_CC $ac_arg" |
| + if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_prog_cc_c89=$ac_arg |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext |
| + test "x$ac_cv_prog_cc_c89" != "xno" && break |
| +done |
| +rm -f conftest.$ac_ext |
| +CC=$ac_save_CC |
| + |
| +fi |
| +# AC_CACHE_VAL |
| +case "x$ac_cv_prog_cc_c89" in |
| + x) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 |
| +$as_echo "none needed" >&6; } ;; |
| + xno) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 |
| +$as_echo "unsupported" >&6; } ;; |
| + *) |
| + CC="$CC $ac_cv_prog_cc_c89" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 |
| +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; |
| +esac |
| +if test "x$ac_cv_prog_cc_c89" != xno; then : |
| + |
| +fi |
| + |
| +ac_ext=c |
| +ac_cpp='$CPP $CPPFLAGS' |
| +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
| +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
| +ac_compiler_gnu=$ac_cv_c_compiler_gnu |
| + |
| +ac_ext=c |
| +ac_cpp='$CPP $CPPFLAGS' |
| +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
| +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
| +ac_compiler_gnu=$ac_cv_c_compiler_gnu |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 |
| +$as_echo_n "checking how to run the C preprocessor... " >&6; } |
| +# On Suns, sometimes $CPP names a directory. |
| +if test -n "$CPP" && test -d "$CPP"; then |
| + CPP= |
| +fi |
| +if test -z "$CPP"; then |
| + if ${ac_cv_prog_CPP+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + # Double quotes because CPP needs to be expanded |
| + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" |
| + do |
| + ac_preproc_ok=false |
| +for ac_c_preproc_warn_flag in '' yes |
| +do |
| + # Use a header file that comes with gcc, so configuring glibc |
| + # with a fresh cross-compiler works. |
| + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since |
| + # <limits.h> exists even on freestanding compilers. |
| + # On the NeXT, cc -E runs the code through the compiler's parser, |
| + # not just through cpp. "Syntax error" is here to catch this case. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#ifdef __STDC__ |
| +# include <limits.h> |
| +#else |
| +# include <assert.h> |
| +#endif |
| + Syntax error |
| +_ACEOF |
| +if ac_fn_c_try_cpp "$LINENO"; then : |
| + |
| +else |
| + # Broken: fails on valid input. |
| +continue |
| +fi |
| +rm -f conftest.err conftest.i conftest.$ac_ext |
| + |
| + # OK, works on sane cases. Now check whether nonexistent headers |
| + # can be detected and how. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <ac_nonexistent.h> |
| +_ACEOF |
| +if ac_fn_c_try_cpp "$LINENO"; then : |
| + # Broken: success on invalid input. |
| +continue |
| +else |
| + # Passes both tests. |
| +ac_preproc_ok=: |
| +break |
| +fi |
| +rm -f conftest.err conftest.i conftest.$ac_ext |
| + |
| +done |
| +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
| +rm -f conftest.i conftest.err conftest.$ac_ext |
| +if $ac_preproc_ok; then : |
| + break |
| +fi |
| + |
| + done |
| + ac_cv_prog_CPP=$CPP |
| + |
| +fi |
| + CPP=$ac_cv_prog_CPP |
| +else |
| + ac_cv_prog_CPP=$CPP |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 |
| +$as_echo "$CPP" >&6; } |
| +ac_preproc_ok=false |
| +for ac_c_preproc_warn_flag in '' yes |
| +do |
| + # Use a header file that comes with gcc, so configuring glibc |
| + # with a fresh cross-compiler works. |
| + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since |
| + # <limits.h> exists even on freestanding compilers. |
| + # On the NeXT, cc -E runs the code through the compiler's parser, |
| + # not just through cpp. "Syntax error" is here to catch this case. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#ifdef __STDC__ |
| +# include <limits.h> |
| +#else |
| +# include <assert.h> |
| +#endif |
| + Syntax error |
| +_ACEOF |
| +if ac_fn_c_try_cpp "$LINENO"; then : |
| + |
| +else |
| + # Broken: fails on valid input. |
| +continue |
| +fi |
| +rm -f conftest.err conftest.i conftest.$ac_ext |
| + |
| + # OK, works on sane cases. Now check whether nonexistent headers |
| + # can be detected and how. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <ac_nonexistent.h> |
| +_ACEOF |
| +if ac_fn_c_try_cpp "$LINENO"; then : |
| + # Broken: success on invalid input. |
| +continue |
| +else |
| + # Passes both tests. |
| +ac_preproc_ok=: |
| +break |
| +fi |
| +rm -f conftest.err conftest.i conftest.$ac_ext |
| + |
| +done |
| +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
| +rm -f conftest.i conftest.err conftest.$ac_ext |
| +if $ac_preproc_ok; then : |
| + |
| +else |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
| +See \`config.log' for more details" "$LINENO" 5; } |
| +fi |
| + |
| +ac_ext=c |
| +ac_cpp='$CPP $CPPFLAGS' |
| +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
| +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
| +ac_compiler_gnu=$ac_cv_c_compiler_gnu |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 |
| +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } |
| +if ${ac_cv_path_GREP+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -z "$GREP"; then |
| + ac_path_GREP_found=false |
| + # Loop through the user's path and test for each of PROGNAME-LIST |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_prog in grep ggrep; do |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" |
| + as_fn_executable_p "$ac_path_GREP" || continue |
| +# Check for GNU ac_path_GREP and select it if it is found. |
| + # Check for GNU $ac_path_GREP |
| +case `"$ac_path_GREP" --version 2>&1` in |
| +*GNU*) |
| + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; |
| +*) |
| + ac_count=0 |
| + $as_echo_n 0123456789 >"conftest.in" |
| + while : |
| + do |
| + cat "conftest.in" "conftest.in" >"conftest.tmp" |
| + mv "conftest.tmp" "conftest.in" |
| + cp "conftest.in" "conftest.nl" |
| + $as_echo 'GREP' >> "conftest.nl" |
| + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break |
| + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break |
| + as_fn_arith $ac_count + 1 && ac_count=$as_val |
| + if test $ac_count -gt ${ac_path_GREP_max-0}; then |
| + # Best one so far, save it but keep looking for a better one |
| + ac_cv_path_GREP="$ac_path_GREP" |
| + ac_path_GREP_max=$ac_count |
| + fi |
| + # 10*(2^10) chars as input seems more than enough |
| + test $ac_count -gt 10 && break |
| + done |
| + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; |
| +esac |
| + |
| + $ac_path_GREP_found && break 3 |
| + done |
| + done |
| + done |
| +IFS=$as_save_IFS |
| + if test -z "$ac_cv_path_GREP"; then |
| + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
| + fi |
| +else |
| + ac_cv_path_GREP=$GREP |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 |
| +$as_echo "$ac_cv_path_GREP" >&6; } |
| + GREP="$ac_cv_path_GREP" |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 |
| +$as_echo_n "checking for a sed that does not truncate output... " >&6; } |
| +if ${ac_cv_path_SED+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ |
| + for ac_i in 1 2 3 4 5 6 7; do |
| + ac_script="$ac_script$as_nl$ac_script" |
| + done |
| + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed |
| + { ac_script=; unset ac_script;} |
| + if test -z "$SED"; then |
| + ac_path_SED_found=false |
| + # Loop through the user's path and test for each of PROGNAME-LIST |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_prog in sed gsed; do |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" |
| + as_fn_executable_p "$ac_path_SED" || continue |
| +# Check for GNU ac_path_SED and select it if it is found. |
| + # Check for GNU $ac_path_SED |
| +case `"$ac_path_SED" --version 2>&1` in |
| +*GNU*) |
| + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; |
| +*) |
| + ac_count=0 |
| + $as_echo_n 0123456789 >"conftest.in" |
| + while : |
| + do |
| + cat "conftest.in" "conftest.in" >"conftest.tmp" |
| + mv "conftest.tmp" "conftest.in" |
| + cp "conftest.in" "conftest.nl" |
| + $as_echo '' >> "conftest.nl" |
| + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break |
| + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break |
| + as_fn_arith $ac_count + 1 && ac_count=$as_val |
| + if test $ac_count -gt ${ac_path_SED_max-0}; then |
| + # Best one so far, save it but keep looking for a better one |
| + ac_cv_path_SED="$ac_path_SED" |
| + ac_path_SED_max=$ac_count |
| + fi |
| + # 10*(2^10) chars as input seems more than enough |
| + test $ac_count -gt 10 && break |
| + done |
| + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; |
| +esac |
| + |
| + $ac_path_SED_found && break 3 |
| + done |
| + done |
| + done |
| +IFS=$as_save_IFS |
| + if test -z "$ac_cv_path_SED"; then |
| + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 |
| + fi |
| +else |
| + ac_cv_path_SED=$SED |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 |
| +$as_echo "$ac_cv_path_SED" >&6; } |
| + SED="$ac_cv_path_SED" |
| + rm -f conftest.sed |
| + |
| + |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-cxx-main=<compiler>" >&5 |
| +$as_echo_n "checking for --with-cxx-main=<compiler>... " >&6; } |
| + |
| +# Check whether --with-cxx_main was given. |
| +if test "${with_cxx_main+set}" = set; then : |
| + withval=$with_cxx_main; |
| + |
| + case $withval in |
| + no) with_cxx_main=no |
| + MAINCC='$(CC)';; |
| + yes) with_cxx_main=yes |
| + MAINCC='$(CXX)';; |
| + *) with_cxx_main=yes |
| + MAINCC=$withval |
| + if test -z "$CXX" |
| + then |
| + CXX=$withval |
| + fi;; |
| + esac |
| +else |
| + |
| + with_cxx_main=no |
| + MAINCC='$(CC)' |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_cxx_main" >&5 |
| +$as_echo "$with_cxx_main" >&6; } |
| + |
| +preset_cxx="$CXX" |
| +if test -z "$CXX" |
| +then |
| + case "$CC" in |
| + gcc) if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}g++; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_CXX="$CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +CXX=$ac_cv_path_CXX |
| +if test -n "$CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 |
| +$as_echo "$CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_path_CXX"; then |
| + ac_pt_CXX=$CXX |
| + # Extract the first word of "g++", so it can be a program name with args. |
| +set dummy g++; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_ac_pt_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $ac_pt_CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_ac_pt_CXX="$ac_pt_CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_ac_pt_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +ac_pt_CXX=$ac_cv_path_ac_pt_CXX |
| +if test -n "$ac_pt_CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CXX" >&5 |
| +$as_echo "$ac_pt_CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_pt_CXX" = x; then |
| + CXX="g++" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + CXX=$ac_pt_CXX |
| + fi |
| +else |
| + CXX="$ac_cv_path_CXX" |
| +fi |
| + ;; |
| + cc) if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}c++", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}c++; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_CXX="$CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +CXX=$ac_cv_path_CXX |
| +if test -n "$CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 |
| +$as_echo "$CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_path_CXX"; then |
| + ac_pt_CXX=$CXX |
| + # Extract the first word of "c++", so it can be a program name with args. |
| +set dummy c++; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_ac_pt_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $ac_pt_CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_ac_pt_CXX="$ac_pt_CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_ac_pt_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +ac_pt_CXX=$ac_cv_path_ac_pt_CXX |
| +if test -n "$ac_pt_CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CXX" >&5 |
| +$as_echo "$ac_pt_CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_pt_CXX" = x; then |
| + CXX="c++" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + CXX=$ac_pt_CXX |
| + fi |
| +else |
| + CXX="$ac_cv_path_CXX" |
| +fi |
| + ;; |
| + clang|*/clang) if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}clang++", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}clang++; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_CXX="$CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +CXX=$ac_cv_path_CXX |
| +if test -n "$CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 |
| +$as_echo "$CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_path_CXX"; then |
| + ac_pt_CXX=$CXX |
| + # Extract the first word of "clang++", so it can be a program name with args. |
| +set dummy clang++; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_ac_pt_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $ac_pt_CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_ac_pt_CXX="$ac_pt_CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_ac_pt_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +ac_pt_CXX=$ac_cv_path_ac_pt_CXX |
| +if test -n "$ac_pt_CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CXX" >&5 |
| +$as_echo "$ac_pt_CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_pt_CXX" = x; then |
| + CXX="clang++" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + CXX=$ac_pt_CXX |
| + fi |
| +else |
| + CXX="$ac_cv_path_CXX" |
| +fi |
| + ;; |
| + icc|*/icc) if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}icpc", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}icpc; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_CXX="$CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +CXX=$ac_cv_path_CXX |
| +if test -n "$CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 |
| +$as_echo "$CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_path_CXX"; then |
| + ac_pt_CXX=$CXX |
| + # Extract the first word of "icpc", so it can be a program name with args. |
| +set dummy icpc; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_ac_pt_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $ac_pt_CXX in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_ac_pt_CXX="$ac_pt_CXX" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in notfound |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_ac_pt_CXX="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +ac_pt_CXX=$ac_cv_path_ac_pt_CXX |
| +if test -n "$ac_pt_CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CXX" >&5 |
| +$as_echo "$ac_pt_CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_pt_CXX" = x; then |
| + CXX="icpc" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + CXX=$ac_pt_CXX |
| + fi |
| +else |
| + CXX="$ac_cv_path_CXX" |
| +fi |
| + ;; |
| + esac |
| + if test "$CXX" = "notfound" |
| + then |
| + CXX="" |
| + fi |
| +fi |
| +if test -z "$CXX" |
| +then |
| + if test -n "$ac_tool_prefix"; then |
| + for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl |
| + do |
| + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. |
| +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$CXX"; then |
| + ac_cv_prog_CXX="$CXX" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +CXX=$ac_cv_prog_CXX |
| +if test -n "$CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 |
| +$as_echo "$CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$CXX" && break |
| + done |
| +fi |
| +if test -z "$CXX"; then |
| + ac_ct_CXX=$CXX |
| + for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl |
| +do |
| + # Extract the first word of "$ac_prog", so it can be a program name with args. |
| +set dummy $ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_ac_ct_CXX+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$ac_ct_CXX"; then |
| + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_ac_ct_CXX="$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX |
| +if test -n "$ac_ct_CXX"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 |
| +$as_echo "$ac_ct_CXX" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$ac_ct_CXX" && break |
| +done |
| + |
| + if test "x$ac_ct_CXX" = x; then |
| + CXX="notfound" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + CXX=$ac_ct_CXX |
| + fi |
| +fi |
| + |
| + if test "$CXX" = "notfound" |
| + then |
| + CXX="" |
| + fi |
| +fi |
| +if test "$preset_cxx" != "$CXX" |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: |
| + |
| + By default, distutils will build C++ extension modules with \"$CXX\". |
| + If this is not intended, then set CXX on the configure command line. |
| + " >&5 |
| +$as_echo "$as_me: |
| + |
| + By default, distutils will build C++ extension modules with \"$CXX\". |
| + If this is not intended, then set CXX on the configure command line. |
| + " >&6;} |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the platform triplet based on compiler characteristics" >&5 |
| +$as_echo_n "checking for the platform triplet based on compiler characteristics... " >&6; } |
| +cat >> conftest.c <<EOF |
| +#undef bfin |
| +#undef cris |
| +#undef fr30 |
| +#undef linux |
| +#undef hppa |
| +#undef hpux |
| +#undef i386 |
| +#undef mips |
| +#undef powerpc |
| +#undef sparc |
| +#undef unix |
| +#if defined(__ANDROID__) |
| + # Android is not a multiarch system. |
| +#elif defined(__linux__) |
| +# if defined(__x86_64__) && defined(__LP64__) |
| + x86_64-linux-gnu |
| +# elif defined(__x86_64__) && defined(__ILP32__) |
| + x86_64-linux-gnux32 |
| +# elif defined(__i386__) |
| + i386-linux-gnu |
| +# elif defined(__aarch64__) && defined(__AARCH64EL__) |
| +# if defined(__ILP32__) |
| + aarch64_ilp32-linux-gnu |
| +# else |
| + aarch64-linux-gnu |
| +# endif |
| +# elif defined(__aarch64__) && defined(__AARCH64EB__) |
| +# if defined(__ILP32__) |
| + aarch64_be_ilp32-linux-gnu |
| +# else |
| + aarch64_be-linux-gnu |
| +# endif |
| +# elif defined(__alpha__) |
| + alpha-linux-gnu |
| +# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) |
| +# if defined(__ARMEL__) |
| + arm-linux-gnueabihf |
| +# else |
| + armeb-linux-gnueabihf |
| +# endif |
| +# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) |
| +# if defined(__ARMEL__) |
| + arm-linux-gnueabi |
| +# else |
| + armeb-linux-gnueabi |
| +# endif |
| +# elif defined(__hppa__) |
| + hppa-linux-gnu |
| +# elif defined(__ia64__) |
| + ia64-linux-gnu |
| +# elif defined(__m68k__) && !defined(__mcoldfire__) |
| + m68k-linux-gnu |
| +# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL) |
| +# if _MIPS_SIM == _ABIO32 |
| + mipsisa32r6el-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mipsisa64r6el-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mipsisa64r6el-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) |
| +# if _MIPS_SIM == _ABIO32 |
| + mipsisa32r6-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mipsisa64r6-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mipsisa64r6-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__mips_hard_float) && defined(_MIPSEL) |
| +# if _MIPS_SIM == _ABIO32 |
| + mipsel-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mips64el-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mips64el-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__mips_hard_float) |
| +# if _MIPS_SIM == _ABIO32 |
| + mips-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mips64-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mips64-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__or1k__) |
| + or1k-linux-gnu |
| +# elif defined(__powerpc__) && defined(__SPE__) |
| + powerpc-linux-gnuspe |
| +# elif defined(__powerpc64__) |
| +# if defined(__LITTLE_ENDIAN__) |
| + powerpc64le-linux-gnu |
| +# else |
| + powerpc64-linux-gnu |
| +# endif |
| +# elif defined(__powerpc__) |
| + powerpc-linux-gnu |
| +# elif defined(__s390x__) |
| + s390x-linux-gnu |
| +# elif defined(__s390__) |
| + s390-linux-gnu |
| +# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) |
| + sh4-linux-gnu |
| +# elif defined(__sparc__) && defined(__arch64__) |
| + sparc64-linux-gnu |
| +# elif defined(__sparc__) |
| + sparc-linux-gnu |
| +# elif defined(__riscv) |
| +# if __riscv_xlen == 32 |
| + riscv32-linux-gnu |
| +# elif __riscv_xlen == 64 |
| + riscv64-linux-gnu |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +#elif defined(__FreeBSD_kernel__) |
| +# if defined(__LP64__) |
| + x86_64-kfreebsd-gnu |
| +# elif defined(__i386__) |
| + i386-kfreebsd-gnu |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +#elif defined(__gnu_hurd__) |
| + i386-gnu |
| +#elif defined(__APPLE__) |
| + darwin |
| +#elif defined(__VXWORKS__) |
| + vxworks |
| +#else |
| +# error unknown platform triplet |
| +#endif |
| + |
| +EOF |
| + |
| +if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then |
| + PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PLATFORM_TRIPLET" >&5 |
| +$as_echo "$PLATFORM_TRIPLET" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 |
| +$as_echo "none" >&6; } |
| +fi |
| +rm -f conftest.c conftest.out |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for multiarch" >&5 |
| +$as_echo_n "checking for multiarch... " >&6; } |
| +case $ac_sys_system in #( |
| + Darwin*) : |
| + MULTIARCH="" ;; #( |
| + FreeBSD*) : |
| + MULTIARCH="" ;; #( |
| + *) : |
| + MULTIARCH=$($CC --print-multiarch 2>/dev/null) |
| + ;; |
| +esac |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MULTIARCH" >&5 |
| +$as_echo "$MULTIARCH" >&6; } |
| + |
| +if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then |
| + if test x$PLATFORM_TRIPLET != x$MULTIARCH; then |
| + as_fn_error $? "internal configure error for the platform triplet, please file a bug report" "$LINENO" 5 |
| + fi |
| +elif test x$PLATFORM_TRIPLET != x && test x$MULTIARCH = x; then |
| + MULTIARCH=$PLATFORM_TRIPLET |
| +fi |
| + |
| + |
| +if test x$MULTIARCH != x; then |
| + MULTIARCH_CPPFLAGS="-DMULTIARCH=\\\"$MULTIARCH\\\"" |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wl,--no-as-needed" >&5 |
| +$as_echo_n "checking for -Wl,--no-as-needed... " >&6; } |
| +save_LDFLAGS="$LDFLAGS" |
| +LDFLAGS="$LDFLAGS -Wl,--no-as-needed" |
| + |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + NO_AS_NEEDED="-Wl,--no-as-needed" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + NO_AS_NEEDED="" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LDFLAGS="$save_LDFLAGS" |
| + |
| + |
| + |
| +# checks for UNIX variants that set C preprocessor variables |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 |
| +$as_echo_n "checking for egrep... " >&6; } |
| +if ${ac_cv_path_EGREP+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 |
| + then ac_cv_path_EGREP="$GREP -E" |
| + else |
| + if test -z "$EGREP"; then |
| + ac_path_EGREP_found=false |
| + # Loop through the user's path and test for each of PROGNAME-LIST |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_prog in egrep; do |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" |
| + as_fn_executable_p "$ac_path_EGREP" || continue |
| +# Check for GNU ac_path_EGREP and select it if it is found. |
| + # Check for GNU $ac_path_EGREP |
| +case `"$ac_path_EGREP" --version 2>&1` in |
| +*GNU*) |
| + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; |
| +*) |
| + ac_count=0 |
| + $as_echo_n 0123456789 >"conftest.in" |
| + while : |
| + do |
| + cat "conftest.in" "conftest.in" >"conftest.tmp" |
| + mv "conftest.tmp" "conftest.in" |
| + cp "conftest.in" "conftest.nl" |
| + $as_echo 'EGREP' >> "conftest.nl" |
| + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break |
| + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break |
| + as_fn_arith $ac_count + 1 && ac_count=$as_val |
| + if test $ac_count -gt ${ac_path_EGREP_max-0}; then |
| + # Best one so far, save it but keep looking for a better one |
| + ac_cv_path_EGREP="$ac_path_EGREP" |
| + ac_path_EGREP_max=$ac_count |
| + fi |
| + # 10*(2^10) chars as input seems more than enough |
| + test $ac_count -gt 10 && break |
| + done |
| + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; |
| +esac |
| + |
| + $ac_path_EGREP_found && break 3 |
| + done |
| + done |
| + done |
| +IFS=$as_save_IFS |
| + if test -z "$ac_cv_path_EGREP"; then |
| + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
| + fi |
| +else |
| + ac_cv_path_EGREP=$EGREP |
| +fi |
| + |
| + fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 |
| +$as_echo "$ac_cv_path_EGREP" >&6; } |
| + EGREP="$ac_cv_path_EGREP" |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 |
| +$as_echo_n "checking for ANSI C header files... " >&6; } |
| +if ${ac_cv_header_stdc+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdlib.h> |
| +#include <stdarg.h> |
| +#include <string.h> |
| +#include <float.h> |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_header_stdc=yes |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +if test $ac_cv_header_stdc = yes; then |
| + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <string.h> |
| + |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "memchr" >/dev/null 2>&1; then : |
| + |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f conftest* |
| + |
| +fi |
| + |
| +if test $ac_cv_header_stdc = yes; then |
| + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdlib.h> |
| + |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "free" >/dev/null 2>&1; then : |
| + |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f conftest* |
| + |
| +fi |
| + |
| +if test $ac_cv_header_stdc = yes; then |
| + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. |
| + if test "$cross_compiling" = yes; then : |
| + : |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <ctype.h> |
| +#include <stdlib.h> |
| +#if ((' ' & 0x0FF) == 0x020) |
| +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') |
| +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) |
| +#else |
| +# define ISLOWER(c) \ |
| + (('a' <= (c) && (c) <= 'i') \ |
| + || ('j' <= (c) && (c) <= 'r') \ |
| + || ('s' <= (c) && (c) <= 'z')) |
| +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) |
| +#endif |
| + |
| +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) |
| +int |
| +main () |
| +{ |
| + int i; |
| + for (i = 0; i < 256; i++) |
| + if (XOR (islower (i), ISLOWER (i)) |
| + || toupper (i) != TOUPPER (i)) |
| + return 2; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 |
| +$as_echo "$ac_cv_header_stdc" >&6; } |
| +if test $ac_cv_header_stdc = yes; then |
| + |
| +$as_echo "#define STDC_HEADERS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# On IRIX 5.3, sys/types and inttypes.h are conflicting. |
| +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ |
| + inttypes.h stdint.h unistd.h |
| +do : |
| + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default |
| +" |
| +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| + |
| + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" |
| +if test "x$ac_cv_header_minix_config_h" = xyes; then : |
| + MINIX=yes |
| +else |
| + MINIX= |
| +fi |
| + |
| + |
| + if test "$MINIX" = yes; then |
| + |
| +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h |
| + |
| + |
| +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h |
| + |
| + |
| +$as_echo "#define _MINIX 1" >>confdefs.h |
| + |
| + fi |
| + |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 |
| +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } |
| +if ${ac_cv_safe_to_define___extensions__+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +# define __EXTENSIONS__ 1 |
| + $ac_includes_default |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_safe_to_define___extensions__=yes |
| +else |
| + ac_cv_safe_to_define___extensions__=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 |
| +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } |
| + test $ac_cv_safe_to_define___extensions__ = yes && |
| + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h |
| + |
| + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h |
| + |
| + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h |
| + |
| + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h |
| + |
| + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h |
| + |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Android API level" >&5 |
| +$as_echo_n "checking for the Android API level... " >&6; } |
| +cat >> conftest.c <<EOF |
| +#ifdef __ANDROID__ |
| +android_api = __ANDROID_API__ |
| +arm_arch = __ARM_ARCH |
| +#else |
| +#error not Android |
| +#endif |
| +EOF |
| + |
| +if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then |
| + ANDROID_API_LEVEL=`sed -n -e '/__ANDROID_API__/d' -e 's/^android_api = //p' conftest.out` |
| + _arm_arch=`sed -n -e '/__ARM_ARCH/d' -e 's/^arm_arch = //p' conftest.out` |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ANDROID_API_LEVEL" >&5 |
| +$as_echo "$ANDROID_API_LEVEL" >&6; } |
| + if test -z "$ANDROID_API_LEVEL"; then |
| + echo 'Fatal: you must define __ANDROID_API__' |
| + exit 1 |
| + fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define ANDROID_API_LEVEL $ANDROID_API_LEVEL |
| +_ACEOF |
| + |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Android arm ABI" >&5 |
| +$as_echo_n "checking for the Android arm ABI... " >&6; } |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_arm_arch" >&5 |
| +$as_echo "$_arm_arch" >&6; } |
| + if test "$_arm_arch" = 7; then |
| + BASECFLAGS="${BASECFLAGS} -mfloat-abi=softfp -mfpu=vfpv3-d16" |
| + LDFLAGS="${LDFLAGS} -march=armv7-a -Wl,--fix-cortex-a8" |
| + fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not Android" >&5 |
| +$as_echo "not Android" >&6; } |
| +fi |
| +rm -f conftest.c conftest.out |
| + |
| +# Check for unsupported systems |
| +case $ac_sys_system/$ac_sys_release in |
| +atheos*|Linux*/1*) |
| + echo This system \($ac_sys_system/$ac_sys_release\) is no longer supported. |
| + echo See README for details. |
| + exit 1;; |
| +esac |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-suffix" >&5 |
| +$as_echo_n "checking for --with-suffix... " >&6; } |
| + |
| +# Check whether --with-suffix was given. |
| +if test "${with_suffix+set}" = set; then : |
| + withval=$with_suffix; |
| + case $withval in |
| + no) EXEEXT=;; |
| + yes) EXEEXT=.exe;; |
| + *) EXEEXT=$withval;; |
| + esac |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXEEXT" >&5 |
| +$as_echo "$EXEEXT" >&6; } |
| + |
| +# Test whether we're running on a non-case-sensitive system, in which |
| +# case we give a warning if no ext is given |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for case-insensitive build directory" >&5 |
| +$as_echo_n "checking for case-insensitive build directory... " >&6; } |
| +if test ! -d CaseSensitiveTestDir; then |
| +mkdir CaseSensitiveTestDir |
| +fi |
| + |
| +if test -d casesensitivetestdir |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + BUILDEXEEXT=.exe |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + BUILDEXEEXT=$EXEEXT |
| +fi |
| +rmdir CaseSensitiveTestDir |
| + |
| +case $ac_sys_system in |
| +hp*|HP*) |
| + case $CC in |
| + cc|*/cc) CC="$CC -Ae";; |
| + esac;; |
| +esac |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBRARY" >&5 |
| +$as_echo_n "checking LIBRARY... " >&6; } |
| +if test -z "$LIBRARY" |
| +then |
| + LIBRARY='libpython$(VERSION)$(ABIFLAGS).a' |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBRARY" >&5 |
| +$as_echo "$LIBRARY" >&6; } |
| + |
| +# LDLIBRARY is the name of the library to link against (as opposed to the |
| +# name of the library into which to insert object files). BLDLIBRARY is also |
| +# the library to link against, usually. On Mac OS X frameworks, BLDLIBRARY |
| +# is blank as the main program is not linked directly against LDLIBRARY. |
| +# LDLIBRARYDIR is the path to LDLIBRARY, which is made in a subdirectory. On |
| +# systems without shared libraries, LDLIBRARY is the same as LIBRARY |
| +# (defined in the Makefiles). On Cygwin LDLIBRARY is the import library, |
| +# DLLLIBRARY is the shared (i.e., DLL) library. |
| +# |
| +# RUNSHARED is used to run shared python without installed libraries |
| +# |
| +# INSTSONAME is the name of the shared library that will be use to install |
| +# on the system - some systems like version suffix, others don't |
| +# |
| +# LDVERSION is the shared library version number, normally the Python version |
| +# with the ABI build flags appended. |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| +LDLIBRARY="$LIBRARY" |
| +BLDLIBRARY='$(LDLIBRARY)' |
| +INSTSONAME='$(LDLIBRARY)' |
| +DLLLIBRARY='' |
| +LDLIBRARYDIR='' |
| +RUNSHARED='' |
| +LDVERSION="$VERSION" |
| + |
| +# LINKCC is the command that links the python executable -- default is $(CC). |
| +# If CXX is set, and if it is needed to link a main function that was |
| +# compiled with CXX, LINKCC is CXX instead. Always using CXX is undesirable: |
| +# python might then depend on the C++ runtime |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LINKCC" >&5 |
| +$as_echo_n "checking LINKCC... " >&6; } |
| +if test -z "$LINKCC" |
| +then |
| + LINKCC='$(PURIFY) $(MAINCC)' |
| + case $ac_sys_system in |
| + QNX*) |
| + # qcc must be used because the other compilers do not |
| + # support -N. |
| + LINKCC=qcc;; |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINKCC" >&5 |
| +$as_echo "$LINKCC" >&6; } |
| + |
| +# EXPORTSYMS holds the list of exported symbols for AIX. |
| +# EXPORTSFROM holds the module name exporting symbols on AIX. |
| +EXPORTSYMS= |
| +EXPORTSFROM= |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking EXPORTSYMS" >&5 |
| +$as_echo_n "checking EXPORTSYMS... " >&6; } |
| +case $ac_sys_system in |
| +AIX*) |
| + EXPORTSYMS="Modules/python.exp" |
| + EXPORTSFROM=. # the main executable |
| + ;; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXPORTSYMS" >&5 |
| +$as_echo "$EXPORTSYMS" >&6; } |
| + |
| +# GNULD is set to "yes" if the GNU linker is used. If this goes wrong |
| +# make sure we default having it set to "no": this is used by |
| +# distutils.unixccompiler to know if it should add --enable-new-dtags |
| +# to linker command lines, and failing to detect GNU ld simply results |
| +# in the same bahaviour as before. |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 |
| +$as_echo_n "checking for GNU ld... " >&6; } |
| +ac_prog=ld |
| +if test "$GCC" = yes; then |
| + ac_prog=`$CC -print-prog-name=ld` |
| +fi |
| +case `"$ac_prog" -V 2>&1 < /dev/null` in |
| + *GNU*) |
| + GNULD=yes;; |
| + *) |
| + GNULD=no;; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNULD" >&5 |
| +$as_echo "$GNULD" >&6; } |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-shared" >&5 |
| +$as_echo_n "checking for --enable-shared... " >&6; } |
| +# Check whether --enable-shared was given. |
| +if test "${enable_shared+set}" = set; then : |
| + enableval=$enable_shared; |
| +fi |
| + |
| + |
| +if test -z "$enable_shared" |
| +then |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + enable_shared="yes";; |
| + *) |
| + enable_shared="no";; |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 |
| +$as_echo "$enable_shared" >&6; } |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-profiling" >&5 |
| +$as_echo_n "checking for --enable-profiling... " >&6; } |
| +# Check whether --enable-profiling was given. |
| +if test "${enable_profiling+set}" = set; then : |
| + enableval=$enable_profiling; |
| +fi |
| + |
| +if test "x$enable_profiling" = xyes; then |
| + ac_save_cc="$CC" |
| + CC="$CC -pg" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +int main() { return 0; } |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + |
| +else |
| + enable_profiling=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + CC="$ac_save_cc" |
| +else |
| + enable_profiling=no |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_profiling" >&5 |
| +$as_echo "$enable_profiling" >&6; } |
| + |
| +if test "x$enable_profiling" = xyes; then |
| + BASECFLAGS="-pg $BASECFLAGS" |
| + LDFLAGS="-pg $LDFLAGS" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LDLIBRARY" >&5 |
| +$as_echo_n "checking LDLIBRARY... " >&6; } |
| + |
| +# MacOSX framework builds need more magic. LDLIBRARY is the dynamic |
| +# library that we build, but we do not want to link against it (we |
| +# will find it with a -framework option). For this reason there is an |
| +# extra variable BLDLIBRARY against which Python and the extension |
| +# modules are linked, BLDLIBRARY. This is normally the same as |
| +# LDLIBRARY, but empty for MacOSX framework builds. |
| +if test "$enable_framework" |
| +then |
| + LDLIBRARY='$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + RUNSHARED=DYLD_FRAMEWORK_PATH=`pwd`${DYLD_FRAMEWORK_PATH:+:${DYLD_FRAMEWORK_PATH}} |
| + BLDLIBRARY='' |
| +else |
| + BLDLIBRARY='$(LDLIBRARY)' |
| +fi |
| + |
| +# Other platforms follow |
| +if test $enable_shared = "yes"; then |
| + PY_ENABLE_SHARED=1 |
| + |
| +$as_echo "#define Py_ENABLE_SHARED 1" >>confdefs.h |
| + |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + LDLIBRARY='libpython$(LDVERSION).dll.a' |
| + DLLLIBRARY='libpython$(LDVERSION).dll' |
| + ;; |
| + SunOS*) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + BLDLIBRARY='-Wl,-R,$(LIBDIR) -L. -lpython$(LDVERSION)' |
| + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} |
| + INSTSONAME="$LDLIBRARY".$SOVERSION |
| + if test "$with_pydebug" != yes |
| + then |
| + PY3LIBRARY=libpython3.so |
| + fi |
| + ;; |
| + Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + BLDLIBRARY='-L. -lpython$(LDVERSION)' |
| + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} |
| + INSTSONAME="$LDLIBRARY".$SOVERSION |
| + if test "$with_pydebug" != yes |
| + then |
| + PY3LIBRARY=libpython3.so |
| + fi |
| + ;; |
| + hp*|HP*) |
| + case `uname -m` in |
| + ia64) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + ;; |
| + *) |
| + LDLIBRARY='libpython$(LDVERSION).sl' |
| + ;; |
| + esac |
| + BLDLIBRARY='-Wl,+b,$(LIBDIR) -L. -lpython$(LDVERSION)' |
| + RUNSHARED=SHLIB_PATH=`pwd`${SHLIB_PATH:+:${SHLIB_PATH}} |
| + ;; |
| + Darwin*) |
| + LDLIBRARY='libpython$(LDVERSION).dylib' |
| + BLDLIBRARY='-L. -lpython$(LDVERSION)' |
| + RUNSHARED=DYLD_LIBRARY_PATH=`pwd`${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}} |
| + ;; |
| + AIX*) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + RUNSHARED=LIBPATH=`pwd`${LIBPATH:+:${LIBPATH}} |
| + ;; |
| + |
| + esac |
| +else # shared is disabled |
| + PY_ENABLE_SHARED=0 |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + BLDLIBRARY='$(LIBRARY)' |
| + LDLIBRARY='libpython$(LDVERSION).dll.a' |
| + ;; |
| + esac |
| +fi |
| + |
| +if test "$cross_compiling" = yes; then |
| + RUNSHARED= |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDLIBRARY" >&5 |
| +$as_echo "$LDLIBRARY" >&6; } |
| + |
| + |
| +if test -n "$ac_tool_prefix"; then |
| + for ac_prog in ar aal |
| + do |
| + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. |
| +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_AR+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$AR"; then |
| + ac_cv_prog_AR="$AR" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +AR=$ac_cv_prog_AR |
| +if test -n "$AR"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 |
| +$as_echo "$AR" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$AR" && break |
| + done |
| +fi |
| +if test -z "$AR"; then |
| + ac_ct_AR=$AR |
| + for ac_prog in ar aal |
| +do |
| + # Extract the first word of "$ac_prog", so it can be a program name with args. |
| +set dummy $ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_ac_ct_AR+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$ac_ct_AR"; then |
| + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_ac_ct_AR="$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +ac_ct_AR=$ac_cv_prog_ac_ct_AR |
| +if test -n "$ac_ct_AR"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 |
| +$as_echo "$ac_ct_AR" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$ac_ct_AR" && break |
| +done |
| + |
| + if test "x$ac_ct_AR" = x; then |
| + AR="ar" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + AR=$ac_ct_AR |
| + fi |
| +fi |
| + |
| + |
| +# tweak ARFLAGS only if the user didn't set it on the command line |
| + |
| +if test -z "$ARFLAGS" |
| +then |
| + ARFLAGS="rcs" |
| +fi |
| + |
| +if test -n "$ac_tool_prefix"; then |
| + for ac_prog in readelf |
| + do |
| + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. |
| +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_READELF+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$READELF"; then |
| + ac_cv_prog_READELF="$READELF" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_READELF="$ac_tool_prefix$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +READELF=$ac_cv_prog_READELF |
| +if test -n "$READELF"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5 |
| +$as_echo "$READELF" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$READELF" && break |
| + done |
| +fi |
| +if test -z "$READELF"; then |
| + ac_ct_READELF=$READELF |
| + for ac_prog in readelf |
| +do |
| + # Extract the first word of "$ac_prog", so it can be a program name with args. |
| +set dummy $ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_ac_ct_READELF+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$ac_ct_READELF"; then |
| + ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_ac_ct_READELF="$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +ac_ct_READELF=$ac_cv_prog_ac_ct_READELF |
| +if test -n "$ac_ct_READELF"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5 |
| +$as_echo "$ac_ct_READELF" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$ac_ct_READELF" && break |
| +done |
| + |
| + if test "x$ac_ct_READELF" = x; then |
| + READELF=":" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + READELF=$ac_ct_READELF |
| + fi |
| +fi |
| + |
| +if test "$cross_compiling" = yes; then |
| + case "$READELF" in |
| + readelf|:) |
| + as_fn_error $? "readelf for the host is required for cross builds" "$LINENO" 5 |
| + ;; |
| + esac |
| +fi |
| + |
| + |
| + |
| +case $MACHDEP in |
| +hp*|HP*) |
| + # install -d does not work on HP-UX |
| + if test -z "$INSTALL" |
| + then |
| + INSTALL="${srcdir}/install-sh -c" |
| + fi |
| +esac |
| +# Find a good install program. We prefer a C program (faster), |
| +# so one script is as good as another. But avoid the broken or |
| +# incompatible versions: |
| +# SysV /etc/install, /usr/sbin/install |
| +# SunOS /usr/etc/install |
| +# IRIX /sbin/install |
| +# AIX /bin/install |
| +# AmigaOS /C/install, which installs bootblocks on floppy discs |
| +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag |
| +# AFS /usr/afsws/bin/install, which mishandles nonexistent args |
| +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" |
| +# OS/2's system install, which has a completely different semantic |
| +# ./install, which can be erroneously created by make from ./install.sh. |
| +# Reject install programs that cannot install multiple files. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 |
| +$as_echo_n "checking for a BSD-compatible install... " >&6; } |
| +if test -z "$INSTALL"; then |
| +if ${ac_cv_path_install+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + # Account for people who put trailing slashes in PATH elements. |
| +case $as_dir/ in #(( |
| + ./ | .// | /[cC]/* | \ |
| + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ |
| + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ |
| + /usr/ucb/* ) ;; |
| + *) |
| + # OSF1 and SCO ODT 3.0 have their own names for install. |
| + # Don't use installbsd from OSF since it installs stuff as root |
| + # by default. |
| + for ac_prog in ginstall scoinst install; do |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then |
| + if test $ac_prog = install && |
| + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then |
| + # AIX install. It has an incompatible calling convention. |
| + : |
| + elif test $ac_prog = install && |
| + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then |
| + # program-specific install script used by HP pwplus--don't use. |
| + : |
| + else |
| + rm -rf conftest.one conftest.two conftest.dir |
| + echo one > conftest.one |
| + echo two > conftest.two |
| + mkdir conftest.dir |
| + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && |
| + test -s conftest.one && test -s conftest.two && |
| + test -s conftest.dir/conftest.one && |
| + test -s conftest.dir/conftest.two |
| + then |
| + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" |
| + break 3 |
| + fi |
| + fi |
| + fi |
| + done |
| + done |
| + ;; |
| +esac |
| + |
| + done |
| +IFS=$as_save_IFS |
| + |
| +rm -rf conftest.one conftest.two conftest.dir |
| + |
| +fi |
| + if test "${ac_cv_path_install+set}" = set; then |
| + INSTALL=$ac_cv_path_install |
| + else |
| + # As a last resort, use the slow shell script. Don't cache a |
| + # value for INSTALL within a source directory, because that will |
| + # break other packages using the cache if that directory is |
| + # removed, or if the value is a relative name. |
| + INSTALL=$ac_install_sh |
| + fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 |
| +$as_echo "$INSTALL" >&6; } |
| + |
| +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. |
| +# It thinks the first close brace ends the variable substitution. |
| +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' |
| + |
| +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' |
| + |
| +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 |
| +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } |
| +if test -z "$MKDIR_P"; then |
| + if ${ac_cv_path_mkdir+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_prog in mkdir gmkdir; do |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue |
| + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( |
| + 'mkdir (GNU coreutils) '* | \ |
| + 'mkdir (coreutils) '* | \ |
| + 'mkdir (fileutils) '4.1*) |
| + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext |
| + break 3;; |
| + esac |
| + done |
| + done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| + |
| + test -d ./--version && rmdir ./--version |
| + if test "${ac_cv_path_mkdir+set}" = set; then |
| + MKDIR_P="$ac_cv_path_mkdir -p" |
| + else |
| + # As a last resort, use the slow shell script. Don't cache a |
| + # value for MKDIR_P within a source directory, because that will |
| + # break other packages using the cache if that directory is |
| + # removed, or if the value is a relative name. |
| + MKDIR_P="$ac_install_sh -d" |
| + fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 |
| +$as_echo "$MKDIR_P" >&6; } |
| + |
| + |
| +# Not every filesystem supports hard links |
| + |
| +if test -z "$LN" ; then |
| + case $ac_sys_system in |
| + CYGWIN*) LN="ln -s";; |
| + *) LN=ln;; |
| + esac |
| +fi |
| + |
| +# For calculating the .so ABI tag. |
| + |
| +ABIFLAGS="" |
| + |
| +# Check for --with-pydebug |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-pydebug" >&5 |
| +$as_echo_n "checking for --with-pydebug... " >&6; } |
| + |
| +# Check whether --with-pydebug was given. |
| +if test "${with_pydebug+set}" = set; then : |
| + withval=$with_pydebug; |
| +if test "$withval" != no |
| +then |
| + |
| +$as_echo "#define Py_DEBUG 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; }; |
| + Py_DEBUG='true' |
| + ABIFLAGS="${ABIFLAGS}d" |
| +else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; }; Py_DEBUG='false' |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +# Check for --with-trace-refs |
| +# --with-trace-refs |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-trace-refs" >&5 |
| +$as_echo_n "checking for --with-trace-refs... " >&6; } |
| + |
| +# Check whether --with-trace-refs was given. |
| +if test "${with_trace_refs+set}" = set; then : |
| + withval=$with_trace_refs; |
| +else |
| + with_trace_refs=no |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_trace_refs" >&5 |
| +$as_echo "$with_trace_refs" >&6; } |
| + |
| +if test "$with_trace_refs" = "yes" |
| +then |
| + |
| +$as_echo "#define Py_TRACE_REFS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Check for --with-assertions. |
| +# This allows enabling assertions without Py_DEBUG. |
| +assertions='false' |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-assertions" >&5 |
| +$as_echo_n "checking for --with-assertions... " >&6; } |
| + |
| +# Check whether --with-assertions was given. |
| +if test "${with_assertions+set}" = set; then : |
| + withval=$with_assertions; |
| +if test "$withval" != no |
| +then |
| + assertions='true' |
| +fi |
| +fi |
| + |
| +if test "$assertions" = 'true'; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +elif test "$Py_DEBUG" = 'true'; then |
| + assertions='true' |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: implied by --with-pydebug" >&5 |
| +$as_echo "implied by --with-pydebug" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| +# Enable optimization flags |
| + |
| + |
| +Py_OPT='false' |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-optimizations" >&5 |
| +$as_echo_n "checking for --enable-optimizations... " >&6; } |
| +# Check whether --enable-optimizations was given. |
| +if test "${enable_optimizations+set}" = set; then : |
| + enableval=$enable_optimizations; |
| +if test "$enableval" != no |
| +then |
| + Py_OPT='true' |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; }; |
| +else |
| + Py_OPT='false' |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; }; |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| +if test "$Py_OPT" = 'true' ; then |
| + # Intentionally not forcing Py_LTO='true' here. Too many toolchains do not |
| + # compile working code using it and both test_distutils and test_gdb are |
| + # broken when you do manage to get a toolchain that works with it. People |
| + # who want LTO need to use --with-lto themselves. |
| + DEF_MAKE_ALL_RULE="profile-opt" |
| + REQUIRE_PGO="yes" |
| + DEF_MAKE_RULE="build_all" |
| + case $CC in |
| + *gcc*) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-semantic-interposition" >&5 |
| +$as_echo_n "checking whether C compiler accepts -fno-semantic-interposition... " >&6; } |
| +if ${ax_cv_check_cflags___fno_semantic_interposition+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| + ax_check_save_flags=$CFLAGS |
| + CFLAGS="$CFLAGS -fno-semantic-interposition" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ax_cv_check_cflags___fno_semantic_interposition=yes |
| +else |
| + ax_cv_check_cflags___fno_semantic_interposition=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + CFLAGS=$ax_check_save_flags |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_semantic_interposition" >&5 |
| +$as_echo "$ax_cv_check_cflags___fno_semantic_interposition" >&6; } |
| +if test "x$ax_cv_check_cflags___fno_semantic_interposition" = xyes; then : |
| + |
| + CFLAGS_NODIST="$CFLAGS_NODIST -fno-semantic-interposition" |
| + LDFLAGS_NODIST="$LDFLAGS_NODIST -fno-semantic-interposition" |
| + |
| +else |
| + : |
| +fi |
| + |
| + ;; |
| + esac |
| + |
| + |
| +else |
| + DEF_MAKE_ALL_RULE="build_all" |
| + REQUIRE_PGO="no" |
| + DEF_MAKE_RULE="all" |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking PROFILE_TASK" >&5 |
| +$as_echo_n "checking PROFILE_TASK... " >&6; } |
| +if test -z "$PROFILE_TASK" |
| +then |
| + PROFILE_TASK='-m test --pgo --timeout=$(TESTTIMEOUT)' |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PROFILE_TASK" >&5 |
| +$as_echo "$PROFILE_TASK" >&6; } |
| + |
| +# Make llvm-relatec checks work on systems where llvm tools are not installed with their |
| +# normal names in the default $PATH (ie: Ubuntu). They exist under the |
| +# non-suffixed name in their versioned llvm directory. |
| + |
| +llvm_bin_dir='' |
| +llvm_path="${PATH}" |
| +if test "${CC}" = "clang" |
| +then |
| + clang_bin=`which clang` |
| + # Some systems install clang elsewhere as a symlink to the real path |
| + # which is where the related llvm tools are located. |
| + if test -L "${clang_bin}" |
| + then |
| + clang_dir=`dirname "${clang_bin}"` |
| + clang_bin=`readlink "${clang_bin}"` |
| + llvm_bin_dir="${clang_dir}/"`dirname "${clang_bin}"` |
| + llvm_path="${llvm_path}${PATH_SEPARATOR}${llvm_bin_dir}" |
| + fi |
| +fi |
| + |
| +# Enable LTO flags |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-lto" >&5 |
| +$as_echo_n "checking for --with-lto... " >&6; } |
| + |
| +# Check whether --with-lto was given. |
| +if test "${with_lto+set}" = set; then : |
| + withval=$with_lto; |
| +if test "$withval" != no |
| +then |
| + Py_LTO='true' |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; }; |
| +else |
| + Py_LTO='false' |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; }; |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| +if test "$Py_LTO" = 'true' ; then |
| + case $CC in |
| + *clang*) |
| + |
| + if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}llvm-ar", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}llvm-ar; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_LLVM_AR+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $LLVM_AR in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_LLVM_AR="$LLVM_AR" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in ${llvm_path} |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_LLVM_AR="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +LLVM_AR=$ac_cv_path_LLVM_AR |
| +if test -n "$LLVM_AR"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LLVM_AR" >&5 |
| +$as_echo "$LLVM_AR" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_path_LLVM_AR"; then |
| + ac_pt_LLVM_AR=$LLVM_AR |
| + # Extract the first word of "llvm-ar", so it can be a program name with args. |
| +set dummy llvm-ar; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_ac_pt_LLVM_AR+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $ac_pt_LLVM_AR in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_ac_pt_LLVM_AR="$ac_pt_LLVM_AR" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in ${llvm_path} |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_ac_pt_LLVM_AR="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +ac_pt_LLVM_AR=$ac_cv_path_ac_pt_LLVM_AR |
| +if test -n "$ac_pt_LLVM_AR"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LLVM_AR" >&5 |
| +$as_echo "$ac_pt_LLVM_AR" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_pt_LLVM_AR" = x; then |
| + LLVM_AR="''" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + LLVM_AR=$ac_pt_LLVM_AR |
| + fi |
| +else |
| + LLVM_AR="$ac_cv_path_LLVM_AR" |
| +fi |
| + |
| + |
| + if test -n "${LLVM_AR}" -a -x "${LLVM_AR}" |
| + then |
| + LLVM_AR_FOUND="found" |
| + else |
| + LLVM_AR_FOUND="not-found" |
| + fi |
| + if test "$ac_sys_system" = "Darwin" -a "${LLVM_AR_FOUND}" = "not-found" |
| + then |
| + # The Apple-supplied ar in Xcode or the Command Line Tools is apparently sufficient |
| + found_llvm_ar=`/usr/bin/xcrun -find ar 2>/dev/null` |
| + if test -n "${found_llvm_ar}" |
| + then |
| + LLVM_AR='/usr/bin/xcrun ar' |
| + LLVM_AR_FOUND=found |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: llvm-ar found via xcrun: ${LLVM_AR}" >&5 |
| +$as_echo "$as_me: llvm-ar found via xcrun: ${LLVM_AR}" >&6;} |
| + fi |
| + fi |
| + if test $LLVM_AR_FOUND = not-found |
| + then |
| + LLVM_PROFR_ERR=yes |
| + as_fn_error $? "llvm-ar is required for a --with-lto build with clang but could not be found." "$LINENO" 5 |
| + else |
| + LLVM_AR_ERR=no |
| + fi |
| + AR="${LLVM_AR}" |
| + case $ac_sys_system in |
| + Darwin*) |
| + # Any changes made here should be reflected in the GCC+Darwin case below |
| + LTOFLAGS="-flto -Wl,-export_dynamic" |
| + LTOCFLAGS="-flto" |
| + ;; |
| + *) |
| + LTOFLAGS="-flto" |
| + ;; |
| + esac |
| + ;; |
| + *gcc*) |
| + case $ac_sys_system in |
| + Darwin*) |
| + LTOFLAGS="-flto -Wl,-export_dynamic" |
| + LTOCFLAGS="-flto" |
| + ;; |
| + *) |
| + LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none" |
| + ;; |
| + esac |
| + ;; |
| + esac |
| + |
| + if test "$ac_cv_prog_cc_g" = "yes" |
| + then |
| + # bpo-30345: Add -g to LDFLAGS when compiling with LTO |
| + # to get debug symbols. |
| + LTOFLAGS="$LTOFLAGS -g" |
| + fi |
| + |
| + CFLAGS_NODIST="$CFLAGS_NODIST ${LTOCFLAGS-$LTOFLAGS}" |
| + LDFLAGS_NODIST="$LDFLAGS_NODIST $LTOFLAGS" |
| +fi |
| + |
| +# Enable PGO flags. |
| + |
| + |
| + |
| + |
| + |
| + |
| +if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}llvm-profdata", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}llvm-profdata; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_LLVM_PROFDATA+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $LLVM_PROFDATA in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_LLVM_PROFDATA="$LLVM_PROFDATA" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in ${llvm_path} |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_LLVM_PROFDATA="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +LLVM_PROFDATA=$ac_cv_path_LLVM_PROFDATA |
| +if test -n "$LLVM_PROFDATA"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LLVM_PROFDATA" >&5 |
| +$as_echo "$LLVM_PROFDATA" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_path_LLVM_PROFDATA"; then |
| + ac_pt_LLVM_PROFDATA=$LLVM_PROFDATA |
| + # Extract the first word of "llvm-profdata", so it can be a program name with args. |
| +set dummy llvm-profdata; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_ac_pt_LLVM_PROFDATA+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $ac_pt_LLVM_PROFDATA in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_ac_pt_LLVM_PROFDATA="$ac_pt_LLVM_PROFDATA" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in ${llvm_path} |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_ac_pt_LLVM_PROFDATA="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +ac_pt_LLVM_PROFDATA=$ac_cv_path_ac_pt_LLVM_PROFDATA |
| +if test -n "$ac_pt_LLVM_PROFDATA"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LLVM_PROFDATA" >&5 |
| +$as_echo "$ac_pt_LLVM_PROFDATA" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_pt_LLVM_PROFDATA" = x; then |
| + LLVM_PROFDATA="''" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + LLVM_PROFDATA=$ac_pt_LLVM_PROFDATA |
| + fi |
| +else |
| + LLVM_PROFDATA="$ac_cv_path_LLVM_PROFDATA" |
| +fi |
| + |
| + |
| +if test -n "${LLVM_PROFDATA}" -a -x "${LLVM_PROFDATA}" |
| +then |
| + LLVM_PROF_FOUND="found" |
| +else |
| + LLVM_PROF_FOUND="not-found" |
| +fi |
| +if test "$ac_sys_system" = "Darwin" -a "${LLVM_PROF_FOUND}" = "not-found" |
| +then |
| + found_llvm_profdata=`/usr/bin/xcrun -find llvm-profdata 2>/dev/null` |
| + if test -n "${found_llvm_profdata}" |
| + then |
| + # llvm-profdata isn't directly in $PATH in some cases. |
| + # https://apple.stackexchange.com/questions/197053/ |
| + LLVM_PROFDATA='/usr/bin/xcrun llvm-profdata' |
| + LLVM_PROF_FOUND=found |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: llvm-profdata found via xcrun: ${LLVM_PROFDATA}" >&5 |
| +$as_echo "$as_me: llvm-profdata found via xcrun: ${LLVM_PROFDATA}" >&6;} |
| + fi |
| +fi |
| +LLVM_PROF_ERR=no |
| +case $CC in |
| + *clang*) |
| + # Any changes made here should be reflected in the GCC+Darwin case below |
| + PGO_PROF_GEN_FLAG="-fprofile-instr-generate" |
| + PGO_PROF_USE_FLAG="-fprofile-instr-use=code.profclangd" |
| + LLVM_PROF_MERGER="${LLVM_PROFDATA} merge -output=code.profclangd *.profclangr" |
| + LLVM_PROF_FILE="LLVM_PROFILE_FILE=\"code-%p.profclangr\"" |
| + if test $LLVM_PROF_FOUND = not-found |
| + then |
| + LLVM_PROF_ERR=yes |
| + if test "${REQUIRE_PGO}" = "yes" |
| + then |
| + as_fn_error $? "llvm-profdata is required for a --enable-optimizations build but could not be found." "$LINENO" 5 |
| + fi |
| + fi |
| + ;; |
| + *gcc*) |
| + case $ac_sys_system in |
| + Darwin*) |
| + PGO_PROF_GEN_FLAG="-fprofile-instr-generate" |
| + PGO_PROF_USE_FLAG="-fprofile-instr-use=code.profclangd" |
| + LLVM_PROF_MERGER="${LLVM_PROFDATA} merge -output=code.profclangd *.profclangr" |
| + LLVM_PROF_FILE="LLVM_PROFILE_FILE=\"code-%p.profclangr\"" |
| + if test "${LLVM_PROF_FOUND}" = "not-found" |
| + then |
| + LLVM_PROF_ERR=yes |
| + if test "${REQUIRE_PGO}" = "yes" |
| + then |
| + as_fn_error $? "llvm-profdata is required for a --enable-optimizations build but could not be found." "$LINENO" 5 |
| + fi |
| + fi |
| + ;; |
| + *) |
| + PGO_PROF_GEN_FLAG="-fprofile-generate" |
| + PGO_PROF_USE_FLAG="-fprofile-use -fprofile-correction" |
| + LLVM_PROF_MERGER="true" |
| + LLVM_PROF_FILE="" |
| + ;; |
| + esac |
| + ;; |
| + *icc*) |
| + PGO_PROF_GEN_FLAG="-prof-gen" |
| + PGO_PROF_USE_FLAG="-prof-use" |
| + LLVM_PROF_MERGER="true" |
| + LLVM_PROF_FILE="" |
| + ;; |
| +esac |
| + |
| +# XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be |
| +# merged with this chunk of code? |
| + |
| +# Optimizer/debugger flags |
| +# ------------------------ |
| +# (The following bit of code is complicated enough - please keep things |
| +# indented properly. Just pretend you're editing Python code. ;-) |
| + |
| +# There are two parallel sets of case statements below, one that checks to |
| +# see if OPT was set and one that does BASECFLAGS setting based upon |
| +# compiler and platform. BASECFLAGS tweaks need to be made even if the |
| +# user set OPT. |
| + |
| +case $CC in |
| + *clang*) |
| + cc_is_clang=1 |
| + ;; |
| + *) |
| + if $CC --version 2>&1 | grep -q clang |
| + then |
| + cc_is_clang=1 |
| + else |
| + cc_is_clang= |
| + fi |
| +esac |
| + |
| +# tweak OPT based on compiler and platform, only if the user didn't set |
| +# it on the command line |
| + |
| + |
| +if test "${OPT-unset}" = "unset" |
| +then |
| + case $GCC in |
| + yes) |
| + # For gcc 4.x we need to use -fwrapv so lets check if its supported |
| + if "$CC" -v --help 2>/dev/null |grep -- -fwrapv > /dev/null; then |
| + WRAP="-fwrapv" |
| + fi |
| + |
| + if test -n "${cc_is_clang}" |
| + then |
| + # Clang also needs -fwrapv |
| + WRAP="-fwrapv" |
| + # bpo-30104: disable strict aliasing to compile correctly dtoa.c, |
| + # see Makefile.pre.in for more information |
| + CFLAGS_ALIASING="-fno-strict-aliasing" |
| + fi |
| + |
| + case $ac_cv_prog_cc_g in |
| + yes) |
| + if test "$Py_DEBUG" = 'true' ; then |
| + # Optimization messes up debuggers, so turn it off for |
| + # debug builds. |
| + if "$CC" -v --help 2>/dev/null |grep -- -Og > /dev/null; then |
| + OPT="-g -Og -Wall" |
| + else |
| + OPT="-g -O0 -Wall" |
| + fi |
| + else |
| + OPT="-g $WRAP -O3 -Wall" |
| + fi |
| + ;; |
| + *) |
| + OPT="-O3 -Wall" |
| + ;; |
| + esac |
| + |
| + case $ac_sys_system in |
| + SCO_SV*) OPT="$OPT -m486 -DSCO5" |
| + ;; |
| + esac |
| + ;; |
| + |
| + *) |
| + OPT="-O" |
| + ;; |
| + esac |
| +fi |
| + |
| + |
| + |
| + |
| + |
| +# The -arch flags for universal builds on macOS |
| +UNIVERSAL_ARCH_FLAGS= |
| + |
| + |
| +# tweak BASECFLAGS based on compiler and platform |
| +case $GCC in |
| +yes) |
| + CFLAGS_NODIST="$CFLAGS_NODIST -std=c99" |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra" >&5 |
| +$as_echo_n "checking for -Wextra... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Wextra -Werror" |
| + if ${ac_cv_extra_warnings+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_extra_warnings=yes |
| + |
| +else |
| + |
| + ac_cv_extra_warnings=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_extra_warnings" >&5 |
| +$as_echo "$ac_cv_extra_warnings" >&6; } |
| + |
| + if test $ac_cv_extra_warnings = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wextra" |
| + fi |
| + |
| + # Python doesn't violate C99 aliasing rules, but older versions of |
| + # GCC produce warnings for legal Python code. Enable |
| + # -fno-strict-aliasing on versions of GCC that support but produce |
| + # warnings. See Issue3326 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts and needs -fno-strict-aliasing" >&5 |
| +$as_echo_n "checking whether $CC accepts and needs -fno-strict-aliasing... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -fno-strict-aliasing" |
| + save_CFLAGS="$CFLAGS" |
| + if ${ac_cv_no_strict_aliasing+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + CC="$ac_save_cc -fstrict-aliasing" |
| + CFLAGS="$CFLAGS -Werror -Wstrict-aliasing" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + void f(int **x) {} |
| +int |
| +main () |
| +{ |
| +double *x; f((int **) &x); |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_no_strict_aliasing=no |
| + |
| +else |
| + |
| + ac_cv_no_strict_aliasing=yes |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +else |
| + |
| + ac_cv_no_strict_aliasing=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_no_strict_aliasing" >&5 |
| +$as_echo "$ac_cv_no_strict_aliasing" >&6; } |
| + if test $ac_cv_no_strict_aliasing = yes |
| + then |
| + BASECFLAGS="$BASECFLAGS -fno-strict-aliasing" |
| + fi |
| + |
| + # ICC doesn't recognize the option, but only emits a warning |
| + ## XXX does it emit an unused result warning and can it be disabled? |
| + case "$CC" in |
| + *icc*) |
| + ac_cv_disable_unused_result_warning=no |
| + ;; |
| + *) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can turn off $CC unused result warning" >&5 |
| +$as_echo_n "checking if we can turn off $CC unused result warning... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Wunused-result -Werror" |
| + save_CFLAGS="$CFLAGS" |
| + if ${ac_cv_disable_unused_result_warning+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_disable_unused_result_warning=yes |
| + |
| +else |
| + |
| + ac_cv_disable_unused_result_warning=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_disable_unused_result_warning" >&5 |
| +$as_echo "$ac_cv_disable_unused_result_warning" >&6; } |
| + ;; |
| + esac |
| + |
| + if test $ac_cv_disable_unused_result_warning = yes |
| + then |
| + BASECFLAGS="$BASECFLAGS -Wno-unused-result" |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-unused-result" |
| + fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can turn off $CC unused parameter warning" >&5 |
| +$as_echo_n "checking if we can turn off $CC unused parameter warning... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Wunused-parameter -Werror" |
| + if ${ac_cv_disable_unused_parameter_warning+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_disable_unused_parameter_warning=yes |
| + |
| +else |
| + |
| + ac_cv_disable_unused_parameter_warning=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_disable_unused_parameter_warning" >&5 |
| +$as_echo "$ac_cv_disable_unused_parameter_warning" >&6; } |
| + |
| + if test $ac_cv_disable_unused_parameter_warning = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-unused-parameter" |
| + fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can turn off $CC missing field initializers warning" >&5 |
| +$as_echo_n "checking if we can turn off $CC missing field initializers warning... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Wmissing-field-initializers -Werror" |
| + if ${ac_cv_disable_missing_field_initializers+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_disable_missing_field_initializers=yes |
| + |
| +else |
| + |
| + ac_cv_disable_missing_field_initializers=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_disable_missing_field_initializers" >&5 |
| +$as_echo "$ac_cv_disable_missing_field_initializers" >&6; } |
| + |
| + if test $ac_cv_disable_missing_field_initializers = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-missing-field-initializers" |
| + fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can turn on $CC mixed sign comparison warning" >&5 |
| +$as_echo_n "checking if we can turn on $CC mixed sign comparison warning... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Wsign-compare" |
| + save_CFLAGS="$CFLAGS" |
| + if ${ac_cv_enable_sign_compare_warning+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_enable_sign_compare_warning=yes |
| + |
| +else |
| + |
| + ac_cv_enable_sign_compare_warning=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_sign_compare_warning" >&5 |
| +$as_echo "$ac_cv_enable_sign_compare_warning" >&6; } |
| + |
| + if test $ac_cv_enable_sign_compare_warning = yes |
| + then |
| + BASECFLAGS="$BASECFLAGS -Wsign-compare" |
| + fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can turn on $CC unreachable code warning" >&5 |
| +$as_echo_n "checking if we can turn on $CC unreachable code warning... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Wunreachable-code" |
| + save_CFLAGS="$CFLAGS" |
| + if ${ac_cv_enable_unreachable_code_warning+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_enable_unreachable_code_warning=yes |
| + |
| +else |
| + |
| + ac_cv_enable_unreachable_code_warning=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + |
| + # Don't enable unreachable code warning in debug mode, since it usually |
| + # results in non-standard code paths. |
| + # Issue #24324: Unfortunately, the unreachable code warning does not work |
| + # correctly on gcc and has been silently removed from the compiler. |
| + # It is supported on clang but on OS X systems gcc may be an alias |
| + # for clang. Try to determine if the compiler is not really gcc and, |
| + # if so, only then enable the warning. |
| + if test $ac_cv_enable_unreachable_code_warning = yes && \ |
| + test "$Py_DEBUG" != "true" && \ |
| + test -z "`$CC --version 2>/dev/null | grep 'Free Software Foundation'`" |
| + then |
| + BASECFLAGS="$BASECFLAGS -Wunreachable-code" |
| + else |
| + ac_cv_enable_unreachable_code_warning=no |
| + fi |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_unreachable_code_warning" >&5 |
| +$as_echo "$ac_cv_enable_unreachable_code_warning" >&6; } |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can turn on $CC strict-prototypes warning" >&5 |
| +$as_echo_n "checking if we can turn on $CC strict-prototypes warning... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Werror -Wstrict-prototypes" |
| + if ${ac_cv_enable_enable_strict_prototypes_warning+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_enable_strict_prototypes_warning=yes |
| + |
| +else |
| + |
| + ac_cv_enable_strict_prototypes_warning=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_strict_prototypes_warning" >&5 |
| +$as_echo "$ac_cv_enable_strict_prototypes_warning" >&6; } |
| + |
| + if test $ac_cv_enable_strict_prototypes_warning = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wstrict-prototypes" |
| + fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can make implicit function declaration an error in $CC" >&5 |
| +$as_echo_n "checking if we can make implicit function declaration an error in $CC... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -Werror=implicit-function-declaration" |
| + if ${ac_cv_enable_implicit_function_declaration_error+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_enable_implicit_function_declaration_error=yes |
| + |
| +else |
| + |
| + ac_cv_enable_implicit_function_declaration_error=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_implicit_function_declaration_error" >&5 |
| +$as_echo "$ac_cv_enable_implicit_function_declaration_error" >&6; } |
| + |
| + if test $ac_cv_enable_implicit_function_declaration_error = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Werror=implicit-function-declaration" |
| + fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can use visibility in $CC" >&5 |
| +$as_echo_n "checking if we can use visibility in $CC... " >&6; } |
| + ac_save_cc="$CC" |
| + CC="$CC -fvisibility=hidden" |
| + if ${ac_cv_enable_visibility+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + ac_cv_enable_visibility=yes |
| + |
| +else |
| + |
| + ac_cv_enable_visibility=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| + CC="$ac_save_cc" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_visibility" >&5 |
| +$as_echo "$ac_cv_enable_visibility" >&6; } |
| + |
| + if test $ac_cv_enable_visibility = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -fvisibility=hidden" |
| + fi |
| + |
| + # if using gcc on alpha, use -mieee to get (near) full IEEE 754 |
| + # support. Without this, treatment of subnormals doesn't follow |
| + # the standard. |
| + case $host in |
| + alpha*) |
| + BASECFLAGS="$BASECFLAGS -mieee" |
| + ;; |
| + esac |
| + |
| + case $ac_sys_system in |
| + SCO_SV*) |
| + BASECFLAGS="$BASECFLAGS -m486 -DSCO5" |
| + ;; |
| + |
| + Darwin*) |
| + # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd |
| + # used to be here, but non-Apple gcc doesn't accept them. |
| + if test "${CC}" = gcc |
| + then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 |
| +$as_echo_n "checking which compiler should be used... " >&6; } |
| + case "${UNIVERSALSDK}" in |
| + */MacOSX10.4u.sdk) |
| + # Build using 10.4 SDK, force usage of gcc when the |
| + # compiler is gcc, otherwise the user will get very |
| + # confusing error messages when building on OSX 10.6 |
| + CC=gcc-4.0 |
| + CPP=cpp-4.0 |
| + ;; |
| + esac |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
| +$as_echo "$CC" >&6; } |
| + fi |
| + |
| + LIPO_INTEL64_FLAGS="" |
| + if test "${enable_universalsdk}" |
| + then |
| + case "$UNIVERSAL_ARCHS" in |
| + 32-bit) |
| + UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="" |
| + ;; |
| + 64-bit) |
| + UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="true" |
| + ;; |
| + all) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" |
| + LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" |
| + ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" |
| + ;; |
| + universal2) |
| + UNIVERSAL_ARCH_FLAGS="-arch arm64 -arch x86_64" |
| + LIPO_32BIT_FLAGS="" |
| + LIPO_INTEL64_FLAGS="-extract x86_64" |
| + ARCH_RUN_32BIT="true" |
| + ;; |
| + intel) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" |
| + LIPO_32BIT_FLAGS="-extract i386" |
| + ARCH_RUN_32BIT="/usr/bin/arch -i386" |
| + ;; |
| + intel-32) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="" |
| + ;; |
| + intel-64) |
| + UNIVERSAL_ARCH_FLAGS="-arch x86_64" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="true" |
| + ;; |
| + 3-way) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" |
| + LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" |
| + ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" |
| + ;; |
| + *) |
| + as_fn_error $? "proper usage is --with-universal-arch=universal2|32-bit|64-bit|all|intel|3-way" "$LINENO" 5 |
| + ;; |
| + esac |
| + |
| + if test "${UNIVERSALSDK}" != "/" |
| + then |
| + CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" |
| + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}" |
| + CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" |
| + else |
| + CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}" |
| + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} ${LDFLAGS}" |
| + fi |
| + fi |
| + |
| + # Calculate an appropriate deployment target for this build: |
| + # The deployment target value is used explicitly to enable certain |
| + # features are enabled (such as builtin libedit support for readline) |
| + # through the use of Apple's Availability Macros and is used as a |
| + # component of the string returned by distutils.get_platform(). |
| + # |
| + # Use the value from: |
| + # 1. the MACOSX_DEPLOYMENT_TARGET environment variable if specified |
| + # 2. the operating system version of the build machine if >= 10.6 |
| + # 3. If running on OS X 10.3 through 10.5, use the legacy tests |
| + # below to pick either 10.3, 10.4, or 10.5 as the target. |
| + # 4. If we are running on OS X 10.2 or earlier, good luck! |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which MACOSX_DEPLOYMENT_TARGET to use" >&5 |
| +$as_echo_n "checking which MACOSX_DEPLOYMENT_TARGET to use... " >&6; } |
| + cur_target_major=`sw_vers -productVersion | \ |
| + sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'` |
| + cur_target_minor=`sw_vers -productVersion | \ |
| + sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'` |
| + cur_target="${cur_target_major}.${cur_target_minor}" |
| + if test ${cur_target_major} -eq 10 && \ |
| + test ${cur_target_minor} -ge 3 && \ |
| + test ${cur_target_minor} -le 5 |
| + then |
| + # OS X 10.3 through 10.5 |
| + cur_target=10.3 |
| + if test ${enable_universalsdk} |
| + then |
| + case "$UNIVERSAL_ARCHS" in |
| + all|3-way|intel|64-bit) |
| + # These configurations were first supported in 10.5 |
| + cur_target='10.5' |
| + ;; |
| + esac |
| + else |
| + if test `/usr/bin/arch` = "i386" |
| + then |
| + # 10.4 was the first release to support Intel archs |
| + cur_target="10.4" |
| + fi |
| + fi |
| + fi |
| + CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}} |
| + |
| + # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the |
| + # environment with a value that is the same as what we'll use |
| + # in the Makefile to ensure that we'll get the same compiler |
| + # environment during configure and build time. |
| + MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" |
| + export MACOSX_DEPLOYMENT_TARGET |
| + EXPORT_MACOSX_DEPLOYMENT_TARGET='' |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MACOSX_DEPLOYMENT_TARGET" >&5 |
| +$as_echo "$MACOSX_DEPLOYMENT_TARGET" >&6; } |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if specified universal architectures work" >&5 |
| +$as_echo_n "checking if specified universal architectures work... " >&6; } |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdio.h> |
| +int |
| +main () |
| +{ |
| +printf("%d", 42); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + as_fn_error $? "check config.log and use the '--with-universal-archs' option" "$LINENO" 5 |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| + # end of Darwin* tests |
| + ;; |
| + esac |
| + ;; |
| + |
| +*) |
| + case $ac_sys_system in |
| + OpenUNIX*|UnixWare*) |
| + BASECFLAGS="$BASECFLAGS -K pentium,host,inline,loop_unroll,alloca " |
| + ;; |
| + SCO_SV*) |
| + BASECFLAGS="$BASECFLAGS -belf -Ki486 -DSCO5" |
| + ;; |
| + esac |
| + ;; |
| +esac |
| + |
| +case "$CC" in |
| +*icc*) |
| + # ICC needs -fp-model strict or floats behave badly |
| + CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict" |
| + ;; |
| +*xlc*) |
| + CFLAGS_NODIST="$CFLAGS_NODIST -qalias=noansi -qmaxmem=-1" |
| + ;; |
| +esac |
| + |
| +if test "$assertions" = 'true'; then |
| + : |
| +else |
| + OPT="-DNDEBUG $OPT" |
| +fi |
| + |
| +if test "$ac_arch_flags" |
| +then |
| + BASECFLAGS="$BASECFLAGS $ac_arch_flags" |
| +fi |
| + |
| +# On some compilers, pthreads are available without further options |
| +# (e.g. MacOS X). On some of these systems, the compiler will not |
| +# complain if unaccepted options are passed (e.g. gcc on Mac OS X). |
| +# So we have to see first whether pthreads are available without |
| +# options before we can check whether -Kpthread improves anything. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads are available without options" >&5 |
| +$as_echo_n "checking whether pthreads are available without options... " >&6; } |
| +if ${ac_cv_pthread_is_default+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_pthread_is_default=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + |
| + ac_cv_pthread_is_default=yes |
| + ac_cv_kthread=no |
| + ac_cv_pthread=no |
| + |
| +else |
| + ac_cv_pthread_is_default=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthread_is_default" >&5 |
| +$as_echo "$ac_cv_pthread_is_default" >&6; } |
| + |
| + |
| +if test $ac_cv_pthread_is_default = yes |
| +then |
| + ac_cv_kpthread=no |
| +else |
| +# -Kpthread, if available, provides the right #defines |
| +# and linker options to make pthread_create available |
| +# Some compilers won't report that they do not support -Kpthread, |
| +# so we need to run a program to see whether it really made the |
| +# function available. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -Kpthread" >&5 |
| +$as_echo_n "checking whether $CC accepts -Kpthread... " >&6; } |
| +if ${ac_cv_kpthread+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_save_cc="$CC" |
| +CC="$CC -Kpthread" |
| +if test "$cross_compiling" = yes; then : |
| + ac_cv_kpthread=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_kpthread=yes |
| +else |
| + ac_cv_kpthread=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +CC="$ac_save_cc" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_kpthread" >&5 |
| +$as_echo "$ac_cv_kpthread" >&6; } |
| +fi |
| + |
| +if test $ac_cv_kpthread = no -a $ac_cv_pthread_is_default = no |
| +then |
| +# -Kthread, if available, provides the right #defines |
| +# and linker options to make pthread_create available |
| +# Some compilers won't report that they do not support -Kthread, |
| +# so we need to run a program to see whether it really made the |
| +# function available. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -Kthread" >&5 |
| +$as_echo_n "checking whether $CC accepts -Kthread... " >&6; } |
| +if ${ac_cv_kthread+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_save_cc="$CC" |
| +CC="$CC -Kthread" |
| +if test "$cross_compiling" = yes; then : |
| + ac_cv_kthread=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_kthread=yes |
| +else |
| + ac_cv_kthread=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +CC="$ac_save_cc" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_kthread" >&5 |
| +$as_echo "$ac_cv_kthread" >&6; } |
| +fi |
| + |
| +if test $ac_cv_kthread = no -a $ac_cv_pthread_is_default = no |
| +then |
| +# -pthread, if available, provides the right #defines |
| +# and linker options to make pthread_create available |
| +# Some compilers won't report that they do not support -pthread, |
| +# so we need to run a program to see whether it really made the |
| +# function available. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -pthread" >&5 |
| +$as_echo_n "checking whether $CC accepts -pthread... " >&6; } |
| +if ${ac_cv_pthread+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_save_cc="$CC" |
| +CC="$CC -pthread" |
| +if test "$cross_compiling" = yes; then : |
| + ac_cv_pthread=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_pthread=yes |
| +else |
| + ac_cv_pthread=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +CC="$ac_save_cc" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthread" >&5 |
| +$as_echo "$ac_cv_pthread" >&6; } |
| +fi |
| + |
| +# If we have set a CC compiler flag for thread support then |
| +# check if it works for CXX, too. |
| +ac_cv_cxx_thread=no |
| +if test ! -z "$CXX" |
| +then |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX also accepts flags for thread support" >&5 |
| +$as_echo_n "checking whether $CXX also accepts flags for thread support... " >&6; } |
| +ac_save_cxx="$CXX" |
| + |
| +if test "$ac_cv_kpthread" = "yes" |
| +then |
| + CXX="$CXX -Kpthread" |
| + ac_cv_cxx_thread=yes |
| +elif test "$ac_cv_kthread" = "yes" |
| +then |
| + CXX="$CXX -Kthread" |
| + ac_cv_cxx_thread=yes |
| +elif test "$ac_cv_pthread" = "yes" |
| +then |
| + CXX="$CXX -pthread" |
| + ac_cv_cxx_thread=yes |
| +fi |
| + |
| +if test $ac_cv_cxx_thread = yes |
| +then |
| + echo 'void foo();int main(){foo();}void foo(){}' > conftest.$ac_ext |
| + $CXX -c conftest.$ac_ext 2>&5 |
| + if $CXX -o conftest$ac_exeext conftest.$ac_objext 2>&5 \ |
| + && test -s conftest$ac_exeext && ./conftest$ac_exeext |
| + then |
| + ac_cv_cxx_thread=yes |
| + else |
| + ac_cv_cxx_thread=no |
| + fi |
| + rm -fr conftest* |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_thread" >&5 |
| +$as_echo "$ac_cv_cxx_thread" >&6; } |
| +fi |
| +CXX="$ac_save_cxx" |
| + |
| + |
| +# checks for header files |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 |
| +$as_echo_n "checking for ANSI C header files... " >&6; } |
| +if ${ac_cv_header_stdc+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdlib.h> |
| +#include <stdarg.h> |
| +#include <string.h> |
| +#include <float.h> |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_header_stdc=yes |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +if test $ac_cv_header_stdc = yes; then |
| + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <string.h> |
| + |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "memchr" >/dev/null 2>&1; then : |
| + |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f conftest* |
| + |
| +fi |
| + |
| +if test $ac_cv_header_stdc = yes; then |
| + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdlib.h> |
| + |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "free" >/dev/null 2>&1; then : |
| + |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f conftest* |
| + |
| +fi |
| + |
| +if test $ac_cv_header_stdc = yes; then |
| + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. |
| + if test "$cross_compiling" = yes; then : |
| + : |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <ctype.h> |
| +#include <stdlib.h> |
| +#if ((' ' & 0x0FF) == 0x020) |
| +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') |
| +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) |
| +#else |
| +# define ISLOWER(c) \ |
| + (('a' <= (c) && (c) <= 'i') \ |
| + || ('j' <= (c) && (c) <= 'r') \ |
| + || ('s' <= (c) && (c) <= 'z')) |
| +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) |
| +#endif |
| + |
| +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) |
| +int |
| +main () |
| +{ |
| + int i; |
| + for (i = 0; i < 256; i++) |
| + if (XOR (islower (i), ISLOWER (i)) |
| + || toupper (i) != TOUPPER (i)) |
| + return 2; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + |
| +else |
| + ac_cv_header_stdc=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 |
| +$as_echo "$ac_cv_header_stdc" >&6; } |
| +if test $ac_cv_header_stdc = yes; then |
| + |
| +$as_echo "#define STDC_HEADERS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +for ac_header in asm/types.h crypt.h conio.h direct.h dlfcn.h errno.h \ |
| +fcntl.h grp.h \ |
| +ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ |
| +sched.h shadow.h signal.h stropts.h termios.h \ |
| +utime.h \ |
| +poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ |
| +sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ |
| +sys/kern_control.h sys/loadavg.h sys/lock.h sys/mkdev.h sys/modem.h \ |
| +sys/param.h sys/random.h sys/select.h sys/sendfile.h sys/socket.h sys/statvfs.h \ |
| +sys/stat.h sys/syscall.h sys/sys_domain.h sys/termio.h sys/time.h \ |
| +sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \ |
| +libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ |
| +linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \ |
| +sys/endian.h sys/sysmacros.h linux/auxvec.h sys/auxv.h linux/memfd.h linux/wait.h sys/memfd.h \ |
| +sys/mman.h sys/eventfd.h |
| +do : |
| + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
| +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| +ac_header_dirent=no |
| +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do |
| + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 |
| +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } |
| +if eval \${$as_ac_Header+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| +#include <$ac_hdr> |
| + |
| +int |
| +main () |
| +{ |
| +if ((DIR *) 0) |
| +return 0; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + eval "$as_ac_Header=yes" |
| +else |
| + eval "$as_ac_Header=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +eval ac_res=\$$as_ac_Header |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +ac_header_dirent=$ac_hdr; break |
| +fi |
| + |
| +done |
| +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. |
| +if test $ac_header_dirent = dirent.h; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 |
| +$as_echo_n "checking for library containing opendir... " >&6; } |
| +if ${ac_cv_search_opendir+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_func_search_save_LIBS=$LIBS |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char opendir (); |
| +int |
| +main () |
| +{ |
| +return opendir (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +for ac_lib in '' dir; do |
| + if test -z "$ac_lib"; then |
| + ac_res="none required" |
| + else |
| + ac_res=-l$ac_lib |
| + LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
| + fi |
| + if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_search_opendir=$ac_res |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext |
| + if ${ac_cv_search_opendir+:} false; then : |
| + break |
| +fi |
| +done |
| +if ${ac_cv_search_opendir+:} false; then : |
| + |
| +else |
| + ac_cv_search_opendir=no |
| +fi |
| +rm conftest.$ac_ext |
| +LIBS=$ac_func_search_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 |
| +$as_echo "$ac_cv_search_opendir" >&6; } |
| +ac_res=$ac_cv_search_opendir |
| +if test "$ac_res" != no; then : |
| + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
| + |
| +fi |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 |
| +$as_echo_n "checking for library containing opendir... " >&6; } |
| +if ${ac_cv_search_opendir+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_func_search_save_LIBS=$LIBS |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char opendir (); |
| +int |
| +main () |
| +{ |
| +return opendir (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +for ac_lib in '' x; do |
| + if test -z "$ac_lib"; then |
| + ac_res="none required" |
| + else |
| + ac_res=-l$ac_lib |
| + LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
| + fi |
| + if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_search_opendir=$ac_res |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext |
| + if ${ac_cv_search_opendir+:} false; then : |
| + break |
| +fi |
| +done |
| +if ${ac_cv_search_opendir+:} false; then : |
| + |
| +else |
| + ac_cv_search_opendir=no |
| +fi |
| +rm conftest.$ac_ext |
| +LIBS=$ac_func_search_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 |
| +$as_echo "$ac_cv_search_opendir" >&6; } |
| +ac_res=$ac_cv_search_opendir |
| +if test "$ac_res" != no; then : |
| + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
| + |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 |
| +$as_echo_n "checking whether sys/types.h defines makedev... " >&6; } |
| +if ${ac_cv_header_sys_types_h_makedev+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| +int |
| +main () |
| +{ |
| +return makedev(0, 0); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_header_sys_types_h_makedev=yes |
| +else |
| + ac_cv_header_sys_types_h_makedev=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5 |
| +$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } |
| + |
| +if test $ac_cv_header_sys_types_h_makedev = no; then |
| +ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" |
| +if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : |
| + |
| +$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + |
| + if test $ac_cv_header_sys_mkdev_h = no; then |
| + ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" |
| +if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : |
| + |
| +$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + fi |
| +fi |
| + |
| + |
| +# bluetooth/bluetooth.h has been known to not compile with -std=c99. |
| +# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294 |
| +SAVE_CFLAGS=$CFLAGS |
| +CFLAGS="-std=c99 $CFLAGS" |
| +for ac_header in bluetooth/bluetooth.h |
| +do : |
| + ac_fn_c_check_header_mongrel "$LINENO" "bluetooth/bluetooth.h" "ac_cv_header_bluetooth_bluetooth_h" "$ac_includes_default" |
| +if test "x$ac_cv_header_bluetooth_bluetooth_h" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_BLUETOOTH_BLUETOOTH_H 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| +CFLAGS=$SAVE_CFLAGS |
| + |
| +# On Darwin (OS X) net/if.h requires sys/socket.h to be imported first. |
| +for ac_header in net/if.h |
| +do : |
| + ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "#include <stdio.h> |
| +#ifdef STDC_HEADERS |
| +# include <stdlib.h> |
| +# include <stddef.h> |
| +#else |
| +# ifdef HAVE_STDLIB_H |
| +# include <stdlib.h> |
| +# endif |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +# include <sys/socket.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_header_net_if_h" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_NET_IF_H 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +# On Linux, netlink.h requires asm/types.h |
| +for ac_header in linux/netlink.h |
| +do : |
| + ac_fn_c_check_header_compile "$LINENO" "linux/netlink.h" "ac_cv_header_linux_netlink_h" " |
| +#ifdef HAVE_ASM_TYPES_H |
| +#include <asm/types.h> |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_header_linux_netlink_h" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LINUX_NETLINK_H 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +# On Linux, qrtr.h requires asm/types.h |
| +for ac_header in linux/qrtr.h |
| +do : |
| + ac_fn_c_check_header_compile "$LINENO" "linux/qrtr.h" "ac_cv_header_linux_qrtr_h" " |
| +#ifdef HAVE_ASM_TYPES_H |
| +#include <asm/types.h> |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_header_linux_qrtr_h" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LINUX_QRTR_H 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +for ac_header in linux/vm_sockets.h |
| +do : |
| + ac_fn_c_check_header_compile "$LINENO" "linux/vm_sockets.h" "ac_cv_header_linux_vm_sockets_h" " |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_header_linux_vm_sockets_h" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LINUX_VM_SOCKETS_H 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +# On Linux, can.h, can/bcm.h, can/j1939.h, can/raw.h require sys/socket.h |
| +for ac_header in linux/can.h linux/can/bcm.h linux/can/j1939.h linux/can/raw.h |
| +do : |
| + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| + |
| +" |
| +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +# checks for typedefs |
| +was_it_defined=no |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_t in time.h" >&5 |
| +$as_echo_n "checking for clock_t in time.h... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <time.h> |
| + |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "clock_t" >/dev/null 2>&1; then : |
| + was_it_defined=yes |
| +else |
| + |
| + |
| +$as_echo "#define clock_t long" >>confdefs.h |
| + |
| + |
| +fi |
| +rm -f conftest* |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $was_it_defined" >&5 |
| +$as_echo "$was_it_defined" >&6; } |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for makedev" >&5 |
| +$as_echo_n "checking for makedev... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#if defined(MAJOR_IN_MKDEV) |
| +#include <sys/mkdev.h> |
| +#elif defined(MAJOR_IN_SYSMACROS) |
| +#include <sys/sysmacros.h> |
| +#else |
| +#include <sys/types.h> |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| + |
| + makedev(0, 0) |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_has_makedev=yes |
| +else |
| + ac_cv_has_makedev=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_has_makedev" >&5 |
| +$as_echo "$ac_cv_has_makedev" >&6; } |
| +if test "$ac_cv_has_makedev" = "yes"; then |
| + |
| +$as_echo "#define HAVE_MAKEDEV 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# byte swapping |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for le64toh" >&5 |
| +$as_echo_n "checking for le64toh... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#ifdef HAVE_ENDIAN_H |
| +#include <endian.h> |
| +#elif defined(HAVE_SYS_ENDIAN_H) |
| +#include <sys/endian.h> |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| + |
| + le64toh(1) |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_has_le64toh=yes |
| +else |
| + ac_cv_has_le64toh=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_has_le64toh" >&5 |
| +$as_echo "$ac_cv_has_le64toh" >&6; } |
| +if test "$ac_cv_has_le64toh" = "yes"; then |
| + |
| +$as_echo "#define HAVE_HTOLE64 1" >>confdefs.h |
| + |
| +fi |
| + |
| +use_lfs=yes |
| +# Don't use largefile support for GNU/Hurd |
| +case $ac_sys_system in GNU*) |
| + use_lfs=no |
| +esac |
| + |
| +if test "$use_lfs" = "yes"; then |
| +# Two defines needed to enable largefile support on various platforms |
| +# These may affect some typedefs |
| +case $ac_sys_system/$ac_sys_release in |
| +AIX*) |
| + |
| +$as_echo "#define _LARGE_FILES 1" >>confdefs.h |
| + |
| + ;; |
| +esac |
| + |
| +$as_echo "#define _LARGEFILE_SOURCE 1" >>confdefs.h |
| + |
| + |
| +$as_echo "#define _FILE_OFFSET_BITS 64" >>confdefs.h |
| + |
| +fi |
| + |
| +# Add some code to confdefs.h so that the test for off_t works on SCO |
| +cat >> confdefs.h <<\EOF |
| +#if defined(SCO_DS) |
| +#undef _OFF_T |
| +#endif |
| +EOF |
| + |
| +# Type availability checks |
| +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" |
| +if test "x$ac_cv_type_mode_t" = xyes; then : |
| + |
| +else |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define mode_t int |
| +_ACEOF |
| + |
| +fi |
| + |
| +ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" |
| +if test "x$ac_cv_type_off_t" = xyes; then : |
| + |
| +else |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define off_t long int |
| +_ACEOF |
| + |
| +fi |
| + |
| +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" |
| +if test "x$ac_cv_type_pid_t" = xyes; then : |
| + |
| +else |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define pid_t int |
| +_ACEOF |
| + |
| +fi |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define RETSIGTYPE void |
| +_ACEOF |
| + |
| +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" |
| +if test "x$ac_cv_type_size_t" = xyes; then : |
| + |
| +else |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define size_t unsigned int |
| +_ACEOF |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 |
| +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } |
| +if ${ac_cv_type_uid_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| + |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "uid_t" >/dev/null 2>&1; then : |
| + ac_cv_type_uid_t=yes |
| +else |
| + ac_cv_type_uid_t=no |
| +fi |
| +rm -f conftest* |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 |
| +$as_echo "$ac_cv_type_uid_t" >&6; } |
| +if test $ac_cv_type_uid_t = no; then |
| + |
| +$as_echo "#define uid_t int" >>confdefs.h |
| + |
| + |
| +$as_echo "#define gid_t int" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" |
| +if test "x$ac_cv_type_ssize_t" = xyes; then : |
| + |
| +$as_echo "#define HAVE_SSIZE_T 1" >>confdefs.h |
| + |
| +fi |
| + |
| +ac_fn_c_check_type "$LINENO" "__uint128_t" "ac_cv_type___uint128_t" "$ac_includes_default" |
| +if test "x$ac_cv_type___uint128_t" = xyes; then : |
| + |
| +$as_echo "#define HAVE_GCC_UINT128_T 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| +# Sizes and alignments of various common basic types |
| +# ANSI C requires sizeof(char) == 1, so no need to check it |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 |
| +$as_echo_n "checking size of int... " >&6; } |
| +if ${ac_cv_sizeof_int+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_int" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (int) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_int=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 |
| +$as_echo "$ac_cv_sizeof_int" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_INT $ac_cv_sizeof_int |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 |
| +$as_echo_n "checking size of long... " >&6; } |
| +if ${ac_cv_sizeof_long+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_long" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (long) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_long=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 |
| +$as_echo "$ac_cv_sizeof_long" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_LONG $ac_cv_sizeof_long |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler, |
| +# see AC_CHECK_SIZEOF for more information. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking alignment of long" >&5 |
| +$as_echo_n "checking alignment of long... " >&6; } |
| +if ${ac_cv_alignof_long+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_long" "$ac_includes_default |
| +#ifndef offsetof |
| +# define offsetof(type, member) ((char *) &((type *) 0)->member - (char *) 0) |
| +#endif |
| +typedef struct { char x; long y; } ac__type_alignof_;"; then : |
| + |
| +else |
| + if test "$ac_cv_type_long" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute alignment of long |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_alignof_long=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_long" >&5 |
| +$as_echo "$ac_cv_alignof_long" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define ALIGNOF_LONG $ac_cv_alignof_long |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 |
| +$as_echo_n "checking size of long long... " >&6; } |
| +if ${ac_cv_sizeof_long_long+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_long_long" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (long long) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_long_long=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 |
| +$as_echo "$ac_cv_sizeof_long_long" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 |
| +$as_echo_n "checking size of void *... " >&6; } |
| +if ${ac_cv_sizeof_void_p+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_void_p" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (void *) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_void_p=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 |
| +$as_echo "$ac_cv_sizeof_void_p" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_VOID_P $ac_cv_sizeof_void_p |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 |
| +$as_echo_n "checking size of short... " >&6; } |
| +if ${ac_cv_sizeof_short+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_short" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (short) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_short=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 |
| +$as_echo "$ac_cv_sizeof_short" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_SHORT $ac_cv_sizeof_short |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5 |
| +$as_echo_n "checking size of float... " >&6; } |
| +if ${ac_cv_sizeof_float+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_float" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (float) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_float=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5 |
| +$as_echo "$ac_cv_sizeof_float" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_FLOAT $ac_cv_sizeof_float |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5 |
| +$as_echo_n "checking size of double... " >&6; } |
| +if ${ac_cv_sizeof_double+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_double" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (double) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_double=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5 |
| +$as_echo "$ac_cv_sizeof_double" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_DOUBLE $ac_cv_sizeof_double |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of fpos_t" >&5 |
| +$as_echo_n "checking size of fpos_t... " >&6; } |
| +if ${ac_cv_sizeof_fpos_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (fpos_t))" "ac_cv_sizeof_fpos_t" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_fpos_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (fpos_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_fpos_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_fpos_t" >&5 |
| +$as_echo "$ac_cv_sizeof_fpos_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_FPOS_T $ac_cv_sizeof_fpos_t |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 |
| +$as_echo_n "checking size of size_t... " >&6; } |
| +if ${ac_cv_sizeof_size_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_size_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (size_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_size_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 |
| +$as_echo "$ac_cv_sizeof_size_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler, |
| +# see AC_CHECK_SIZEOF for more information. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking alignment of size_t" >&5 |
| +$as_echo_n "checking alignment of size_t... " >&6; } |
| +if ${ac_cv_alignof_size_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_size_t" "$ac_includes_default |
| +#ifndef offsetof |
| +# define offsetof(type, member) ((char *) &((type *) 0)->member - (char *) 0) |
| +#endif |
| +typedef struct { char x; size_t y; } ac__type_alignof_;"; then : |
| + |
| +else |
| + if test "$ac_cv_type_size_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute alignment of size_t |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_alignof_size_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_size_t" >&5 |
| +$as_echo "$ac_cv_alignof_size_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define ALIGNOF_SIZE_T $ac_cv_alignof_size_t |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of pid_t" >&5 |
| +$as_echo_n "checking size of pid_t... " >&6; } |
| +if ${ac_cv_sizeof_pid_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (pid_t))" "ac_cv_sizeof_pid_t" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_pid_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (pid_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_pid_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_pid_t" >&5 |
| +$as_echo "$ac_cv_sizeof_pid_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_PID_T $ac_cv_sizeof_pid_t |
| +_ACEOF |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of uintptr_t" >&5 |
| +$as_echo_n "checking size of uintptr_t... " >&6; } |
| +if ${ac_cv_sizeof_uintptr_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uintptr_t))" "ac_cv_sizeof_uintptr_t" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_uintptr_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (uintptr_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_uintptr_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uintptr_t" >&5 |
| +$as_echo "$ac_cv_sizeof_uintptr_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_UINTPTR_T $ac_cv_sizeof_uintptr_t |
| +_ACEOF |
| + |
| + |
| + |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5 |
| +$as_echo_n "checking for long double... " >&6; } |
| +if ${ac_cv_type_long_double+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$GCC" = yes; then |
| + ac_cv_type_long_double=yes |
| + else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +/* The Stardent Vistra knows sizeof (long double), but does |
| + not support it. */ |
| + long double foo = 0.0L; |
| +int |
| +main () |
| +{ |
| +static int test_array [1 - 2 * !(/* On Ultrix 4.3 cc, long double is 4 and double is 8. */ |
| + sizeof (double) <= sizeof (long double))]; |
| +test_array [0] = 0; |
| +return test_array [0]; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_type_long_double=yes |
| +else |
| + ac_cv_type_long_double=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double" >&5 |
| +$as_echo "$ac_cv_type_long_double" >&6; } |
| + if test $ac_cv_type_long_double = yes; then |
| + |
| +$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h |
| + |
| + fi |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5 |
| +$as_echo_n "checking size of long double... " >&6; } |
| +if ${ac_cv_sizeof_long_double+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type_long_double" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (long double) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_long_double=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5 |
| +$as_echo "$ac_cv_sizeof_long_double" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double |
| +_ACEOF |
| + |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of _Bool" >&5 |
| +$as_echo_n "checking size of _Bool... " >&6; } |
| +if ${ac_cv_sizeof__Bool+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (_Bool))" "ac_cv_sizeof__Bool" "$ac_includes_default"; then : |
| + |
| +else |
| + if test "$ac_cv_type__Bool" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (_Bool) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof__Bool=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof__Bool" >&5 |
| +$as_echo "$ac_cv_sizeof__Bool" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF__BOOL $ac_cv_sizeof__Bool |
| +_ACEOF |
| + |
| + |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 |
| +$as_echo_n "checking size of off_t... " >&6; } |
| +if ${ac_cv_sizeof_off_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" " |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| + |
| +"; then : |
| + |
| +else |
| + if test "$ac_cv_type_off_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (off_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_off_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 |
| +$as_echo "$ac_cv_sizeof_off_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_OFF_T $ac_cv_sizeof_off_t |
| +_ACEOF |
| + |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable large file support" >&5 |
| +$as_echo_n "checking whether to enable large file support... " >&6; } |
| +if test "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \ |
| + "$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then |
| + |
| +$as_echo "#define HAVE_LARGEFILE_SUPPORT 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5 |
| +$as_echo_n "checking size of time_t... " >&6; } |
| +if ${ac_cv_sizeof_time_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" " |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| +#ifdef HAVE_TIME_H |
| +#include <time.h> |
| +#endif |
| + |
| +"; then : |
| + |
| +else |
| + if test "$ac_cv_type_time_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (time_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_time_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5 |
| +$as_echo "$ac_cv_sizeof_time_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_TIME_T $ac_cv_sizeof_time_t |
| +_ACEOF |
| + |
| + |
| + |
| +# if have pthread_t then define SIZEOF_PTHREAD_T |
| +ac_save_cc="$CC" |
| +if test "$ac_cv_kpthread" = "yes" |
| +then CC="$CC -Kpthread" |
| +elif test "$ac_cv_kthread" = "yes" |
| +then CC="$CC -Kthread" |
| +elif test "$ac_cv_pthread" = "yes" |
| +then CC="$CC -pthread" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_t" >&5 |
| +$as_echo_n "checking for pthread_t... " >&6; } |
| +have_pthread_t=no |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + #include <pthread.h> |
| +int |
| +main () |
| +{ |
| +pthread_t x; x = *(pthread_t*)0; |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + have_pthread_t=yes |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_pthread_t" >&5 |
| +$as_echo "$have_pthread_t" >&6; } |
| +if test "$have_pthread_t" = yes ; then |
| + # The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of pthread_t" >&5 |
| +$as_echo_n "checking size of pthread_t... " >&6; } |
| +if ${ac_cv_sizeof_pthread_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (pthread_t))" "ac_cv_sizeof_pthread_t" " |
| +#ifdef HAVE_PTHREAD_H |
| +#include <pthread.h> |
| +#endif |
| + |
| +"; then : |
| + |
| +else |
| + if test "$ac_cv_type_pthread_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (pthread_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_pthread_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_pthread_t" >&5 |
| +$as_echo "$ac_cv_sizeof_pthread_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_PTHREAD_T $ac_cv_sizeof_pthread_t |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +# Issue #25658: POSIX hasn't defined that pthread_key_t is compatible with int. |
| +# This checking will be unnecessary after removing deprecated TLS API. |
| +# The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of pthread_key_t" >&5 |
| +$as_echo_n "checking size of pthread_key_t... " >&6; } |
| +if ${ac_cv_sizeof_pthread_key_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (pthread_key_t))" "ac_cv_sizeof_pthread_key_t" "#include <pthread.h> |
| +"; then : |
| + |
| +else |
| + if test "$ac_cv_type_pthread_key_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (pthread_key_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_pthread_key_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_pthread_key_t" >&5 |
| +$as_echo "$ac_cv_sizeof_pthread_key_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_PTHREAD_KEY_T $ac_cv_sizeof_pthread_key_t |
| +_ACEOF |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_key_t is compatible with int" >&5 |
| +$as_echo_n "checking whether pthread_key_t is compatible with int... " >&6; } |
| +if test "$ac_cv_sizeof_pthread_key_t" -eq "$ac_cv_sizeof_int" ; then |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <pthread.h> |
| +int |
| +main () |
| +{ |
| +pthread_key_t k; k * 1; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_pthread_key_t_is_arithmetic_type=yes |
| +else |
| + ac_pthread_key_t_is_arithmetic_type=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pthread_key_t_is_arithmetic_type" >&5 |
| +$as_echo "$ac_pthread_key_t_is_arithmetic_type" >&6; } |
| + if test "$ac_pthread_key_t_is_arithmetic_type" = yes ; then |
| + |
| +$as_echo "#define PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT 1" >>confdefs.h |
| + |
| + fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| +CC="$ac_save_cc" |
| + |
| + |
| +case $ac_sys_system/$ac_sys_release in |
| + Darwin/[01567]\..*) |
| + OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000" |
| + ;; |
| + Darwin/*) |
| + OTHER_LIBTOOL_OPT="" |
| + ;; |
| +esac |
| + |
| + |
| + |
| +case $ac_sys_system/$ac_sys_release in |
| + Darwin/[01567]\..*) |
| + LIBTOOL_CRUFT="-framework System -lcc_dynamic" |
| + if test "${enable_universalsdk}"; then |
| + : |
| + else |
| + LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `/usr/bin/arch`" |
| + fi |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; |
| + Darwin/*) |
| + gcc_version=`gcc -dumpversion` |
| + if test ${gcc_version} '<' 4.0 |
| + then |
| + LIBTOOL_CRUFT="-lcc_dynamic" |
| + else |
| + LIBTOOL_CRUFT="" |
| + fi |
| + if test "$cross_compiling" = yes; then : |
| + ac_osx_32bit=yes |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + #include <unistd.h> |
| + int main(int argc, char*argv[]) |
| + { |
| + if (sizeof(long) == 4) { |
| + return 0; |
| + } else { |
| + return 1; |
| + } |
| + } |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_osx_32bit=yes |
| +else |
| + ac_osx_32bit=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| + if test "${ac_osx_32bit}" = "yes"; then |
| + case `/usr/bin/arch` in |
| + i386) |
| + MACOSX_DEFAULT_ARCH="i386" |
| + ;; |
| + ppc) |
| + MACOSX_DEFAULT_ARCH="ppc" |
| + ;; |
| + *) |
| + as_fn_error $? "Unexpected output of 'arch' on macOS" "$LINENO" 5 |
| + ;; |
| + esac |
| + else |
| + case `/usr/bin/arch` in |
| + i386) |
| + MACOSX_DEFAULT_ARCH="x86_64" |
| + ;; |
| + ppc) |
| + MACOSX_DEFAULT_ARCH="ppc64" |
| + ;; |
| + arm64) |
| + MACOSX_DEFAULT_ARCH="arm64" |
| + ;; |
| + *) |
| + as_fn_error $? "Unexpected output of 'arch' on macOS" "$LINENO" 5 |
| + ;; |
| + esac |
| + |
| + fi |
| + |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs -arch_only ${MACOSX_DEFAULT_ARCH}" |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-framework" >&5 |
| +$as_echo_n "checking for --enable-framework... " >&6; } |
| +if test "$enable_framework" |
| +then |
| + BASECFLAGS="$BASECFLAGS -fno-common -dynamic" |
| + # -F. is needed to allow linking to the framework while |
| + # in the build location. |
| + |
| +$as_echo "#define WITH_NEXT_FRAMEWORK 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + if test $enable_shared = "yes" |
| + then |
| + as_fn_error $? "Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead" "$LINENO" 5 |
| + fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dyld" >&5 |
| +$as_echo_n "checking for dyld... " >&6; } |
| +case $ac_sys_system/$ac_sys_release in |
| + Darwin/*) |
| + |
| +$as_echo "#define WITH_DYLD 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: always on for Darwin" >&5 |
| +$as_echo "always on for Darwin" >&6; } |
| + ;; |
| + *) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + ;; |
| +esac |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-address-sanitizer" >&5 |
| +$as_echo_n "checking for --with-address-sanitizer... " >&6; } |
| + |
| +# Check whether --with-address_sanitizer was given. |
| +if test "${with_address_sanitizer+set}" = set; then : |
| + withval=$with_address_sanitizer; |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 |
| +$as_echo "$withval" >&6; } |
| +BASECFLAGS="-fsanitize=address -fno-omit-frame-pointer $BASECFLAGS" |
| +LDFLAGS="-fsanitize=address $LDFLAGS" |
| +# ASan works by controlling memory allocation, our own malloc interferes. |
| +with_pymalloc="no" |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-memory-sanitizer" >&5 |
| +$as_echo_n "checking for --with-memory-sanitizer... " >&6; } |
| + |
| +# Check whether --with-memory_sanitizer was given. |
| +if test "${with_memory_sanitizer+set}" = set; then : |
| + withval=$with_memory_sanitizer; |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 |
| +$as_echo "$withval" >&6; } |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fsanitize=memory" >&5 |
| +$as_echo_n "checking whether C compiler accepts -fsanitize=memory... " >&6; } |
| +if ${ax_cv_check_cflags___fsanitize_memory+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| + ax_check_save_flags=$CFLAGS |
| + CFLAGS="$CFLAGS -fsanitize=memory" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ax_cv_check_cflags___fsanitize_memory=yes |
| +else |
| + ax_cv_check_cflags___fsanitize_memory=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + CFLAGS=$ax_check_save_flags |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_memory" >&5 |
| +$as_echo "$ax_cv_check_cflags___fsanitize_memory" >&6; } |
| +if test "x$ax_cv_check_cflags___fsanitize_memory" = xyes; then : |
| + |
| +BASECFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer $BASECFLAGS" |
| +LDFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 $LDFLAGS" |
| + |
| +else |
| + as_fn_error $? "The selected compiler doesn't support memory sanitizer" "$LINENO" 5 |
| +fi |
| + |
| +# MSan works by controlling memory allocation, our own malloc interferes. |
| +with_pymalloc="no" |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-undefined-behavior-sanitizer" >&5 |
| +$as_echo_n "checking for --with-undefined-behavior-sanitizer... " >&6; } |
| + |
| +# Check whether --with-undefined_behavior_sanitizer was given. |
| +if test "${with_undefined_behavior_sanitizer+set}" = set; then : |
| + withval=$with_undefined_behavior_sanitizer; |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 |
| +$as_echo "$withval" >&6; } |
| +BASECFLAGS="-fsanitize=undefined $BASECFLAGS" |
| +LDFLAGS="-fsanitize=undefined $LDFLAGS" |
| +with_ubsan="yes" |
| + |
| +else |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +with_ubsan="no" |
| + |
| +fi |
| + |
| + |
| +# Set info about shared libraries. |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| +# SHLIB_SUFFIX is the extension of shared libraries `(including the dot!) |
| +# -- usually .so, .sl on HP-UX, .dll on Cygwin |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the extension of shared libraries" >&5 |
| +$as_echo_n "checking the extension of shared libraries... " >&6; } |
| +if test -z "$SHLIB_SUFFIX"; then |
| + case $ac_sys_system in |
| + hp*|HP*) |
| + case `uname -m` in |
| + ia64) SHLIB_SUFFIX=.so;; |
| + *) SHLIB_SUFFIX=.sl;; |
| + esac |
| + ;; |
| + CYGWIN*) SHLIB_SUFFIX=.dll;; |
| + *) SHLIB_SUFFIX=.so;; |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHLIB_SUFFIX" >&5 |
| +$as_echo "$SHLIB_SUFFIX" >&6; } |
| + |
| +# LDSHARED is the ld *command* used to create shared library |
| +# -- "cc -G" on SunOS 5.x. |
| +# (Shared libraries in this instance are shared modules to be loaded into |
| +# Python, as opposed to building Python itself as a shared library.) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LDSHARED" >&5 |
| +$as_echo_n "checking LDSHARED... " >&6; } |
| +if test -z "$LDSHARED" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + AIX*) |
| + BLDSHARED="Modules/ld_so_aix \$(CC) -bI:Modules/python.exp" |
| + LDSHARED="\$(LIBPL)/ld_so_aix \$(CC) -bI:\$(LIBPL)/python.exp" |
| + ;; |
| + SunOS/5*) |
| + if test "$GCC" = "yes" ; then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED='$(CC) -G' |
| + LDCXXSHARED='$(CXX) -G' |
| + fi ;; |
| + hp*|HP*) |
| + if test "$GCC" = "yes" ; then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED='$(CC) -b' |
| + LDCXXSHARED='$(CXX) -b' |
| + fi ;; |
| + Darwin/1.3*) |
| + LDSHARED='$(CC) -bundle' |
| + LDCXXSHARED='$(CXX) -bundle' |
| + if test "$enable_framework" ; then |
| + # Link against the framework. All externals should be defined. |
| + BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + else |
| + # No framework. Ignore undefined symbols, assuming they come from Python |
| + LDSHARED="$LDSHARED -undefined suppress" |
| + LDCXXSHARED="$LDCXXSHARED -undefined suppress" |
| + fi ;; |
| + Darwin/1.4*|Darwin/5.*|Darwin/6.*) |
| + LDSHARED='$(CC) -bundle' |
| + LDCXXSHARED='$(CXX) -bundle' |
| + if test "$enable_framework" ; then |
| + # Link against the framework. All externals should be defined. |
| + BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + else |
| + # No framework, use the Python app as bundle-loader |
| + BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)' |
| + LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)' |
| + LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)' |
| + fi ;; |
| + Darwin/*) |
| + # Use -undefined dynamic_lookup whenever possible (10.3 and later). |
| + # This allows an extension to be used in any Python |
| + |
| + dep_target_major=`echo ${MACOSX_DEPLOYMENT_TARGET} | \ |
| + sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'` |
| + dep_target_minor=`echo ${MACOSX_DEPLOYMENT_TARGET} | \ |
| + sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'` |
| + if test ${dep_target_major} -eq 10 && \ |
| + test ${dep_target_minor} -le 2 |
| + then |
| + # building for OS X 10.0 through 10.2 |
| + as_fn_error $? "MACOSX_DEPLOYMENT_TARGET too old ($MACOSX_DEPLOYMENT_TARGET), only 10.3 or later is supported" "$LINENO" 5 |
| + else |
| + # building for OS X 10.3 and later |
| + LDSHARED='$(CC) -bundle -undefined dynamic_lookup' |
| + LDCXXSHARED='$(CXX) -bundle -undefined dynamic_lookup' |
| + BLDSHARED="$LDSHARED" |
| + fi |
| + ;; |
| + Linux*|GNU*|QNX*|VxWorks*) |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared';; |
| + FreeBSD*) |
| + if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ] |
| + then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED="ld -Bshareable" |
| + fi;; |
| + OpenBSD*) |
| + if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ] |
| + then |
| + LDSHARED='$(CC) -shared $(CCSHARED)' |
| + LDCXXSHARED='$(CXX) -shared $(CCSHARED)' |
| + else |
| + case `uname -r` in |
| + [01].* | 2.[0-7] | 2.[0-7].*) |
| + LDSHARED="ld -Bshareable ${LDFLAGS}" |
| + ;; |
| + *) |
| + LDSHARED='$(CC) -shared $(CCSHARED)' |
| + LDCXXSHARED='$(CXX) -shared $(CCSHARED)' |
| + ;; |
| + esac |
| + fi;; |
| + NetBSD*|DragonFly*) |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared';; |
| + OpenUNIX*|UnixWare*) |
| + if test "$GCC" = "yes" ; then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED='$(CC) -G' |
| + LDCXXSHARED='$(CXX) -G' |
| + fi;; |
| + SCO_SV*) |
| + LDSHARED='$(CC) -Wl,-G,-Bexport' |
| + LDCXXSHARED='$(CXX) -Wl,-G,-Bexport';; |
| + CYGWIN*) |
| + LDSHARED="gcc -shared -Wl,--enable-auto-image-base" |
| + LDCXXSHARED="g++ -shared -Wl,--enable-auto-image-base";; |
| + *) LDSHARED="ld";; |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDSHARED" >&5 |
| +$as_echo "$LDSHARED" >&6; } |
| +LDCXXSHARED=${LDCXXSHARED-$LDSHARED} |
| +BLDSHARED=${BLDSHARED-$LDSHARED} |
| +# CCSHARED are the C *flags* used to create objects to go into a shared |
| +# library (module) -- this is only needed for a few systems |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CCSHARED" >&5 |
| +$as_echo_n "checking CCSHARED... " >&6; } |
| +if test -z "$CCSHARED" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + SunOS*) if test "$GCC" = yes; |
| + then CCSHARED="-fPIC"; |
| + elif test `uname -p` = sparc; |
| + then CCSHARED="-xcode=pic32"; |
| + else CCSHARED="-Kpic"; |
| + fi;; |
| + hp*|HP*) if test "$GCC" = yes; |
| + then CCSHARED="-fPIC"; |
| + else CCSHARED="+z"; |
| + fi;; |
| + Linux-android*) ;; |
| + Linux*|GNU*) CCSHARED="-fPIC";; |
| + FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";; |
| + OpenUNIX*|UnixWare*) |
| + if test "$GCC" = "yes" |
| + then CCSHARED="-fPIC" |
| + else CCSHARED="-KPIC" |
| + fi;; |
| + SCO_SV*) |
| + if test "$GCC" = "yes" |
| + then CCSHARED="-fPIC" |
| + else CCSHARED="-Kpic -belf" |
| + fi;; |
| + VxWorks*) |
| + CCSHARED="-fpic -D__SO_PICABILINUX__ -ftls-model=global-dynamic" |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CCSHARED" >&5 |
| +$as_echo "$CCSHARED" >&6; } |
| +# LINKFORSHARED are the flags passed to the $(CC) command that links |
| +# the python executable -- this is only needed for a few systems |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LINKFORSHARED" >&5 |
| +$as_echo_n "checking LINKFORSHARED... " >&6; } |
| +if test -z "$LINKFORSHARED" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + AIX*) LINKFORSHARED='-Wl,-bE:Modules/python.exp -lld';; |
| + hp*|HP*) |
| + LINKFORSHARED="-Wl,-E -Wl,+s";; |
| +# LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; |
| + Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; |
| + Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; |
| + # -u libsys_s pulls in all symbols in libsys |
| + Darwin/*) |
| + LINKFORSHARED="$extra_undefs -framework CoreFoundation" |
| + |
| + # Issue #18075: the default maximum stack size (8MBytes) is too |
| + # small for the default recursion limit. Increase the stack size |
| + # to ensure that tests don't crash |
| + stack_size="1000000" # 16 MB |
| + if test "$with_ubsan" = "yes" |
| + then |
| + # Undefined behavior sanitizer requires an even deeper stack |
| + stack_size="4000000" # 64 MB |
| + fi |
| + |
| + LINKFORSHARED="-Wl,-stack_size,$stack_size $LINKFORSHARED" |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define THREAD_STACK_SIZE 0x$stack_size |
| +_ACEOF |
| + |
| + |
| + if test "$enable_framework" |
| + then |
| + LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + fi |
| + LINKFORSHARED="$LINKFORSHARED";; |
| + OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";; |
| + SCO_SV*) LINKFORSHARED="-Wl,-Bexport";; |
| + ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";; |
| + FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) |
| + if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ] |
| + then |
| + LINKFORSHARED="-Wl,--export-dynamic" |
| + fi;; |
| + SunOS/5*) case $CC in |
| + *gcc*) |
| + if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null |
| + then |
| + LINKFORSHARED="-Xlinker --export-dynamic" |
| + fi;; |
| + esac;; |
| + CYGWIN*) |
| + if test $enable_shared = "no" |
| + then |
| + LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)' |
| + fi;; |
| + QNX*) |
| + # -Wl,-E causes the symbols to be added to the dynamic |
| + # symbol table so that they can be found when a module |
| + # is loaded. -N 2048K causes the stack size to be set |
| + # to 2048 kilobytes so that the stack doesn't overflow |
| + # when running test_compile.py. |
| + LINKFORSHARED='-Wl,-E -N 2048K';; |
| + VxWorks*) |
| + LINKFORSHARED='-Wl,-export-dynamic';; |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINKFORSHARED" >&5 |
| +$as_echo "$LINKFORSHARED" >&6; } |
| + |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGSFORSHARED" >&5 |
| +$as_echo_n "checking CFLAGSFORSHARED... " >&6; } |
| +if test ! "$LIBRARY" = "$LDLIBRARY" |
| +then |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + # Cygwin needs CCSHARED when building extension DLLs |
| + # but not when building the interpreter DLL. |
| + CFLAGSFORSHARED='';; |
| + *) |
| + CFLAGSFORSHARED='$(CCSHARED)' |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CFLAGSFORSHARED" >&5 |
| +$as_echo "$CFLAGSFORSHARED" >&6; } |
| + |
| +# SHLIBS are libraries (except -lc and -lm) to link to the python shared |
| +# library (with --enable-shared). |
| +# For platforms on which shared libraries are not allowed to have unresolved |
| +# symbols, this must be set to $(LIBS) (expanded by make). We do this even |
| +# if it is not required, since it creates a dependency of the shared library |
| +# to LIBS. This, in turn, means that applications linking the shared libpython |
| +# don't need to link LIBS explicitly. The default should be only changed |
| +# on systems where this approach causes problems. |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking SHLIBS" >&5 |
| +$as_echo_n "checking SHLIBS... " >&6; } |
| +case "$ac_sys_system" in |
| + *) |
| + SHLIBS='$(LIBS)';; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHLIBS" >&5 |
| +$as_echo "$SHLIBS" >&6; } |
| + |
| + |
| +# checks for libraries |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sendfile in -lsendfile" >&5 |
| +$as_echo_n "checking for sendfile in -lsendfile... " >&6; } |
| +if ${ac_cv_lib_sendfile_sendfile+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lsendfile $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char sendfile (); |
| +int |
| +main () |
| +{ |
| +return sendfile (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_sendfile_sendfile=yes |
| +else |
| + ac_cv_lib_sendfile_sendfile=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sendfile_sendfile" >&5 |
| +$as_echo "$ac_cv_lib_sendfile_sendfile" >&6; } |
| +if test "x$ac_cv_lib_sendfile_sendfile" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LIBSENDFILE 1 |
| +_ACEOF |
| + |
| + LIBS="-lsendfile $LIBS" |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 |
| +$as_echo_n "checking for dlopen in -ldl... " >&6; } |
| +if ${ac_cv_lib_dl_dlopen+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-ldl $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char dlopen (); |
| +int |
| +main () |
| +{ |
| +return dlopen (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_dl_dlopen=yes |
| +else |
| + ac_cv_lib_dl_dlopen=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 |
| +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } |
| +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LIBDL 1 |
| +_ACEOF |
| + |
| + LIBS="-ldl $LIBS" |
| + |
| +fi |
| + # Dynamic linking for SunOS/Solaris and SYSV |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 |
| +$as_echo_n "checking for shl_load in -ldld... " >&6; } |
| +if ${ac_cv_lib_dld_shl_load+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-ldld $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char shl_load (); |
| +int |
| +main () |
| +{ |
| +return shl_load (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_dld_shl_load=yes |
| +else |
| + ac_cv_lib_dld_shl_load=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 |
| +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } |
| +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LIBDLD 1 |
| +_ACEOF |
| + |
| + LIBS="-ldld $LIBS" |
| + |
| +fi |
| + # Dynamic linking for HP-UX |
| + |
| +# checks for uuid.h location |
| +for ac_header in uuid/uuid.h uuid.h |
| +do : |
| + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
| +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time_safe" >&5 |
| +$as_echo_n "checking for uuid_generate_time_safe... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <uuid/uuid.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef uuid_generate_time_safe |
| +void *x = uuid_generate_time_safe |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_UUID_GENERATE_TIME_SAFE 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# check for libuuid from util-linux |
| +save_LIBS=$LIBS |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time in -luuid" >&5 |
| +$as_echo_n "checking for uuid_generate_time in -luuid... " >&6; } |
| +if ${ac_cv_lib_uuid_uuid_generate_time+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-luuid $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char uuid_generate_time (); |
| +int |
| +main () |
| +{ |
| +return uuid_generate_time (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_uuid_uuid_generate_time=yes |
| +else |
| + ac_cv_lib_uuid_uuid_generate_time=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate_time" >&5 |
| +$as_echo "$ac_cv_lib_uuid_uuid_generate_time" >&6; } |
| +if test "x$ac_cv_lib_uuid_uuid_generate_time" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LIBUUID 1 |
| +_ACEOF |
| + |
| + LIBS="-luuid $LIBS" |
| + |
| +fi |
| + |
| +LIBS=$save_LIBS |
| + |
| +# AIX provides support for RFC4122 (uuid) in libc.a starting with AIX 6.1 (anno 2007) |
| +# FreeBSD and OpenBSD provides support in libc as well. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_create" >&5 |
| +$as_echo_n "checking for uuid_create... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <uuid.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef uuid_create |
| +void *x = uuid_create |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_UUID_CREATE 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# Little-endian FreeBSD, OpenBSD and NetBSD needs encoding into an octet |
| +# stream in big-endian byte-order |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_enc_be" >&5 |
| +$as_echo_n "checking for uuid_enc_be... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <uuid.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef uuid_enc_be |
| +void *x = uuid_enc_be |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_UUID_ENC_BE 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# 'Real Time' functions on Solaris |
| +# posix4 on Solaris 2.6 |
| +# pthread (first!) on Linux |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sem_init" >&5 |
| +$as_echo_n "checking for library containing sem_init... " >&6; } |
| +if ${ac_cv_search_sem_init+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_func_search_save_LIBS=$LIBS |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char sem_init (); |
| +int |
| +main () |
| +{ |
| +return sem_init (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +for ac_lib in '' pthread rt posix4; do |
| + if test -z "$ac_lib"; then |
| + ac_res="none required" |
| + else |
| + ac_res=-l$ac_lib |
| + LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
| + fi |
| + if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_search_sem_init=$ac_res |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext |
| + if ${ac_cv_search_sem_init+:} false; then : |
| + break |
| +fi |
| +done |
| +if ${ac_cv_search_sem_init+:} false; then : |
| + |
| +else |
| + ac_cv_search_sem_init=no |
| +fi |
| +rm conftest.$ac_ext |
| +LIBS=$ac_func_search_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sem_init" >&5 |
| +$as_echo "$ac_cv_search_sem_init" >&6; } |
| +ac_res=$ac_cv_search_sem_init |
| +if test "$ac_res" != no; then : |
| + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
| + |
| +fi |
| + |
| + |
| +# check if we need libintl for locale functions |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for textdomain in -lintl" >&5 |
| +$as_echo_n "checking for textdomain in -lintl... " >&6; } |
| +if ${ac_cv_lib_intl_textdomain+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lintl $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char textdomain (); |
| +int |
| +main () |
| +{ |
| +return textdomain (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_intl_textdomain=yes |
| +else |
| + ac_cv_lib_intl_textdomain=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_textdomain" >&5 |
| +$as_echo "$ac_cv_lib_intl_textdomain" >&6; } |
| +if test "x$ac_cv_lib_intl_textdomain" = xyes; then : |
| + |
| +$as_echo "#define WITH_LIBINTL 1" >>confdefs.h |
| + |
| + LIBS="-lintl $LIBS" |
| +fi |
| + |
| + |
| +# checks for system dependent C++ extensions support |
| +case "$ac_sys_system" in |
| + AIX*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for genuine AIX C++ extensions support" >&5 |
| +$as_echo_n "checking for genuine AIX C++ extensions support... " >&6; } |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + #include <load.h> |
| +int |
| +main () |
| +{ |
| +loadAndInit("", 0, "") |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + |
| + |
| +$as_echo "#define AIX_GENUINE_CPLUSPLUS 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +# BUILD_GNU_TYPE + AIX_BUILDDATE are used to construct the platform_tag |
| +# of the AIX system used to build/package Python executable. This tag serves |
| +# as a baseline for bdist module packages |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the system builddate" >&5 |
| +$as_echo_n "checking for the system builddate... " >&6; } |
| + AIX_BUILDDATE=$(lslpp -Lcq bos.mp64 | awk -F: '{ print $NF }') |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define AIX_BUILDDATE $AIX_BUILDDATE |
| +_ACEOF |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AIX_BUILDDATE" >&5 |
| +$as_echo "$AIX_BUILDDATE" >&6; } |
| + ;; |
| + *) ;; |
| +esac |
| + |
| +# check for systems that require aligned memory access |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking aligned memory access is required" >&5 |
| +$as_echo_n "checking aligned memory access is required... " >&6; } |
| +if ${ac_cv_aligned_required+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_aligned_required=yes |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int main() |
| +{ |
| + char s[16]; |
| + int i, *p1, *p2; |
| + for (i=0; i < 16; i++) |
| + s[i] = i; |
| + p1 = (int*)(s+1); |
| + p2 = (int*)(s+2); |
| + if (*p1 == *p2) |
| + return 1; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_aligned_required=no |
| +else |
| + ac_cv_aligned_required=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_aligned_required" >&5 |
| +$as_echo "$ac_cv_aligned_required" >&6; } |
| +if test "$ac_cv_aligned_required" = yes ; then |
| + |
| +$as_echo "#define HAVE_ALIGNED_REQUIRED 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# str, bytes and memoryview hash algorithm |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-hash-algorithm" >&5 |
| +$as_echo_n "checking for --with-hash-algorithm... " >&6; } |
| + |
| +# Check whether --with-hash_algorithm was given. |
| +if test "${with_hash_algorithm+set}" = set; then : |
| + withval=$with_hash_algorithm; |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 |
| +$as_echo "$withval" >&6; } |
| +case "$withval" in |
| + siphash24) |
| + $as_echo "#define Py_HASH_ALGORITHM 1" >>confdefs.h |
| + |
| + ;; |
| + fnv) |
| + $as_echo "#define Py_HASH_ALGORITHM 2" >>confdefs.h |
| + |
| + ;; |
| + *) |
| + as_fn_error $? "unknown hash algorithm '$withval'" "$LINENO" 5 |
| + ;; |
| +esac |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5 |
| +$as_echo "default" >&6; } |
| +fi |
| + |
| + |
| +validate_tzpath() { |
| + # Checks that each element of hte path is an absolute path |
| + if test -z "$1"; then |
| + # Empty string is allowed: it indicates no system TZPATH |
| + return 0 |
| + fi |
| + |
| + # Bad paths are those that don't start with / |
| + if ( echo $1 | grep '\(^\|:\)\([^/]\|$\)' > /dev/null); then |
| + as_fn_error $? "--with-tzpath must contain only absolute paths, not $1" "$LINENO" 5 |
| + return 1; |
| + fi |
| +} |
| + |
| +TZPATH="/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-tzpath" >&5 |
| +$as_echo_n "checking for --with-tzpath... " >&6; } |
| + |
| +# Check whether --with-tzpath was given. |
| +if test "${with_tzpath+set}" = set; then : |
| + withval=$with_tzpath; |
| +case "$withval" in |
| + yes) |
| + as_fn_error $? "--with-tzpath requires a value" "$LINENO" 5 |
| + ;; |
| + *) |
| + validate_tzpath "$withval" |
| + TZPATH="$withval" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$withval\"" >&5 |
| +$as_echo "\"$withval\"" >&6; } |
| + ;; |
| +esac |
| + |
| +else |
| + validate_tzpath "$TZPATH" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$TZPATH\"" >&5 |
| +$as_echo "\"$TZPATH\"" >&6; } |
| +fi |
| + |
| + |
| + |
| +# Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for t_open in -lnsl" >&5 |
| +$as_echo_n "checking for t_open in -lnsl... " >&6; } |
| +if ${ac_cv_lib_nsl_t_open+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lnsl $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char t_open (); |
| +int |
| +main () |
| +{ |
| +return t_open (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_nsl_t_open=yes |
| +else |
| + ac_cv_lib_nsl_t_open=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_t_open" >&5 |
| +$as_echo "$ac_cv_lib_nsl_t_open" >&6; } |
| +if test "x$ac_cv_lib_nsl_t_open" = xyes; then : |
| + LIBS="-lnsl $LIBS" |
| +fi |
| + # SVR4 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 |
| +$as_echo_n "checking for socket in -lsocket... " >&6; } |
| +if ${ac_cv_lib_socket_socket+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lsocket $LIBS $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char socket (); |
| +int |
| +main () |
| +{ |
| +return socket (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_socket_socket=yes |
| +else |
| + ac_cv_lib_socket_socket=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 |
| +$as_echo "$ac_cv_lib_socket_socket" >&6; } |
| +if test "x$ac_cv_lib_socket_socket" = xyes; then : |
| + LIBS="-lsocket $LIBS" |
| +fi |
| + # SVR4 sockets |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-libs" >&5 |
| +$as_echo_n "checking for --with-libs... " >&6; } |
| + |
| +# Check whether --with-libs was given. |
| +if test "${with_libs+set}" = set; then : |
| + withval=$with_libs; |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 |
| +$as_echo "$withval" >&6; } |
| +LIBS="$withval $LIBS" |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
| + if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_PKG_CONFIG+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $PKG_CONFIG in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +PKG_CONFIG=$ac_cv_path_PKG_CONFIG |
| +if test -n "$PKG_CONFIG"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 |
| +$as_echo "$PKG_CONFIG" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_path_PKG_CONFIG"; then |
| + ac_pt_PKG_CONFIG=$PKG_CONFIG |
| + # Extract the first word of "pkg-config", so it can be a program name with args. |
| +set dummy pkg-config; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $ac_pt_PKG_CONFIG in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +fi |
| +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG |
| +if test -n "$ac_pt_PKG_CONFIG"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 |
| +$as_echo "$ac_pt_PKG_CONFIG" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_pt_PKG_CONFIG" = x; then |
| + PKG_CONFIG="" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + PKG_CONFIG=$ac_pt_PKG_CONFIG |
| + fi |
| +else |
| + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" |
| +fi |
| + |
| +fi |
| +if test -n "$PKG_CONFIG"; then |
| + _pkg_min_version=0.9.0 |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 |
| +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } |
| + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + PKG_CONFIG="" |
| + fi |
| +fi |
| + |
| +# Check for use of the system expat library |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-system-expat" >&5 |
| +$as_echo_n "checking for --with-system-expat... " >&6; } |
| + |
| +# Check whether --with-system_expat was given. |
| +if test "${with_system_expat+set}" = set; then : |
| + withval=$with_system_expat; |
| +else |
| + with_system_expat="no" |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_system_expat" >&5 |
| +$as_echo "$with_system_expat" >&6; } |
| + |
| +# Check for use of the system libffi library |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-system-ffi" >&5 |
| +$as_echo_n "checking for --with-system-ffi... " >&6; } |
| + |
| +# Check whether --with-system_ffi was given. |
| +if test "${with_system_ffi+set}" = set; then : |
| + withval=$with_system_ffi; |
| +fi |
| + |
| + |
| +if test "$ac_sys_system" = "Darwin" |
| +then |
| + case "$with_system_ffi" in |
| + "") |
| + with_system_ffi="no" |
| + ;; |
| + yes|no) |
| + ;; |
| + *) |
| + as_fn_error $? "--with-system-ffi accepts no arguments" "$LINENO" 5 |
| + ;; |
| + esac |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_system_ffi" >&5 |
| +$as_echo "$with_system_ffi" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + if test "$with_system_ffi" != "" |
| + then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with(out)-system-ffi is ignored on this platform" >&5 |
| +$as_echo "$as_me: WARNING: --with(out)-system-ffi is ignored on this platform" >&2;} |
| + fi |
| + with_system_ffi="yes" |
| +fi |
| + |
| +if test "$with_system_ffi" = "yes" && test -n "$PKG_CONFIG"; then |
| + LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" |
| +else |
| + LIBFFI_INCLUDEDIR="" |
| +fi |
| + |
| + |
| +# Check for use of the system libmpdec library |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-system-libmpdec" >&5 |
| +$as_echo_n "checking for --with-system-libmpdec... " >&6; } |
| + |
| +# Check whether --with-system_libmpdec was given. |
| +if test "${with_system_libmpdec+set}" = set; then : |
| + withval=$with_system_libmpdec; |
| +else |
| + with_system_libmpdec="no" |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_system_libmpdec" >&5 |
| +$as_echo "$with_system_libmpdec" >&6; } |
| + |
| +# Check whether _decimal should use a coroutine-local or thread-local context |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-decimal-contextvar" >&5 |
| +$as_echo_n "checking for --with-decimal-contextvar... " >&6; } |
| + |
| +# Check whether --with-decimal_contextvar was given. |
| +if test "${with_decimal_contextvar+set}" = set; then : |
| + withval=$with_decimal_contextvar; |
| +else |
| + with_decimal_contextvar="yes" |
| +fi |
| + |
| + |
| +if test "$with_decimal_contextvar" != "no" |
| +then |
| + |
| +$as_echo "#define WITH_DECIMAL_CONTEXTVAR 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_decimal_contextvar" >&5 |
| +$as_echo "$with_decimal_contextvar" >&6; } |
| + |
| +# Check for support for loadable sqlite extensions |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-loadable-sqlite-extensions" >&5 |
| +$as_echo_n "checking for --enable-loadable-sqlite-extensions... " >&6; } |
| +# Check whether --enable-loadable-sqlite-extensions was given. |
| +if test "${enable_loadable_sqlite_extensions+set}" = set; then : |
| + enableval=$enable_loadable_sqlite_extensions; |
| +else |
| + enable_loadable_sqlite_extensions="no" |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_loadable_sqlite_extensions" >&5 |
| +$as_echo "$enable_loadable_sqlite_extensions" >&6; } |
| + |
| +# Check for --with-tcltk-includes=path and --with-tcltk-libs=path |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-tcltk-includes" >&5 |
| +$as_echo_n "checking for --with-tcltk-includes... " >&6; } |
| + |
| +# Check whether --with-tcltk-includes was given. |
| +if test "${with_tcltk_includes+set}" = set; then : |
| + withval=$with_tcltk_includes; |
| +else |
| + with_tcltk_includes="default" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_tcltk_includes" >&5 |
| +$as_echo "$with_tcltk_includes" >&6; } |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-tcltk-libs" >&5 |
| +$as_echo_n "checking for --with-tcltk-libs... " >&6; } |
| + |
| +# Check whether --with-tcltk-libs was given. |
| +if test "${with_tcltk_libs+set}" = set; then : |
| + withval=$with_tcltk_libs; |
| +else |
| + with_tcltk_libs="default" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_tcltk_libs" >&5 |
| +$as_echo "$with_tcltk_libs" >&6; } |
| +if test "x$with_tcltk_includes" = xdefault || test "x$with_tcltk_libs" = xdefault |
| +then |
| + if test "x$with_tcltk_includes" != "x$with_tcltk_libs" |
| + then |
| + as_fn_error $? "use both --with-tcltk-includes='...' and --with-tcltk-libs='...' or neither" "$LINENO" 5 |
| + fi |
| + if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists tcl tk; then |
| + TCLTK_INCLUDES="`"$PKG_CONFIG" tcl tk --cflags-only-I 2>/dev/null`" |
| + TCLTK_LIBS="`"$PKG_CONFIG" tcl tk --libs 2>/dev/null`" |
| + else |
| + TCLTK_INCLUDES="" |
| + TCLTK_LIBS="" |
| + fi |
| +else |
| + TCLTK_INCLUDES="$with_tcltk_includes" |
| + TCLTK_LIBS="$with_tcltk_libs" |
| +fi |
| + |
| +# Check for --with-dbmliborder |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-dbmliborder" >&5 |
| +$as_echo_n "checking for --with-dbmliborder... " >&6; } |
| + |
| +# Check whether --with-dbmliborder was given. |
| +if test "${with_dbmliborder+set}" = set; then : |
| + withval=$with_dbmliborder; |
| +if test x$with_dbmliborder = xyes |
| +then |
| +as_fn_error $? "proper usage is --with-dbmliborder=db1:db2:..." "$LINENO" 5 |
| +else |
| + for db in `echo $with_dbmliborder | sed 's/:/ /g'`; do |
| + if test x$db != xndbm && test x$db != xgdbm && test x$db != xbdb |
| + then |
| + as_fn_error $? "proper usage is --with-dbmliborder=db1:db2:..." "$LINENO" 5 |
| + fi |
| + done |
| +fi |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_dbmliborder" >&5 |
| +$as_echo "$with_dbmliborder" >&6; } |
| + |
| +# Templates for things AC_DEFINEd more than once. |
| +# For a single AC_DEFINE, no template is needed. |
| + |
| + |
| +if test "$ac_cv_pthread_is_default" = yes |
| +then |
| + # Defining _REENTRANT on system with POSIX threads should not hurt. |
| + $as_echo "#define _REENTRANT 1" >>confdefs.h |
| + |
| + posix_threads=yes |
| + if test "$ac_sys_system" = "SunOS"; then |
| + CFLAGS="$CFLAGS -D_REENTRANT" |
| + fi |
| +elif test "$ac_cv_kpthread" = "yes" |
| +then |
| + CC="$CC -Kpthread" |
| + if test "$ac_cv_cxx_thread" = "yes"; then |
| + CXX="$CXX -Kpthread" |
| + fi |
| + posix_threads=yes |
| +elif test "$ac_cv_kthread" = "yes" |
| +then |
| + CC="$CC -Kthread" |
| + if test "$ac_cv_cxx_thread" = "yes"; then |
| + CXX="$CXX -Kthread" |
| + fi |
| + posix_threads=yes |
| +elif test "$ac_cv_pthread" = "yes" |
| +then |
| + CC="$CC -pthread" |
| + if test "$ac_cv_cxx_thread" = "yes"; then |
| + CXX="$CXX -pthread" |
| + fi |
| + posix_threads=yes |
| +else |
| + if test ! -z "$withval" -a -d "$withval" |
| + then LDFLAGS="$LDFLAGS -L$withval" |
| + fi |
| + |
| + # According to the POSIX spec, a pthreads implementation must |
| + # define _POSIX_THREADS in unistd.h. Some apparently don't |
| + # (e.g. gnu pth with pthread emulation) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _POSIX_THREADS in unistd.h" >&5 |
| +$as_echo_n "checking for _POSIX_THREADS in unistd.h... " >&6; } |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <unistd.h> |
| +#ifdef _POSIX_THREADS |
| +yes |
| +#endif |
| + |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "yes" >/dev/null 2>&1; then : |
| + unistd_defines_pthreads=yes |
| +else |
| + unistd_defines_pthreads=no |
| +fi |
| +rm -f conftest* |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $unistd_defines_pthreads" >&5 |
| +$as_echo "$unistd_defines_pthreads" >&6; } |
| + |
| + $as_echo "#define _REENTRANT 1" >>confdefs.h |
| + |
| + # Just looking for pthread_create in libpthread is not enough: |
| + # on HP/UX, pthread.h renames pthread_create to a different symbol name. |
| + # So we really have to include pthread.h, and then link. |
| + _libs=$LIBS |
| + LIBS="$LIBS -lpthread" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 |
| +$as_echo_n "checking for pthread_create in -lpthread... " >&6; } |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void * start_routine (void *arg) { exit (0); } |
| +int |
| +main () |
| +{ |
| + |
| +pthread_create (NULL, NULL, start_routine, NULL) |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + posix_threads=yes |
| + |
| +else |
| + |
| + LIBS=$_libs |
| + ac_fn_c_check_func "$LINENO" "pthread_detach" "ac_cv_func_pthread_detach" |
| +if test "x$ac_cv_func_pthread_detach" = xyes; then : |
| + |
| + posix_threads=yes |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthreads" >&5 |
| +$as_echo_n "checking for pthread_create in -lpthreads... " >&6; } |
| +if ${ac_cv_lib_pthreads_pthread_create+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lpthreads $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char pthread_create (); |
| +int |
| +main () |
| +{ |
| +return pthread_create (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_pthreads_pthread_create=yes |
| +else |
| + ac_cv_lib_pthreads_pthread_create=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthreads_pthread_create" >&5 |
| +$as_echo "$ac_cv_lib_pthreads_pthread_create" >&6; } |
| +if test "x$ac_cv_lib_pthreads_pthread_create" = xyes; then : |
| + |
| + posix_threads=yes |
| + LIBS="$LIBS -lpthreads" |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lc_r" >&5 |
| +$as_echo_n "checking for pthread_create in -lc_r... " >&6; } |
| +if ${ac_cv_lib_c_r_pthread_create+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lc_r $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char pthread_create (); |
| +int |
| +main () |
| +{ |
| +return pthread_create (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_c_r_pthread_create=yes |
| +else |
| + ac_cv_lib_c_r_pthread_create=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_create" >&5 |
| +$as_echo "$ac_cv_lib_c_r_pthread_create" >&6; } |
| +if test "x$ac_cv_lib_c_r_pthread_create" = xyes; then : |
| + |
| + posix_threads=yes |
| + LIBS="$LIBS -lc_r" |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __pthread_create_system in -lpthread" >&5 |
| +$as_echo_n "checking for __pthread_create_system in -lpthread... " >&6; } |
| +if ${ac_cv_lib_pthread___pthread_create_system+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lpthread $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char __pthread_create_system (); |
| +int |
| +main () |
| +{ |
| +return __pthread_create_system (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_pthread___pthread_create_system=yes |
| +else |
| + ac_cv_lib_pthread___pthread_create_system=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread___pthread_create_system" >&5 |
| +$as_echo "$ac_cv_lib_pthread___pthread_create_system" >&6; } |
| +if test "x$ac_cv_lib_pthread___pthread_create_system" = xyes; then : |
| + |
| + posix_threads=yes |
| + LIBS="$LIBS -lpthread" |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lcma" >&5 |
| +$as_echo_n "checking for pthread_create in -lcma... " >&6; } |
| +if ${ac_cv_lib_cma_pthread_create+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lcma $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char pthread_create (); |
| +int |
| +main () |
| +{ |
| +return pthread_create (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_cma_pthread_create=yes |
| +else |
| + ac_cv_lib_cma_pthread_create=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cma_pthread_create" >&5 |
| +$as_echo "$ac_cv_lib_cma_pthread_create" >&6; } |
| +if test "x$ac_cv_lib_cma_pthread_create" = xyes; then : |
| + |
| + posix_threads=yes |
| + LIBS="$LIBS -lcma" |
| + |
| +else |
| + |
| + as_fn_error $? "could not find pthreads on your system" "$LINENO" 5 |
| + |
| +fi |
| + |
| + |
| +fi |
| + |
| +fi |
| + |
| +fi |
| + |
| +fi |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usconfig in -lmpc" >&5 |
| +$as_echo_n "checking for usconfig in -lmpc... " >&6; } |
| +if ${ac_cv_lib_mpc_usconfig+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lmpc $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char usconfig (); |
| +int |
| +main () |
| +{ |
| +return usconfig (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_mpc_usconfig=yes |
| +else |
| + ac_cv_lib_mpc_usconfig=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpc_usconfig" >&5 |
| +$as_echo "$ac_cv_lib_mpc_usconfig" >&6; } |
| +if test "x$ac_cv_lib_mpc_usconfig" = xyes; then : |
| + |
| + LIBS="$LIBS -lmpc" |
| + |
| +fi |
| + |
| + |
| +fi |
| + |
| +if test "$posix_threads" = "yes"; then |
| + if test "$unistd_defines_pthreads" = "no"; then |
| + |
| +$as_echo "#define _POSIX_THREADS 1" >>confdefs.h |
| + |
| + fi |
| + |
| + # Bug 662787: Using semaphores causes unexplicable hangs on Solaris 8. |
| + case $ac_sys_system/$ac_sys_release in |
| + SunOS/5.6) |
| +$as_echo "#define HAVE_PTHREAD_DESTRUCTOR 1" >>confdefs.h |
| + |
| + ;; |
| + SunOS/5.8) |
| +$as_echo "#define HAVE_BROKEN_POSIX_SEMAPHORES 1" >>confdefs.h |
| + |
| + ;; |
| + AIX/*) |
| +$as_echo "#define HAVE_BROKEN_POSIX_SEMAPHORES 1" >>confdefs.h |
| + |
| + ;; |
| + esac |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PTHREAD_SCOPE_SYSTEM is supported" >&5 |
| +$as_echo_n "checking if PTHREAD_SCOPE_SYSTEM is supported... " >&6; } |
| + if ${ac_cv_pthread_system_supported+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_pthread_system_supported=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + #include <stdio.h> |
| + #include <pthread.h> |
| + void *foo(void *parm) { |
| + return NULL; |
| + } |
| + main() { |
| + pthread_attr_t attr; |
| + pthread_t id; |
| + if (pthread_attr_init(&attr)) return (-1); |
| + if (pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM)) return (-1); |
| + if (pthread_create(&id, &attr, foo, NULL)) return (-1); |
| + return (0); |
| + } |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_pthread_system_supported=yes |
| +else |
| + ac_cv_pthread_system_supported=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| +fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthread_system_supported" >&5 |
| +$as_echo "$ac_cv_pthread_system_supported" >&6; } |
| + if test "$ac_cv_pthread_system_supported" = "yes"; then |
| + |
| +$as_echo "#define PTHREAD_SYSTEM_SCHED_SUPPORTED 1" >>confdefs.h |
| + |
| + fi |
| + for ac_func in pthread_sigmask |
| +do : |
| + ac_fn_c_check_func "$LINENO" "pthread_sigmask" "ac_cv_func_pthread_sigmask" |
| +if test "x$ac_cv_func_pthread_sigmask" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_PTHREAD_SIGMASK 1 |
| +_ACEOF |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + |
| +$as_echo "#define HAVE_BROKEN_PTHREAD_SIGMASK 1" >>confdefs.h |
| + |
| + ;; |
| + esac |
| +fi |
| +done |
| + |
| + for ac_func in pthread_getcpuclockid |
| +do : |
| + ac_fn_c_check_func "$LINENO" "pthread_getcpuclockid" "ac_cv_func_pthread_getcpuclockid" |
| +if test "x$ac_cv_func_pthread_getcpuclockid" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_PTHREAD_GETCPUCLOCKID 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| +fi |
| + |
| + |
| +# Check for enable-ipv6 |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --enable-ipv6 is specified" >&5 |
| +$as_echo_n "checking if --enable-ipv6 is specified... " >&6; } |
| +# Check whether --enable-ipv6 was given. |
| +if test "${enable_ipv6+set}" = set; then : |
| + enableval=$enable_ipv6; case "$enableval" in |
| + no) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + ipv6=no |
| + ;; |
| + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + $as_echo "#define ENABLE_IPV6 1" >>confdefs.h |
| + |
| + ipv6=yes |
| + ;; |
| + esac |
| +else |
| + |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + /* AF_INET6 available check */ |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +int |
| +main () |
| +{ |
| +int domain = AF_INET6; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + ipv6=yes |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + ipv6=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +if test "$ipv6" = "yes"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if RFC2553 API is available" >&5 |
| +$as_echo_n "checking if RFC2553 API is available... " >&6; } |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + #include <sys/types.h> |
| +#include <netinet/in.h> |
| +int |
| +main () |
| +{ |
| +struct sockaddr_in6 x; |
| + x.sin6_scope_id; |
| + ; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + ipv6=yes |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + ipv6=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +if test "$ipv6" = "yes"; then |
| + $as_echo "#define ENABLE_IPV6 1" >>confdefs.h |
| + |
| +fi |
| + |
| +fi |
| + |
| + |
| +ipv6type=unknown |
| +ipv6lib=none |
| +ipv6trylibc=no |
| + |
| +if test "$ipv6" = "yes"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking ipv6 stack type" >&5 |
| +$as_echo_n "checking ipv6 stack type... " >&6; } |
| + for i in inria kame linux-glibc linux-inet6 solaris toshiba v6d zeta; |
| + do |
| + case $i in |
| + inria) |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <netinet/in.h> |
| +#ifdef IPV6_INRIA_VERSION |
| +yes |
| +#endif |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "yes" >/dev/null 2>&1; then : |
| + ipv6type=$i |
| +fi |
| +rm -f conftest* |
| + |
| + ;; |
| + kame) |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <netinet/in.h> |
| +#ifdef __KAME__ |
| +yes |
| +#endif |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "yes" >/dev/null 2>&1; then : |
| + ipv6type=$i; |
| + ipv6lib=inet6 |
| + ipv6libdir=/usr/local/v6/lib |
| + ipv6trylibc=yes |
| +fi |
| +rm -f conftest* |
| + |
| + ;; |
| + linux-glibc) |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <features.h> |
| +#if defined(__GLIBC__) && ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)) |
| +yes |
| +#endif |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "yes" >/dev/null 2>&1; then : |
| + ipv6type=$i; |
| + ipv6trylibc=yes |
| +fi |
| +rm -f conftest* |
| + |
| + ;; |
| + linux-inet6) |
| + if test -d /usr/inet6; then |
| + ipv6type=$i |
| + ipv6lib=inet6 |
| + ipv6libdir=/usr/inet6/lib |
| + BASECFLAGS="-I/usr/inet6/include $BASECFLAGS" |
| + fi |
| + ;; |
| + solaris) |
| + if test -f /etc/netconfig; then |
| + if $GREP -q tcp6 /etc/netconfig; then |
| + ipv6type=$i |
| + ipv6trylibc=yes |
| + fi |
| + fi |
| + ;; |
| + toshiba) |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/param.h> |
| +#ifdef _TOSHIBA_INET6 |
| +yes |
| +#endif |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "yes" >/dev/null 2>&1; then : |
| + ipv6type=$i; |
| + ipv6lib=inet6; |
| + ipv6libdir=/usr/local/v6/lib |
| +fi |
| +rm -f conftest* |
| + |
| + ;; |
| + v6d) |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include </usr/local/v6/include/sys/v6config.h> |
| +#ifdef __V6D__ |
| +yes |
| +#endif |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "yes" >/dev/null 2>&1; then : |
| + ipv6type=$i; |
| + ipv6lib=v6; |
| + ipv6libdir=/usr/local/v6/lib; |
| + BASECFLAGS="-I/usr/local/v6/include $BASECFLAGS" |
| +fi |
| +rm -f conftest* |
| + |
| + ;; |
| + zeta) |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/param.h> |
| +#ifdef _ZETA_MINAMI_INET6 |
| +yes |
| +#endif |
| +_ACEOF |
| +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
| + $EGREP "yes" >/dev/null 2>&1; then : |
| + ipv6type=$i; |
| + ipv6lib=inet6; |
| + ipv6libdir=/usr/local/v6/lib |
| +fi |
| +rm -f conftest* |
| + |
| + ;; |
| + esac |
| + if test "$ipv6type" != "unknown"; then |
| + break |
| + fi |
| + done |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ipv6type" >&5 |
| +$as_echo "$ipv6type" >&6; } |
| +fi |
| + |
| +if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then |
| + if test -d $ipv6libdir -a -f $ipv6libdir/lib$ipv6lib.a; then |
| + LIBS="-L$ipv6libdir -l$ipv6lib $LIBS" |
| + echo "using lib$ipv6lib" |
| + else |
| + if test $ipv6trylibc = "yes"; then |
| + echo "using libc" |
| + else |
| + echo 'Fatal: no $ipv6lib library found. cannot continue.' |
| + echo "You need to fetch lib$ipv6lib.a from appropriate" |
| + echo 'ipv6 kit and compile beforehand.' |
| + exit 1 |
| + fi |
| + fi |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAN_RAW_FD_FRAMES" >&5 |
| +$as_echo_n "checking for CAN_RAW_FD_FRAMES... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + /* CAN_RAW_FD_FRAMES available check */ |
| +#include <linux/can/raw.h> |
| +int |
| +main () |
| +{ |
| +int can_raw_fd_frames = CAN_RAW_FD_FRAMES; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + |
| +$as_echo "#define HAVE_LINUX_CAN_RAW_FD_FRAMES 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAN_RAW_JOIN_FILTERS" >&5 |
| +$as_echo_n "checking for CAN_RAW_JOIN_FILTERS... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <linux/can/raw.h> |
| +int |
| +main () |
| +{ |
| +int can_raw_join_filters = CAN_RAW_JOIN_FILTERS; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + |
| +$as_echo "#define HAVE_LINUX_CAN_RAW_JOIN_FILTERS 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# Check for --with-doc-strings |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-doc-strings" >&5 |
| +$as_echo_n "checking for --with-doc-strings... " >&6; } |
| + |
| +# Check whether --with-doc-strings was given. |
| +if test "${with_doc_strings+set}" = set; then : |
| + withval=$with_doc_strings; |
| +fi |
| + |
| + |
| +if test -z "$with_doc_strings" |
| +then with_doc_strings="yes" |
| +fi |
| +if test "$with_doc_strings" != "no" |
| +then |
| + |
| +$as_echo "#define WITH_DOC_STRINGS 1" >>confdefs.h |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_doc_strings" >&5 |
| +$as_echo "$with_doc_strings" >&6; } |
| + |
| +# Check for Python-specific malloc support |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-pymalloc" >&5 |
| +$as_echo_n "checking for --with-pymalloc... " >&6; } |
| + |
| +# Check whether --with-pymalloc was given. |
| +if test "${with_pymalloc+set}" = set; then : |
| + withval=$with_pymalloc; |
| +fi |
| + |
| + |
| +if test -z "$with_pymalloc" |
| +then |
| + with_pymalloc="yes" |
| +fi |
| +if test "$with_pymalloc" != "no" |
| +then |
| + |
| +$as_echo "#define WITH_PYMALLOC 1" >>confdefs.h |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_pymalloc" >&5 |
| +$as_echo "$with_pymalloc" >&6; } |
| + |
| +# Check for --with-c-locale-coercion |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-c-locale-coercion" >&5 |
| +$as_echo_n "checking for --with-c-locale-coercion... " >&6; } |
| + |
| +# Check whether --with-c-locale-coercion was given. |
| +if test "${with_c_locale_coercion+set}" = set; then : |
| + withval=$with_c_locale_coercion; |
| +fi |
| + |
| + |
| +if test -z "$with_c_locale_coercion" |
| +then |
| + with_c_locale_coercion="yes" |
| +fi |
| +if test "$with_c_locale_coercion" != "no" |
| +then |
| + |
| +$as_echo "#define PY_COERCE_C_LOCALE 1" >>confdefs.h |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_c_locale_coercion" >&5 |
| +$as_echo "$with_c_locale_coercion" >&6; } |
| + |
| +# Check for Valgrind support |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-valgrind" >&5 |
| +$as_echo_n "checking for --with-valgrind... " >&6; } |
| + |
| +# Check whether --with-valgrind was given. |
| +if test "${with_valgrind+set}" = set; then : |
| + withval=$with_valgrind; |
| +else |
| + with_valgrind=no |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_valgrind" >&5 |
| +$as_echo "$with_valgrind" >&6; } |
| +if test "$with_valgrind" != no; then |
| + ac_fn_c_check_header_mongrel "$LINENO" "valgrind/valgrind.h" "ac_cv_header_valgrind_valgrind_h" "$ac_includes_default" |
| +if test "x$ac_cv_header_valgrind_valgrind_h" = xyes; then : |
| + |
| +$as_echo "#define WITH_VALGRIND 1" >>confdefs.h |
| + |
| +else |
| + as_fn_error $? "Valgrind support requested but headers not available" "$LINENO" 5 |
| + |
| +fi |
| + |
| + |
| + OPT="-DDYNAMIC_ANNOTATIONS_ENABLED=1 $OPT" |
| +fi |
| + |
| +# Check for DTrace support |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-dtrace" >&5 |
| +$as_echo_n "checking for --with-dtrace... " >&6; } |
| + |
| +# Check whether --with-dtrace was given. |
| +if test "${with_dtrace+set}" = set; then : |
| + withval=$with_dtrace; |
| +else |
| + with_dtrace=no |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_dtrace" >&5 |
| +$as_echo "$with_dtrace" >&6; } |
| + |
| + |
| + |
| + |
| + |
| +DTRACE= |
| +DTRACE_HEADERS= |
| +DTRACE_OBJS= |
| + |
| +if test "$with_dtrace" = "yes" |
| +then |
| + # Extract the first word of "dtrace", so it can be a program name with args. |
| +set dummy dtrace; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_path_DTRACE+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + case $DTRACE in |
| + [\\/]* | ?:[\\/]*) |
| + ac_cv_path_DTRACE="$DTRACE" # Let the user override the test with a path. |
| + ;; |
| + *) |
| + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_path_DTRACE="$as_dir/$ac_word$ac_exec_ext" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| + test -z "$ac_cv_path_DTRACE" && ac_cv_path_DTRACE="not found" |
| + ;; |
| +esac |
| +fi |
| +DTRACE=$ac_cv_path_DTRACE |
| +if test -n "$DTRACE"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DTRACE" >&5 |
| +$as_echo "$DTRACE" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + if test "$DTRACE" = "not found"; then |
| + as_fn_error $? "dtrace command not found on \$PATH" "$LINENO" 5 |
| + fi |
| + |
| +$as_echo "#define WITH_DTRACE 1" >>confdefs.h |
| + |
| + DTRACE_HEADERS="Include/pydtrace_probes.h" |
| + |
| + # On OS X, DTrace providers do not need to be explicitly compiled and |
| + # linked into the binary. Correspondingly, dtrace(1) is missing the ELF |
| + # generation flag '-G'. We check for presence of this flag, rather than |
| + # hardcoding support by OS, in the interest of robustness. |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether DTrace probes require linking" >&5 |
| +$as_echo_n "checking whether DTrace probes require linking... " >&6; } |
| +if ${ac_cv_dtrace_link+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_cv_dtrace_link=no |
| + echo 'BEGIN{}' > conftest.d |
| + "$DTRACE" $DFLAGS -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ |
| + ac_cv_dtrace_link=yes |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_dtrace_link" >&5 |
| +$as_echo "$ac_cv_dtrace_link" >&6; } |
| + if test "$ac_cv_dtrace_link" = "yes"; then |
| + DTRACE_OBJS="Python/pydtrace.o" |
| + fi |
| +fi |
| + |
| +# -I${DLINCLDIR} is added to the compile rule for importdl.o |
| + |
| +DLINCLDIR=. |
| + |
| +# the dlopen() function means we might want to use dynload_shlib.o. some |
| +# platforms have dlopen(), but don't want to use it. |
| +for ac_func in dlopen |
| +do : |
| + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" |
| +if test "x$ac_cv_func_dlopen" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DLOPEN 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| + |
| +# DYNLOADFILE specifies which dynload_*.o file we will use for dynamic |
| +# loading of modules. |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking DYNLOADFILE" >&5 |
| +$as_echo_n "checking DYNLOADFILE... " >&6; } |
| +if test -z "$DYNLOADFILE" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + hp*|HP*) DYNLOADFILE="dynload_hpux.o";; |
| + *) |
| + # use dynload_shlib.c and dlopen() if we have it; otherwise stub |
| + # out any dynamic loading |
| + if test "$ac_cv_func_dlopen" = yes |
| + then DYNLOADFILE="dynload_shlib.o" |
| + else DYNLOADFILE="dynload_stub.o" |
| + fi |
| + ;; |
| + esac |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DYNLOADFILE" >&5 |
| +$as_echo "$DYNLOADFILE" >&6; } |
| +if test "$DYNLOADFILE" != "dynload_stub.o" |
| +then |
| + |
| +$as_echo "#define HAVE_DYNAMIC_LOADING 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# MACHDEP_OBJS can be set to platform-specific object files needed by Python |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking MACHDEP_OBJS" >&5 |
| +$as_echo_n "checking MACHDEP_OBJS... " >&6; } |
| +if test -z "$MACHDEP_OBJS" |
| +then |
| + MACHDEP_OBJS=$extra_machdep_objs |
| +else |
| + MACHDEP_OBJS="$MACHDEP_OBJS $extra_machdep_objs" |
| +fi |
| +if test -z "$MACHDEP_OBJS"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 |
| +$as_echo "none" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MACHDEP_OBJS" >&5 |
| +$as_echo "$MACHDEP_OBJS" >&6; } |
| +fi |
| + |
| +# checks for library functions |
| +for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \ |
| + clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \ |
| + explicit_memset faccessat fchmod fchmodat fchown fchownat \ |
| + fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \ |
| + futimens futimes gai_strerror getentropy \ |
| + getgrgid_r getgrnam_r \ |
| + getgrouplist getgroups getlogin getloadavg getpeername getpgid getpid \ |
| + getpriority getresuid getresgid getpwent getpwnam_r getpwuid_r getspnam getspent getsid getwd \ |
| + if_nameindex \ |
| + initgroups kill killpg lchown lockf linkat lstat lutimes mmap \ |
| + memrchr mbrtowc mkdirat mkfifo \ |
| + madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \ |
| + posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \ |
| + pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \ |
| + readlink readlinkat readv realpath renameat \ |
| + sem_open sem_timedwait sem_clockwait sem_getvalue sem_unlink sendfile setegid seteuid \ |
| + setgid sethostname \ |
| + setlocale setregid setreuid setresuid setresgid setsid setpgid setpgrp setpriority setuid setvbuf \ |
| + sched_get_priority_max sched_setaffinity sched_setscheduler sched_setparam \ |
| + sched_rr_get_interval \ |
| + sigaction sigaltstack sigfillset siginterrupt sigpending sigrelse \ |
| + sigtimedwait sigwait sigwaitinfo snprintf splice strftime strlcpy strsignal symlinkat sync \ |
| + sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \ |
| + truncate uname unlinkat utimensat utimes vfork waitid waitpid wait3 wait4 \ |
| + wcscoll wcsftime wcsxfrm wmemcmp writev _getpty rtpSpawn |
| +do : |
| + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| + |
| +# Force lchmod off for Linux. Linux disallows changing the mode of symbolic |
| +# links. Some libc implementations have a stub lchmod implementation that always |
| +# returns an error. |
| +if test "$MACHDEP" != linux; then |
| + for ac_func in lchmod |
| +do : |
| + ac_fn_c_check_func "$LINENO" "lchmod" "ac_cv_func_lchmod" |
| +if test "x$ac_cv_func_lchmod" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LCHMOD 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| +fi |
| + |
| +ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h> |
| + #include <dirent.h> |
| +" |
| +if test "x$ac_cv_have_decl_dirfd" = xyes; then : |
| + |
| +$as_echo "#define HAVE_DIRFD 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| +# For some functions, having a definition is not sufficient, since |
| +# we want to take their address. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for chroot" >&5 |
| +$as_echo_n "checking for chroot... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +void *x=chroot |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CHROOT 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for link" >&5 |
| +$as_echo_n "checking for link... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +void *x=link |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_LINK 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symlink" >&5 |
| +$as_echo_n "checking for symlink... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +void *x=symlink |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_SYMLINK 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fchdir" >&5 |
| +$as_echo_n "checking for fchdir... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +void *x=fchdir |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_FCHDIR 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fsync" >&5 |
| +$as_echo_n "checking for fsync... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +void *x=fsync |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_FSYNC 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdatasync" >&5 |
| +$as_echo_n "checking for fdatasync... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +void *x=fdatasync |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_FDATASYNC 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for epoll" >&5 |
| +$as_echo_n "checking for epoll... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/epoll.h> |
| +int |
| +main () |
| +{ |
| +void *x=epoll_create |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_EPOLL 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for epoll_create1" >&5 |
| +$as_echo_n "checking for epoll_create1... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/epoll.h> |
| +int |
| +main () |
| +{ |
| +void *x=epoll_create1 |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_EPOLL_CREATE1 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kqueue" >&5 |
| +$as_echo_n "checking for kqueue... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/types.h> |
| +#include <sys/event.h> |
| + |
| +int |
| +main () |
| +{ |
| +int x=kqueue() |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_KQUEUE 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for prlimit" >&5 |
| +$as_echo_n "checking for prlimit... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/time.h> |
| +#include <sys/resource.h> |
| + |
| +int |
| +main () |
| +{ |
| +void *x=prlimit |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_PRLIMIT 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _dyld_shared_cache_contains_path" >&5 |
| +$as_echo_n "checking for _dyld_shared_cache_contains_path... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <mach-o/dyld.h> |
| +int |
| +main () |
| +{ |
| +void *x=_dyld_shared_cache_contains_path |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for memfd_create" >&5 |
| +$as_echo_n "checking for memfd_create... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#ifdef HAVE_SYS_MMAN_H |
| +#include <sys/mman.h> |
| +#endif |
| +#ifdef HAVE_SYS_MEMFD_H |
| +#include <sys/memfd.h> |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| +void *x=memfd_create |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_MEMFD_CREATE 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for eventfd" >&5 |
| +$as_echo_n "checking for eventfd... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#ifdef HAVE_SYS_EVENTFD_H |
| +#include <sys/eventfd.h> |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| +int x = eventfd(0, EFD_CLOEXEC) |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_EVENTFD 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# On some systems (eg. FreeBSD 5), we would find a definition of the |
| +# functions ctermid_r, setgroups in the library, but no prototype |
| +# (e.g. because we use _XOPEN_SOURCE). See whether we can take their |
| +# address to avoid compiler warnings and potential miscompilations |
| +# because of the missing prototypes. |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ctermid_r" >&5 |
| +$as_echo_n "checking for ctermid_r... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| + |
| +int |
| +main () |
| +{ |
| +void* p = ctermid_r |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CTERMID_R 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock declaration" >&5 |
| +$as_echo_n "checking for flock declaration... " >&6; } |
| +if ${ac_cv_flock_decl+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/file.h> |
| +int |
| +main () |
| +{ |
| +void* p = flock |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_flock_decl=yes |
| +else |
| + ac_cv_flock_decl=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_flock_decl" >&5 |
| +$as_echo "$ac_cv_flock_decl" >&6; } |
| +if test "x${ac_cv_flock_decl}" = xyes; then |
| + for ac_func in flock |
| +do : |
| + ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock" |
| +if test "x$ac_cv_func_flock" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_FLOCK 1 |
| +_ACEOF |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock in -lbsd" >&5 |
| +$as_echo_n "checking for flock in -lbsd... " >&6; } |
| +if ${ac_cv_lib_bsd_flock+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lbsd $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char flock (); |
| +int |
| +main () |
| +{ |
| +return flock (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_bsd_flock=yes |
| +else |
| + ac_cv_lib_bsd_flock=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_flock" >&5 |
| +$as_echo "$ac_cv_lib_bsd_flock" >&6; } |
| +if test "x$ac_cv_lib_bsd_flock" = xyes; then : |
| + $as_echo "#define HAVE_FLOCK 1" >>confdefs.h |
| + |
| + |
| +$as_echo "#define FLOCK_NEEDS_LIBBSD 1" >>confdefs.h |
| + |
| + |
| +fi |
| + |
| + |
| +fi |
| +done |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize" >&5 |
| +$as_echo_n "checking for getpagesize... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <unistd.h> |
| + |
| +int |
| +main () |
| +{ |
| +void* p = getpagesize |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken unsetenv" >&5 |
| +$as_echo_n "checking for broken unsetenv... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdlib.h> |
| + |
| +int |
| +main () |
| +{ |
| +int res = unsetenv("DUMMY") |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +else |
| + |
| +$as_echo "#define HAVE_BROKEN_UNSETENV 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +for ac_prog in true |
| +do |
| + # Extract the first word of "$ac_prog", so it can be a program name with args. |
| +set dummy $ac_prog; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_TRUE+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$TRUE"; then |
| + ac_cv_prog_TRUE="$TRUE" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_TRUE="$ac_prog" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +TRUE=$ac_cv_prog_TRUE |
| +if test -n "$TRUE"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRUE" >&5 |
| +$as_echo "$TRUE" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + test -n "$TRUE" && break |
| +done |
| +test -n "$TRUE" || TRUE="/bin/true" |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_aton in -lc" >&5 |
| +$as_echo_n "checking for inet_aton in -lc... " >&6; } |
| +if ${ac_cv_lib_c_inet_aton+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lc $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char inet_aton (); |
| +int |
| +main () |
| +{ |
| +return inet_aton (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_c_inet_aton=yes |
| +else |
| + ac_cv_lib_c_inet_aton=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_inet_aton" >&5 |
| +$as_echo "$ac_cv_lib_c_inet_aton" >&6; } |
| +if test "x$ac_cv_lib_c_inet_aton" = xyes; then : |
| + $ac_cv_prog_TRUE |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_aton in -lresolv" >&5 |
| +$as_echo_n "checking for inet_aton in -lresolv... " >&6; } |
| +if ${ac_cv_lib_resolv_inet_aton+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lresolv $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char inet_aton (); |
| +int |
| +main () |
| +{ |
| +return inet_aton (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_resolv_inet_aton=yes |
| +else |
| + ac_cv_lib_resolv_inet_aton=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_inet_aton" >&5 |
| +$as_echo "$ac_cv_lib_resolv_inet_aton" >&6; } |
| +if test "x$ac_cv_lib_resolv_inet_aton" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LIBRESOLV 1 |
| +_ACEOF |
| + |
| + LIBS="-lresolv $LIBS" |
| + |
| +fi |
| + |
| + |
| +fi |
| + |
| + |
| +# On Tru64, chflags seems to be present, but calling it will |
| +# exit Python |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for chflags" >&5 |
| +$as_echo_n "checking for chflags... " >&6; } |
| +if ${ac_cv_have_chflags+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_have_chflags=cross |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/stat.h> |
| +#include <unistd.h> |
| +int main(int argc, char*argv[]) |
| +{ |
| + if(chflags(argv[0], 0) != 0) |
| + return 1; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_have_chflags=yes |
| +else |
| + ac_cv_have_chflags=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_chflags" >&5 |
| +$as_echo "$ac_cv_have_chflags" >&6; } |
| +if test "$ac_cv_have_chflags" = cross ; then |
| + ac_fn_c_check_func "$LINENO" "chflags" "ac_cv_func_chflags" |
| +if test "x$ac_cv_func_chflags" = xyes; then : |
| + ac_cv_have_chflags="yes" |
| +else |
| + ac_cv_have_chflags="no" |
| +fi |
| + |
| +fi |
| +if test "$ac_cv_have_chflags" = yes ; then |
| + |
| +$as_echo "#define HAVE_CHFLAGS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lchflags" >&5 |
| +$as_echo_n "checking for lchflags... " >&6; } |
| +if ${ac_cv_have_lchflags+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_have_lchflags=cross |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/stat.h> |
| +#include <unistd.h> |
| +int main(int argc, char*argv[]) |
| +{ |
| + if(lchflags(argv[0], 0) != 0) |
| + return 1; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_have_lchflags=yes |
| +else |
| + ac_cv_have_lchflags=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_lchflags" >&5 |
| +$as_echo "$ac_cv_have_lchflags" >&6; } |
| +if test "$ac_cv_have_lchflags" = cross ; then |
| + ac_fn_c_check_func "$LINENO" "lchflags" "ac_cv_func_lchflags" |
| +if test "x$ac_cv_func_lchflags" = xyes; then : |
| + ac_cv_have_lchflags="yes" |
| +else |
| + ac_cv_have_lchflags="no" |
| +fi |
| + |
| +fi |
| +if test "$ac_cv_have_lchflags" = yes ; then |
| + |
| +$as_echo "#define HAVE_LCHFLAGS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +case $ac_sys_system/$ac_sys_release in |
| +Darwin/*) |
| + _CUR_CFLAGS="${CFLAGS}" |
| + _CUR_LDFLAGS="${LDFLAGS}" |
| + CFLAGS="${CFLAGS} -Wl,-search_paths_first" |
| + LDFLAGS="${LDFLAGS} -Wl,-search_paths_first -L/usr/local/lib" |
| + ;; |
| +esac |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5 |
| +$as_echo_n "checking for inflateCopy in -lz... " >&6; } |
| +if ${ac_cv_lib_z_inflateCopy+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lz $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char inflateCopy (); |
| +int |
| +main () |
| +{ |
| +return inflateCopy (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_z_inflateCopy=yes |
| +else |
| + ac_cv_lib_z_inflateCopy=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateCopy" >&5 |
| +$as_echo "$ac_cv_lib_z_inflateCopy" >&6; } |
| +if test "x$ac_cv_lib_z_inflateCopy" = xyes; then : |
| + |
| +$as_echo "#define HAVE_ZLIB_COPY 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| +case $ac_sys_system/$ac_sys_release in |
| +Darwin/*) |
| + CFLAGS="${_CUR_CFLAGS}" |
| + LDFLAGS="${_CUR_LDFLAGS}" |
| + ;; |
| +esac |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for hstrerror" >&5 |
| +$as_echo_n "checking for hstrerror... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <netdb.h> |
| + |
| +int |
| +main () |
| +{ |
| +void* p = hstrerror; hstrerror(0) |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_HSTRERROR 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_aton" >&5 |
| +$as_echo_n "checking for inet_aton... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +#include <netinet/in.h> |
| +#include <arpa/inet.h> |
| + |
| +int |
| +main () |
| +{ |
| +void* p = inet_aton;inet_aton(0,0) |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_INET_ATON 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_pton" >&5 |
| +$as_echo_n "checking for inet_pton... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +#include <netinet/in.h> |
| +#include <arpa/inet.h> |
| + |
| +int |
| +main () |
| +{ |
| +void* p = inet_pton |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_INET_PTON 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# On some systems, setgroups is in unistd.h, on others, in grp.h |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setgroups" >&5 |
| +$as_echo_n "checking for setgroups... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <unistd.h> |
| +#ifdef HAVE_GRP_H |
| +#include <grp.h> |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| +void* p = setgroups |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_SETGROUPS 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# check for openpty and forkpty |
| + |
| +for ac_func in openpty |
| +do : |
| + ac_fn_c_check_func "$LINENO" "openpty" "ac_cv_func_openpty" |
| +if test "x$ac_cv_func_openpty" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_OPENPTY 1 |
| +_ACEOF |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty in -lutil" >&5 |
| +$as_echo_n "checking for openpty in -lutil... " >&6; } |
| +if ${ac_cv_lib_util_openpty+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lutil $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char openpty (); |
| +int |
| +main () |
| +{ |
| +return openpty (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_util_openpty=yes |
| +else |
| + ac_cv_lib_util_openpty=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_openpty" >&5 |
| +$as_echo "$ac_cv_lib_util_openpty" >&6; } |
| +if test "x$ac_cv_lib_util_openpty" = xyes; then : |
| + $as_echo "#define HAVE_OPENPTY 1" >>confdefs.h |
| + LIBS="$LIBS -lutil" |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty in -lbsd" >&5 |
| +$as_echo_n "checking for openpty in -lbsd... " >&6; } |
| +if ${ac_cv_lib_bsd_openpty+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lbsd $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char openpty (); |
| +int |
| +main () |
| +{ |
| +return openpty (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_bsd_openpty=yes |
| +else |
| + ac_cv_lib_bsd_openpty=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_openpty" >&5 |
| +$as_echo "$ac_cv_lib_bsd_openpty" >&6; } |
| +if test "x$ac_cv_lib_bsd_openpty" = xyes; then : |
| + $as_echo "#define HAVE_OPENPTY 1" >>confdefs.h |
| + LIBS="$LIBS -lbsd" |
| +fi |
| + |
| + |
| +fi |
| + |
| + |
| +fi |
| +done |
| + |
| +for ac_func in forkpty |
| +do : |
| + ac_fn_c_check_func "$LINENO" "forkpty" "ac_cv_func_forkpty" |
| +if test "x$ac_cv_func_forkpty" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_FORKPTY 1 |
| +_ACEOF |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for forkpty in -lutil" >&5 |
| +$as_echo_n "checking for forkpty in -lutil... " >&6; } |
| +if ${ac_cv_lib_util_forkpty+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lutil $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char forkpty (); |
| +int |
| +main () |
| +{ |
| +return forkpty (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_util_forkpty=yes |
| +else |
| + ac_cv_lib_util_forkpty=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_forkpty" >&5 |
| +$as_echo "$ac_cv_lib_util_forkpty" >&6; } |
| +if test "x$ac_cv_lib_util_forkpty" = xyes; then : |
| + $as_echo "#define HAVE_FORKPTY 1" >>confdefs.h |
| + LIBS="$LIBS -lutil" |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for forkpty in -lbsd" >&5 |
| +$as_echo_n "checking for forkpty in -lbsd... " >&6; } |
| +if ${ac_cv_lib_bsd_forkpty+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lbsd $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char forkpty (); |
| +int |
| +main () |
| +{ |
| +return forkpty (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_bsd_forkpty=yes |
| +else |
| + ac_cv_lib_bsd_forkpty=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_forkpty" >&5 |
| +$as_echo "$ac_cv_lib_bsd_forkpty" >&6; } |
| +if test "x$ac_cv_lib_bsd_forkpty" = xyes; then : |
| + $as_echo "#define HAVE_FORKPTY 1" >>confdefs.h |
| + LIBS="$LIBS -lbsd" |
| +fi |
| + |
| + |
| +fi |
| + |
| + |
| +fi |
| +done |
| + |
| + |
| +# check for long file support functions |
| +for ac_func in fseek64 fseeko fstatvfs ftell64 ftello statvfs |
| +do : |
| + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| + |
| +ac_fn_c_check_func "$LINENO" "dup2" "ac_cv_func_dup2" |
| +if test "x$ac_cv_func_dup2" = xyes; then : |
| + $as_echo "#define HAVE_DUP2 1" >>confdefs.h |
| + |
| +else |
| + case " $LIBOBJS " in |
| + *" dup2.$ac_objext "* ) ;; |
| + *) LIBOBJS="$LIBOBJS dup2.$ac_objext" |
| + ;; |
| +esac |
| + |
| +fi |
| + |
| + |
| +for ac_func in getpgrp |
| +do : |
| + ac_fn_c_check_func "$LINENO" "getpgrp" "ac_cv_func_getpgrp" |
| +if test "x$ac_cv_func_getpgrp" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_GETPGRP 1 |
| +_ACEOF |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +getpgrp(0); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define GETPGRP_HAVE_ARG 1" >>confdefs.h |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +fi |
| +done |
| + |
| +for ac_func in setpgrp |
| +do : |
| + ac_fn_c_check_func "$LINENO" "setpgrp" "ac_cv_func_setpgrp" |
| +if test "x$ac_cv_func_setpgrp" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_SETPGRP 1 |
| +_ACEOF |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <unistd.h> |
| +int |
| +main () |
| +{ |
| +setpgrp(0,0); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define SETPGRP_HAVE_ARG 1" >>confdefs.h |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +fi |
| +done |
| + |
| + |
| +# We search for both crypt and crypt_r as one or the other may be defined |
| +# This gets us our -lcrypt in LIBS when required on the target platform. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5 |
| +$as_echo_n "checking for library containing crypt... " >&6; } |
| +if ${ac_cv_search_crypt+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_func_search_save_LIBS=$LIBS |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char crypt (); |
| +int |
| +main () |
| +{ |
| +return crypt (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +for ac_lib in '' crypt; do |
| + if test -z "$ac_lib"; then |
| + ac_res="none required" |
| + else |
| + ac_res=-l$ac_lib |
| + LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
| + fi |
| + if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_search_crypt=$ac_res |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext |
| + if ${ac_cv_search_crypt+:} false; then : |
| + break |
| +fi |
| +done |
| +if ${ac_cv_search_crypt+:} false; then : |
| + |
| +else |
| + ac_cv_search_crypt=no |
| +fi |
| +rm conftest.$ac_ext |
| +LIBS=$ac_func_search_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt" >&5 |
| +$as_echo "$ac_cv_search_crypt" >&6; } |
| +ac_res=$ac_cv_search_crypt |
| +if test "$ac_res" != no; then : |
| + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt_r" >&5 |
| +$as_echo_n "checking for library containing crypt_r... " >&6; } |
| +if ${ac_cv_search_crypt_r+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_func_search_save_LIBS=$LIBS |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char crypt_r (); |
| +int |
| +main () |
| +{ |
| +return crypt_r (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +for ac_lib in '' crypt; do |
| + if test -z "$ac_lib"; then |
| + ac_res="none required" |
| + else |
| + ac_res=-l$ac_lib |
| + LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
| + fi |
| + if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_search_crypt_r=$ac_res |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext |
| + if ${ac_cv_search_crypt_r+:} false; then : |
| + break |
| +fi |
| +done |
| +if ${ac_cv_search_crypt_r+:} false; then : |
| + |
| +else |
| + ac_cv_search_crypt_r=no |
| +fi |
| +rm conftest.$ac_ext |
| +LIBS=$ac_func_search_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt_r" >&5 |
| +$as_echo "$ac_cv_search_crypt_r" >&6; } |
| +ac_res=$ac_cv_search_crypt_r |
| +if test "$ac_res" != no; then : |
| + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
| + |
| +fi |
| + |
| + |
| +ac_fn_c_check_func "$LINENO" "crypt_r" "ac_cv_func_crypt_r" |
| +if test "x$ac_cv_func_crypt_r" = xyes; then : |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#define _GNU_SOURCE /* Required for crypt_r()'s prototype in glibc. */ |
| +#include <crypt.h> |
| + |
| +int |
| +main () |
| +{ |
| + |
| +struct crypt_data d; |
| +char *r = crypt_r("", "", &d); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CRYPT_R 1" >>confdefs.h |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +fi |
| + |
| + |
| +for ac_func in clock_gettime |
| +do : |
| + ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" |
| +if test "x$ac_cv_func_clock_gettime" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_CLOCK_GETTIME 1 |
| +_ACEOF |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 |
| +$as_echo_n "checking for clock_gettime in -lrt... " >&6; } |
| +if ${ac_cv_lib_rt_clock_gettime+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lrt $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char clock_gettime (); |
| +int |
| +main () |
| +{ |
| +return clock_gettime (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_rt_clock_gettime=yes |
| +else |
| + ac_cv_lib_rt_clock_gettime=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 |
| +$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; } |
| +if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then : |
| + |
| + LIBS="$LIBS -lrt" |
| + $as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h |
| + |
| + |
| +$as_echo "#define TIMEMODULE_LIB rt" >>confdefs.h |
| + |
| + |
| +fi |
| + |
| + |
| +fi |
| +done |
| + |
| + |
| +for ac_func in clock_getres |
| +do : |
| + ac_fn_c_check_func "$LINENO" "clock_getres" "ac_cv_func_clock_getres" |
| +if test "x$ac_cv_func_clock_getres" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_CLOCK_GETRES 1 |
| +_ACEOF |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_getres in -lrt" >&5 |
| +$as_echo_n "checking for clock_getres in -lrt... " >&6; } |
| +if ${ac_cv_lib_rt_clock_getres+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lrt $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char clock_getres (); |
| +int |
| +main () |
| +{ |
| +return clock_getres (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_rt_clock_getres=yes |
| +else |
| + ac_cv_lib_rt_clock_getres=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_getres" >&5 |
| +$as_echo "$ac_cv_lib_rt_clock_getres" >&6; } |
| +if test "x$ac_cv_lib_rt_clock_getres" = xyes; then : |
| + |
| + $as_echo "#define HAVE_CLOCK_GETRES 1" >>confdefs.h |
| + |
| + |
| +fi |
| + |
| + |
| +fi |
| +done |
| + |
| + |
| +for ac_func in clock_settime |
| +do : |
| + ac_fn_c_check_func "$LINENO" "clock_settime" "ac_cv_func_clock_settime" |
| +if test "x$ac_cv_func_clock_settime" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_CLOCK_SETTIME 1 |
| +_ACEOF |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_settime in -lrt" >&5 |
| +$as_echo_n "checking for clock_settime in -lrt... " >&6; } |
| +if ${ac_cv_lib_rt_clock_settime+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lrt $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char clock_settime (); |
| +int |
| +main () |
| +{ |
| +return clock_settime (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_rt_clock_settime=yes |
| +else |
| + ac_cv_lib_rt_clock_settime=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_settime" >&5 |
| +$as_echo "$ac_cv_lib_rt_clock_settime" >&6; } |
| +if test "x$ac_cv_lib_rt_clock_settime" = xyes; then : |
| + |
| + $as_echo "#define HAVE_CLOCK_SETTIME 1" >>confdefs.h |
| + |
| + |
| +fi |
| + |
| + |
| +fi |
| +done |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for major" >&5 |
| +$as_echo_n "checking for major... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#if defined(MAJOR_IN_MKDEV) |
| +#include <sys/mkdev.h> |
| +#elif defined(MAJOR_IN_SYSMACROS) |
| +#include <sys/sysmacros.h> |
| +#else |
| +#include <sys/types.h> |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| + |
| + makedev(major(0),minor(0)); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + |
| + |
| +$as_echo "#define HAVE_DEVICE_MACROS 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| +# On OSF/1 V5.1, getaddrinfo is available, but a define |
| +# for [no]getaddrinfo in netdb.h. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 |
| +$as_echo_n "checking for getaddrinfo... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +#include <netdb.h> |
| +#include <stdio.h> |
| + |
| +int |
| +main () |
| +{ |
| +getaddrinfo(NULL, NULL, NULL, NULL); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_getaddrinfo=yes |
| +else |
| + have_getaddrinfo=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_getaddrinfo" >&5 |
| +$as_echo "$have_getaddrinfo" >&6; } |
| +if test $have_getaddrinfo = yes |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking getaddrinfo bug" >&5 |
| +$as_echo_n "checking getaddrinfo bug... " >&6; } |
| + if ${ac_cv_buggy_getaddrinfo+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + |
| +if test "${enable_ipv6+set}" = set; then |
| + ac_cv_buggy_getaddrinfo="no -- configured with --(en|dis)able-ipv6" |
| +else |
| + ac_cv_buggy_getaddrinfo=yes |
| +fi |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <sys/types.h> |
| +#include <netdb.h> |
| +#include <string.h> |
| +#include <sys/socket.h> |
| +#include <netinet/in.h> |
| + |
| +int main() |
| +{ |
| + int passive, gaierr, inet4 = 0, inet6 = 0; |
| + struct addrinfo hints, *ai, *aitop; |
| + char straddr[INET6_ADDRSTRLEN], strport[16]; |
| + |
| + for (passive = 0; passive <= 1; passive++) { |
| + memset(&hints, 0, sizeof(hints)); |
| + hints.ai_family = AF_UNSPEC; |
| + hints.ai_flags = passive ? AI_PASSIVE : 0; |
| + hints.ai_socktype = SOCK_STREAM; |
| + hints.ai_protocol = IPPROTO_TCP; |
| + if ((gaierr = getaddrinfo(NULL, "54321", &hints, &aitop)) != 0) { |
| + (void)gai_strerror(gaierr); |
| + goto bad; |
| + } |
| + for (ai = aitop; ai; ai = ai->ai_next) { |
| + if (ai->ai_addr == NULL || |
| + ai->ai_addrlen == 0 || |
| + getnameinfo(ai->ai_addr, ai->ai_addrlen, |
| + straddr, sizeof(straddr), strport, sizeof(strport), |
| + NI_NUMERICHOST|NI_NUMERICSERV) != 0) { |
| + goto bad; |
| + } |
| + switch (ai->ai_family) { |
| + case AF_INET: |
| + if (strcmp(strport, "54321") != 0) { |
| + goto bad; |
| + } |
| + if (passive) { |
| + if (strcmp(straddr, "0.0.0.0") != 0) { |
| + goto bad; |
| + } |
| + } else { |
| + if (strcmp(straddr, "127.0.0.1") != 0) { |
| + goto bad; |
| + } |
| + } |
| + inet4++; |
| + break; |
| + case AF_INET6: |
| + if (strcmp(strport, "54321") != 0) { |
| + goto bad; |
| + } |
| + if (passive) { |
| + if (strcmp(straddr, "::") != 0) { |
| + goto bad; |
| + } |
| + } else { |
| + if (strcmp(straddr, "::1") != 0) { |
| + goto bad; |
| + } |
| + } |
| + inet6++; |
| + break; |
| + case AF_UNSPEC: |
| + goto bad; |
| + break; |
| + default: |
| + /* another family support? */ |
| + break; |
| + } |
| + } |
| + freeaddrinfo(aitop); |
| + aitop = NULL; |
| + } |
| + |
| + if (!(inet4 == 0 || inet4 == 2)) |
| + goto bad; |
| + if (!(inet6 == 0 || inet6 == 2)) |
| + goto bad; |
| + |
| + if (aitop) |
| + freeaddrinfo(aitop); |
| + return 0; |
| + |
| + bad: |
| + if (aitop) |
| + freeaddrinfo(aitop); |
| + return 1; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_buggy_getaddrinfo=no |
| +else |
| + ac_cv_buggy_getaddrinfo=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_buggy_getaddrinfo" >&5 |
| +$as_echo "$ac_cv_buggy_getaddrinfo" >&6; } |
| + |
| +if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes |
| +then |
| + if test $ipv6 = yes |
| + then |
| + echo 'Fatal: You must get working getaddrinfo() function.' |
| + echo ' or you can specify "--disable-ipv6"'. |
| + exit 1 |
| + fi |
| +else |
| + |
| +$as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h |
| + |
| +fi |
| + |
| +for ac_func in getnameinfo |
| +do : |
| + ac_fn_c_check_func "$LINENO" "getnameinfo" "ac_cv_func_getnameinfo" |
| +if test "x$ac_cv_func_getnameinfo" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_GETNAMEINFO 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| + |
| +# checks for structures |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 |
| +$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } |
| +if ${ac_cv_header_time+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| +#include <sys/time.h> |
| +#include <time.h> |
| + |
| +int |
| +main () |
| +{ |
| +if ((struct tm *) 0) |
| +return 0; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_header_time=yes |
| +else |
| + ac_cv_header_time=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 |
| +$as_echo "$ac_cv_header_time" >&6; } |
| +if test $ac_cv_header_time = yes; then |
| + |
| +$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 |
| +$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } |
| +if ${ac_cv_struct_tm+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| +#include <time.h> |
| + |
| +int |
| +main () |
| +{ |
| +struct tm tm; |
| + int *p = &tm.tm_sec; |
| + return !p; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_struct_tm=time.h |
| +else |
| + ac_cv_struct_tm=sys/time.h |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 |
| +$as_echo "$ac_cv_struct_tm" >&6; } |
| +if test $ac_cv_struct_tm = sys/time.h; then |
| + |
| +$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h |
| + |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include <sys/types.h> |
| +#include <$ac_cv_struct_tm> |
| + |
| +" |
| +if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_TM_TM_ZONE 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +if test "$ac_cv_member_struct_tm_tm_zone" = yes; then |
| + |
| +$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h |
| + |
| +else |
| + ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include <time.h> |
| +" |
| +if test "x$ac_cv_have_decl_tzname" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_TZNAME $ac_have_decl |
| +_ACEOF |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 |
| +$as_echo_n "checking for tzname... " >&6; } |
| +if ${ac_cv_var_tzname+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <time.h> |
| +#if !HAVE_DECL_TZNAME |
| +extern char *tzname[]; |
| +#endif |
| + |
| +int |
| +main () |
| +{ |
| +return tzname[0][0]; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_var_tzname=yes |
| +else |
| + ac_cv_var_tzname=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 |
| +$as_echo "$ac_cv_var_tzname" >&6; } |
| + if test $ac_cv_var_tzname = yes; then |
| + |
| +$as_echo "#define HAVE_TZNAME 1" >>confdefs.h |
| + |
| + fi |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default" |
| +if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_STAT_ST_RDEV 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" |
| +if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct stat" "st_flags" "ac_cv_member_struct_stat_st_flags" "$ac_includes_default" |
| +if test "x$ac_cv_member_struct_stat_st_flags" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_STAT_ST_FLAGS 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct stat" "st_gen" "ac_cv_member_struct_stat_st_gen" "$ac_includes_default" |
| +if test "x$ac_cv_member_struct_stat_st_gen" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_STAT_ST_GEN 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtime" "ac_cv_member_struct_stat_st_birthtime" "$ac_includes_default" |
| +if test "x$ac_cv_member_struct_stat_st_birthtime" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default" |
| +if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_STAT_ST_BLOCKS 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +ac_fn_c_check_member "$LINENO" "struct passwd" "pw_gecos" "ac_cv_member_struct_passwd_pw_gecos" " |
| + #include <sys/types.h> |
| + #include <pwd.h> |
| + |
| +" |
| +if test "x$ac_cv_member_struct_passwd_pw_gecos" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_PASSWD_PW_GECOS 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| +ac_fn_c_check_member "$LINENO" "struct passwd" "pw_passwd" "ac_cv_member_struct_passwd_pw_passwd" " |
| + #include <sys/types.h> |
| + #include <pwd.h> |
| + |
| +" |
| +if test "x$ac_cv_member_struct_passwd_pw_passwd" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_STRUCT_PASSWD_PW_PASSWD 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +# Issue #21085: In Cygwin, siginfo_t does not have si_band field. |
| +ac_fn_c_check_member "$LINENO" "siginfo_t" "si_band" "ac_cv_member_siginfo_t_si_band" "#include <signal.h> |
| +" |
| +if test "x$ac_cv_member_siginfo_t_si_band" = xyes; then : |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_SIGINFO_T_SI_BAND 1 |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for time.h that defines altzone" >&5 |
| +$as_echo_n "checking for time.h that defines altzone... " >&6; } |
| +if ${ac_cv_header_time_altzone+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <time.h> |
| +int |
| +main () |
| +{ |
| +return altzone; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_header_time_altzone=yes |
| +else |
| + ac_cv_header_time_altzone=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time_altzone" >&5 |
| +$as_echo "$ac_cv_header_time_altzone" >&6; } |
| +if test $ac_cv_header_time_altzone = yes; then |
| + |
| +$as_echo "#define HAVE_ALTZONE 1" >>confdefs.h |
| + |
| +fi |
| + |
| +was_it_defined=no |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/select.h and sys/time.h may both be included" >&5 |
| +$as_echo_n "checking whether sys/select.h and sys/time.h may both be included... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/types.h> |
| +#include <sys/select.h> |
| +#include <sys/time.h> |
| + |
| +int |
| +main () |
| +{ |
| +; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + |
| +$as_echo "#define SYS_SELECT_WITH_SYS_TIME 1" >>confdefs.h |
| + |
| + was_it_defined=yes |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $was_it_defined" >&5 |
| +$as_echo "$was_it_defined" >&6; } |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for addrinfo" >&5 |
| +$as_echo_n "checking for addrinfo... " >&6; } |
| +if ${ac_cv_struct_addrinfo+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <netdb.h> |
| +int |
| +main () |
| +{ |
| +struct addrinfo a |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_struct_addrinfo=yes |
| +else |
| + ac_cv_struct_addrinfo=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_addrinfo" >&5 |
| +$as_echo "$ac_cv_struct_addrinfo" >&6; } |
| +if test $ac_cv_struct_addrinfo = yes; then |
| + |
| +$as_echo "#define HAVE_ADDRINFO 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sockaddr_storage" >&5 |
| +$as_echo_n "checking for sockaddr_storage... " >&6; } |
| +if ${ac_cv_struct_sockaddr_storage+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +# include <sys/types.h> |
| +# include <sys/socket.h> |
| +int |
| +main () |
| +{ |
| +struct sockaddr_storage s |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_struct_sockaddr_storage=yes |
| +else |
| + ac_cv_struct_sockaddr_storage=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_sockaddr_storage" >&5 |
| +$as_echo "$ac_cv_struct_sockaddr_storage" >&6; } |
| +if test $ac_cv_struct_sockaddr_storage = yes; then |
| + |
| +$as_echo "#define HAVE_SOCKADDR_STORAGE 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sockaddr_alg" >&5 |
| +$as_echo_n "checking for sockaddr_alg... " >&6; } |
| +if ${ac_cv_struct_sockaddr_alg+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +# include <sys/types.h> |
| +# include <sys/socket.h> |
| +# include <linux/if_alg.h> |
| +int |
| +main () |
| +{ |
| +struct sockaddr_alg s |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_struct_sockaddr_alg=yes |
| +else |
| + ac_cv_struct_sockaddr_alg=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_sockaddr_alg" >&5 |
| +$as_echo "$ac_cv_struct_sockaddr_alg" >&6; } |
| +if test $ac_cv_struct_sockaddr_alg = yes; then |
| + |
| +$as_echo "#define HAVE_SOCKADDR_ALG 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# checks for compiler characteristics |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 |
| +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } |
| +if ${ac_cv_c_const+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef __cplusplus |
| + /* Ultrix mips cc rejects this sort of thing. */ |
| + typedef int charset[2]; |
| + const charset cs = { 0, 0 }; |
| + /* SunOS 4.1.1 cc rejects this. */ |
| + char const *const *pcpcc; |
| + char **ppc; |
| + /* NEC SVR4.0.2 mips cc rejects this. */ |
| + struct point {int x, y;}; |
| + static struct point const zero = {0,0}; |
| + /* AIX XL C 1.02.0.0 rejects this. |
| + It does not let you subtract one const X* pointer from another in |
| + an arm of an if-expression whose if-part is not a constant |
| + expression */ |
| + const char *g = "string"; |
| + pcpcc = &g + (g ? g-g : 0); |
| + /* HPUX 7.0 cc rejects these. */ |
| + ++pcpcc; |
| + ppc = (char**) pcpcc; |
| + pcpcc = (char const *const *) ppc; |
| + { /* SCO 3.2v4 cc rejects this sort of thing. */ |
| + char tx; |
| + char *t = &tx; |
| + char const *s = 0 ? (char *) 0 : (char const *) 0; |
| + |
| + *t++ = 0; |
| + if (s) return 0; |
| + } |
| + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ |
| + int x[] = {25, 17}; |
| + const int *foo = &x[0]; |
| + ++foo; |
| + } |
| + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ |
| + typedef const int *iptr; |
| + iptr p = 0; |
| + ++p; |
| + } |
| + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying |
| + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ |
| + struct s { int j; const int *ap[3]; } bx; |
| + struct s *b = &bx; b->j = 5; |
| + } |
| + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ |
| + const int foo = 10; |
| + if (!foo) return 0; |
| + } |
| + return !cs[0] && !zero.x; |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_c_const=yes |
| +else |
| + ac_cv_c_const=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 |
| +$as_echo "$ac_cv_c_const" >&6; } |
| +if test $ac_cv_c_const = no; then |
| + |
| +$as_echo "#define const /**/" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| +works=no |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working signed char" >&5 |
| +$as_echo_n "checking for working signed char... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| +signed char c; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + works=yes |
| +else |
| + |
| +$as_echo "#define signed /**/" >>confdefs.h |
| + |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $works" >&5 |
| +$as_echo "$works" >&6; } |
| + |
| +have_prototypes=no |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for prototypes" >&5 |
| +$as_echo_n "checking for prototypes... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +int foo(int x) { return 0; } |
| +int |
| +main () |
| +{ |
| +return foo(10); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_PROTOTYPES 1" >>confdefs.h |
| + |
| + have_prototypes=yes |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_prototypes" >&5 |
| +$as_echo "$have_prototypes" >&6; } |
| + |
| +works=no |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for variable length prototypes and stdarg.h" >&5 |
| +$as_echo_n "checking for variable length prototypes and stdarg.h... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdarg.h> |
| +int foo(int x, ...) { |
| + va_list va; |
| + va_start(va, x); |
| + va_arg(va, int); |
| + va_arg(va, char *); |
| + va_arg(va, double); |
| + return 0; |
| +} |
| + |
| +int |
| +main () |
| +{ |
| +return foo(10, "", 3.14); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + |
| +$as_echo "#define HAVE_STDARG_PROTOTYPES 1" >>confdefs.h |
| + |
| + works=yes |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $works" >&5 |
| +$as_echo "$works" >&6; } |
| + |
| +# check for socketpair |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socketpair" >&5 |
| +$as_echo_n "checking for socketpair... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| + |
| +int |
| +main () |
| +{ |
| +void *x=socketpair |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_SOCKETPAIR 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# check if sockaddr has sa_len member |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if sockaddr has sa_len member" >&5 |
| +$as_echo_n "checking if sockaddr has sa_len member... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +int |
| +main () |
| +{ |
| +struct sockaddr x; |
| +x.sa_len = 0; |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +$as_echo "#define HAVE_SOCKADDR_SA_LEN 1" >>confdefs.h |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +# sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments :-( |
| + |
| + |
| +ac_fn_c_check_func "$LINENO" "gethostbyname_r" "ac_cv_func_gethostbyname_r" |
| +if test "x$ac_cv_func_gethostbyname_r" = xyes; then : |
| + |
| + $as_echo "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking gethostbyname_r with 6 args" >&5 |
| +$as_echo_n "checking gethostbyname_r with 6 args... " >&6; } |
| + OLD_CFLAGS=$CFLAGS |
| + CFLAGS="$CFLAGS $MY_CPPFLAGS $MY_THREAD_CPPFLAGS $MY_CFLAGS" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +# include <netdb.h> |
| + |
| +int |
| +main () |
| +{ |
| + |
| + char *name; |
| + struct hostent *he, *res; |
| + char buffer[2048]; |
| + int buflen = 2048; |
| + int h_errnop; |
| + |
| + (void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop) |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + $as_echo "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h |
| + |
| + |
| +$as_echo "#define HAVE_GETHOSTBYNAME_R_6_ARG 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking gethostbyname_r with 5 args" >&5 |
| +$as_echo_n "checking gethostbyname_r with 5 args... " >&6; } |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +# include <netdb.h> |
| + |
| +int |
| +main () |
| +{ |
| + |
| + char *name; |
| + struct hostent *he; |
| + char buffer[2048]; |
| + int buflen = 2048; |
| + int h_errnop; |
| + |
| + (void) gethostbyname_r(name, he, buffer, buflen, &h_errnop) |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + $as_echo "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h |
| + |
| + |
| +$as_echo "#define HAVE_GETHOSTBYNAME_R_5_ARG 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking gethostbyname_r with 3 args" >&5 |
| +$as_echo_n "checking gethostbyname_r with 3 args... " >&6; } |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +# include <netdb.h> |
| + |
| +int |
| +main () |
| +{ |
| + |
| + char *name; |
| + struct hostent *he; |
| + struct hostent_data data; |
| + |
| + (void) gethostbyname_r(name, he, &data); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + $as_echo "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h |
| + |
| + |
| +$as_echo "#define HAVE_GETHOSTBYNAME_R_3_ARG 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + CFLAGS=$OLD_CFLAGS |
| + |
| +else |
| + |
| + for ac_func in gethostbyname |
| +do : |
| + ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" |
| +if test "x$ac_cv_func_gethostbyname" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_GETHOSTBYNAME 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| + |
| +fi |
| + |
| + |
| + |
| + |
| + |
| + |
| + |
| +# checks for system services |
| +# (none yet) |
| + |
| +# Linux requires this for correct f.p. operations |
| +ac_fn_c_check_func "$LINENO" "__fpu_control" "ac_cv_func___fpu_control" |
| +if test "x$ac_cv_func___fpu_control" = xyes; then : |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __fpu_control in -lieee" >&5 |
| +$as_echo_n "checking for __fpu_control in -lieee... " >&6; } |
| +if ${ac_cv_lib_ieee___fpu_control+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-lieee $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char __fpu_control (); |
| +int |
| +main () |
| +{ |
| +return __fpu_control (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_lib_ieee___fpu_control=yes |
| +else |
| + ac_cv_lib_ieee___fpu_control=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ieee___fpu_control" >&5 |
| +$as_echo "$ac_cv_lib_ieee___fpu_control" >&6; } |
| +if test "x$ac_cv_lib_ieee___fpu_control" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_LIBIEEE 1 |
| +_ACEOF |
| + |
| + LIBS="-lieee $LIBS" |
| + |
| +fi |
| + |
| + |
| +fi |
| + |
| + |
| +# check for --with-libm=... |
| + |
| +case $ac_sys_system in |
| +Darwin) ;; |
| +*) LIBM=-lm |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-libm=STRING" >&5 |
| +$as_echo_n "checking for --with-libm=STRING... " >&6; } |
| + |
| +# Check whether --with-libm was given. |
| +if test "${with_libm+set}" = set; then : |
| + withval=$with_libm; |
| +if test "$withval" = no |
| +then LIBM= |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: force LIBM empty" >&5 |
| +$as_echo "force LIBM empty" >&6; } |
| +elif test "$withval" != yes |
| +then LIBM=$withval |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: set LIBM=\"$withval\"" >&5 |
| +$as_echo "set LIBM=\"$withval\"" >&6; } |
| +else as_fn_error $? "proper usage is --with-libm=STRING" "$LINENO" 5 |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: default LIBM=\"$LIBM\"" >&5 |
| +$as_echo "default LIBM=\"$LIBM\"" >&6; } |
| +fi |
| + |
| + |
| +# check for --with-libc=... |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-libc=STRING" >&5 |
| +$as_echo_n "checking for --with-libc=STRING... " >&6; } |
| + |
| +# Check whether --with-libc was given. |
| +if test "${with_libc+set}" = set; then : |
| + withval=$with_libc; |
| +if test "$withval" = no |
| +then LIBC= |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: force LIBC empty" >&5 |
| +$as_echo "force LIBC empty" >&6; } |
| +elif test "$withval" != yes |
| +then LIBC=$withval |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: set LIBC=\"$withval\"" >&5 |
| +$as_echo "set LIBC=\"$withval\"" >&6; } |
| +else as_fn_error $? "proper usage is --with-libc=STRING" "$LINENO" 5 |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: default LIBC=\"$LIBC\"" >&5 |
| +$as_echo "default LIBC=\"$LIBC\"" >&6; } |
| +fi |
| + |
| + |
| +# ************************************** |
| +# * Check for gcc x64 inline assembler * |
| +# ************************************** |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x64 gcc inline assembler" >&5 |
| +$as_echo_n "checking for x64 gcc inline assembler... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + __asm__ __volatile__ ("movq %rcx, %rax"); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_gcc_asm_for_x64=yes |
| +else |
| + have_gcc_asm_for_x64=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_asm_for_x64" >&5 |
| +$as_echo "$have_gcc_asm_for_x64" >&6; } |
| +if test "$have_gcc_asm_for_x64" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_GCC_ASM_FOR_X64 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# ************************************************** |
| +# * Check for various properties of floating point * |
| +# ************************************************** |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether float word ordering is bigendian" >&5 |
| +$as_echo_n "checking whether float word ordering is bigendian... " >&6; } |
| +if ${ax_cv_c_float_words_bigendian+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| + |
| +ax_cv_c_float_words_bigendian=unknown |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| +double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0; |
| + |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + |
| +if grep noonsees conftest.$ac_objext >/dev/null ; then |
| + ax_cv_c_float_words_bigendian=yes |
| +fi |
| +if grep seesnoon conftest.$ac_objext >/dev/null ; then |
| + if test "$ax_cv_c_float_words_bigendian" = unknown; then |
| + ax_cv_c_float_words_bigendian=no |
| + else |
| + ax_cv_c_float_words_bigendian=unknown |
| + fi |
| +fi |
| + |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_float_words_bigendian" >&5 |
| +$as_echo "$ax_cv_c_float_words_bigendian" >&6; } |
| + |
| +case $ax_cv_c_float_words_bigendian in |
| + yes) |
| + |
| +$as_echo "#define FLOAT_WORDS_BIGENDIAN 1" >>confdefs.h |
| + ;; |
| + no) |
| + ;; |
| + *) |
| + as_fn_error $? " |
| + |
| +Unknown float word ordering. You need to manually preset |
| +ax_cv_c_float_words_bigendian=no (or yes) according to your system. |
| + |
| + " "$LINENO" 5 ;; |
| +esac |
| + |
| + |
| +if test "$ax_cv_c_float_words_bigendian" = "yes" |
| +then |
| + |
| +$as_echo "#define DOUBLE_IS_BIG_ENDIAN_IEEE754 1" >>confdefs.h |
| + |
| +elif test "$ax_cv_c_float_words_bigendian" = "no" |
| +then |
| + |
| +$as_echo "#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1" >>confdefs.h |
| + |
| +else |
| + # Some ARM platforms use a mixed-endian representation for doubles. |
| + # While Python doesn't currently have full support for these platforms |
| + # (see e.g., issue 1762561), we can at least make sure that float <-> string |
| + # conversions work. |
| + # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big |
| + # or little, then it must be this? |
| + |
| +$as_echo "#define DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# The short float repr introduced in Python 3.1 requires the |
| +# correctly-rounded string <-> double conversion functions from |
| +# Python/dtoa.c, which in turn require that the FPU uses 53-bit |
| +# rounding; this is a problem on x86, where the x87 FPU has a default |
| +# rounding precision of 64 bits. For gcc/x86, we can fix this by |
| +# using inline assembler to get and set the x87 FPU control word. |
| + |
| +# This inline assembler syntax may also work for suncc and icc, |
| +# so we try it on all platforms. |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can use gcc inline assembler to get and set x87 control word" >&5 |
| +$as_echo_n "checking whether we can use gcc inline assembler to get and set x87 control word... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + unsigned short cw; |
| + __asm__ __volatile__ ("fnstcw %0" : "=m" (cw)); |
| + __asm__ __volatile__ ("fldcw %0" : : "m" (cw)); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_gcc_asm_for_x87=yes |
| +else |
| + have_gcc_asm_for_x87=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_asm_for_x87" >&5 |
| +$as_echo "$have_gcc_asm_for_x87" >&6; } |
| +if test "$have_gcc_asm_for_x87" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_GCC_ASM_FOR_X87 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can use gcc inline assembler to get and set mc68881 fpcr" >&5 |
| +$as_echo_n "checking whether we can use gcc inline assembler to get and set mc68881 fpcr... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + unsigned int fpcr; |
| + __asm__ __volatile__ ("fmove.l %%fpcr,%0" : "=g" (fpcr)); |
| + __asm__ __volatile__ ("fmove.l %0,%%fpcr" : : "g" (fpcr)); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_gcc_asm_for_mc68881=yes |
| +else |
| + have_gcc_asm_for_mc68881=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_asm_for_mc68881" >&5 |
| +$as_echo "$have_gcc_asm_for_mc68881" >&6; } |
| +if test "$have_gcc_asm_for_mc68881" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_GCC_ASM_FOR_MC68881 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Detect whether system arithmetic is subject to x87-style double |
| +# rounding issues. The result of this test has little meaning on non |
| +# IEEE 754 platforms. On IEEE 754, test should return 1 if rounding |
| +# mode is round-to-nearest and double rounding issues are present, and |
| +# 0 otherwise. See https://github.com/python/cpython/issues/47186 for more info. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x87-style double rounding" >&5 |
| +$as_echo_n "checking for x87-style double rounding... " >&6; } |
| +# $BASECFLAGS may affect the result |
| +ac_save_cc="$CC" |
| +CC="$CC $BASECFLAGS" |
| +if test "$cross_compiling" = yes; then : |
| + ac_cv_x87_double_rounding=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdlib.h> |
| +#include <math.h> |
| +int main() { |
| + volatile double x, y, z; |
| + /* 1./(1-2**-53) -> 1+2**-52 (correct), 1.0 (double rounding) */ |
| + x = 0.99999999999999989; /* 1-2**-53 */ |
| + y = 1./x; |
| + if (y != 1.) |
| + exit(0); |
| + /* 1e16+2.99999 -> 1e16+2. (correct), 1e16+4. (double rounding) */ |
| + x = 1e16; |
| + y = 2.99999; |
| + z = x + y; |
| + if (z != 1e16+4.) |
| + exit(0); |
| + /* both tests show evidence of double rounding */ |
| + exit(1); |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_x87_double_rounding=no |
| +else |
| + ac_cv_x87_double_rounding=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +CC="$ac_save_cc" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_x87_double_rounding" >&5 |
| +$as_echo "$ac_cv_x87_double_rounding" >&6; } |
| +if test "$ac_cv_x87_double_rounding" = yes |
| +then |
| + |
| +$as_echo "#define X87_DOUBLE_ROUNDING 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# ************************************ |
| +# * Check for mathematical functions * |
| +# ************************************ |
| + |
| +LIBS_SAVE=$LIBS |
| +LIBS="$LIBS $LIBM" |
| + |
| +for ac_func in acosh asinh atanh copysign erf erfc expm1 finite gamma |
| +do : |
| + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| +for ac_func in hypot lgamma log1p log2 round tgamma |
| +do : |
| + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| +ac_fn_c_check_decl "$LINENO" "isinf" "ac_cv_have_decl_isinf" "#include <math.h> |
| +" |
| +if test "x$ac_cv_have_decl_isinf" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_ISINF $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "isnan" "ac_cv_have_decl_isnan" "#include <math.h> |
| +" |
| +if test "x$ac_cv_have_decl_isnan" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_ISNAN $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "isfinite" "ac_cv_have_decl_isfinite" "#include <math.h> |
| +" |
| +if test "x$ac_cv_have_decl_isfinite" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_ISFINITE $ac_have_decl |
| +_ACEOF |
| + |
| + |
| +# For multiprocessing module, check that sem_open |
| +# actually works. For FreeBSD versions <= 7.2, |
| +# the kernel module that provides POSIX semaphores |
| +# isn't loaded by default, so an attempt to call |
| +# sem_open results in a 'Signal 12' error. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether POSIX semaphores are enabled" >&5 |
| +$as_echo_n "checking whether POSIX semaphores are enabled... " >&6; } |
| +if ${ac_cv_posix_semaphores_enabled+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_posix_semaphores_enabled=yes |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <unistd.h> |
| +#include <fcntl.h> |
| +#include <stdio.h> |
| +#include <semaphore.h> |
| +#include <sys/stat.h> |
| + |
| +int main(void) { |
| + sem_t *a = sem_open("/autoconf", O_CREAT, S_IRUSR|S_IWUSR, 0); |
| + if (a == SEM_FAILED) { |
| + perror("sem_open"); |
| + return 1; |
| + } |
| + sem_close(a); |
| + sem_unlink("/autoconf"); |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_posix_semaphores_enabled=yes |
| +else |
| + ac_cv_posix_semaphores_enabled=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_posix_semaphores_enabled" >&5 |
| +$as_echo "$ac_cv_posix_semaphores_enabled" >&6; } |
| +if test $ac_cv_posix_semaphores_enabled = no |
| +then |
| + |
| +$as_echo "#define POSIX_SEMAPHORES_NOT_ENABLED 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Multiprocessing check for broken sem_getvalue |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken sem_getvalue" >&5 |
| +$as_echo_n "checking for broken sem_getvalue... " >&6; } |
| +if ${ac_cv_broken_sem_getvalue+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_broken_sem_getvalue=yes |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <unistd.h> |
| +#include <fcntl.h> |
| +#include <stdio.h> |
| +#include <semaphore.h> |
| +#include <sys/stat.h> |
| + |
| +int main(void){ |
| + sem_t *a = sem_open("/autocftw", O_CREAT, S_IRUSR|S_IWUSR, 0); |
| + int count; |
| + int res; |
| + if(a==SEM_FAILED){ |
| + perror("sem_open"); |
| + return 1; |
| + |
| + } |
| + res = sem_getvalue(a, &count); |
| + sem_close(a); |
| + sem_unlink("/autocftw"); |
| + return res==-1 ? 1 : 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_broken_sem_getvalue=no |
| +else |
| + ac_cv_broken_sem_getvalue=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_sem_getvalue" >&5 |
| +$as_echo "$ac_cv_broken_sem_getvalue" >&6; } |
| +if test $ac_cv_broken_sem_getvalue = yes |
| +then |
| + |
| +$as_echo "#define HAVE_BROKEN_SEM_GETVALUE 1" >>confdefs.h |
| + |
| +fi |
| + |
| +ac_fn_c_check_decl "$LINENO" "RTLD_LAZY" "ac_cv_have_decl_RTLD_LAZY" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_LAZY" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_LAZY $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "RTLD_NOW" "ac_cv_have_decl_RTLD_NOW" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_NOW" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_NOW $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "RTLD_GLOBAL" "ac_cv_have_decl_RTLD_GLOBAL" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_GLOBAL" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_GLOBAL $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "RTLD_LOCAL" "ac_cv_have_decl_RTLD_LOCAL" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_LOCAL" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_LOCAL $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "RTLD_NODELETE" "ac_cv_have_decl_RTLD_NODELETE" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_NODELETE" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_NODELETE $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "RTLD_NOLOAD" "ac_cv_have_decl_RTLD_NOLOAD" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_NOLOAD" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_NOLOAD $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "RTLD_DEEPBIND" "ac_cv_have_decl_RTLD_DEEPBIND" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_DEEPBIND" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_DEEPBIND $ac_have_decl |
| +_ACEOF |
| +ac_fn_c_check_decl "$LINENO" "RTLD_MEMBER" "ac_cv_have_decl_RTLD_MEMBER" "#include <dlfcn.h> |
| +" |
| +if test "x$ac_cv_have_decl_RTLD_MEMBER" = xyes; then : |
| + ac_have_decl=1 |
| +else |
| + ac_have_decl=0 |
| +fi |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define HAVE_DECL_RTLD_MEMBER $ac_have_decl |
| +_ACEOF |
| + |
| + |
| +# determine what size digit to use for Python's longs |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking digit size for Python's longs" >&5 |
| +$as_echo_n "checking digit size for Python's longs... " >&6; } |
| +# Check whether --enable-big-digits was given. |
| +if test "${enable_big_digits+set}" = set; then : |
| + enableval=$enable_big_digits; case $enable_big_digits in |
| +yes) |
| + enable_big_digits=30 ;; |
| +no) |
| + enable_big_digits=15 ;; |
| +15|30) |
| + ;; |
| +*) |
| + as_fn_error $? "bad value $enable_big_digits for --enable-big-digits; value should be 15 or 30" "$LINENO" 5 ;; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_big_digits" >&5 |
| +$as_echo "$enable_big_digits" >&6; } |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define PYLONG_BITS_IN_DIGIT $enable_big_digits |
| +_ACEOF |
| + |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no value specified" >&5 |
| +$as_echo "no value specified" >&6; } |
| +fi |
| + |
| + |
| +# check for wchar.h |
| +ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" |
| +if test "x$ac_cv_header_wchar_h" = xyes; then : |
| + |
| + |
| +$as_echo "#define HAVE_WCHAR_H 1" >>confdefs.h |
| + |
| + wchar_h="yes" |
| + |
| +else |
| + wchar_h="no" |
| + |
| +fi |
| + |
| + |
| + |
| +# determine wchar_t size |
| +if test "$wchar_h" = yes |
| +then |
| + # The cast to long int works around a bug in the HP C Compiler |
| +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
| +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
| +# This bug is HP SR number 8606223364. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t" >&5 |
| +$as_echo_n "checking size of wchar_t... " >&6; } |
| +if ${ac_cv_sizeof_wchar_t+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (wchar_t))" "ac_cv_sizeof_wchar_t" "#include <wchar.h> |
| +"; then : |
| + |
| +else |
| + if test "$ac_cv_type_wchar_t" = yes; then |
| + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| +as_fn_error 77 "cannot compute sizeof (wchar_t) |
| +See \`config.log' for more details" "$LINENO" 5; } |
| + else |
| + ac_cv_sizeof_wchar_t=0 |
| + fi |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_wchar_t" >&5 |
| +$as_echo "$ac_cv_sizeof_wchar_t" >&6; } |
| + |
| + |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define SIZEOF_WCHAR_T $ac_cv_sizeof_wchar_t |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UCS-4 tcl" >&5 |
| +$as_echo_n "checking for UCS-4 tcl... " >&6; } |
| +have_ucs4_tcl=no |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <tcl.h> |
| +#if TCL_UTF_MAX != 6 |
| +# error "NOT UCS4_TCL" |
| +#endif |
| +int |
| +main () |
| +{ |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + |
| +$as_echo "#define HAVE_UCS4_TCL 1" >>confdefs.h |
| + |
| + have_ucs4_tcl=yes |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ucs4_tcl" >&5 |
| +$as_echo "$have_ucs4_tcl" >&6; } |
| + |
| +# check whether wchar_t is signed or not |
| +if test "$wchar_h" = yes |
| +then |
| + # check whether wchar_t is signed or not |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wchar_t is signed" >&5 |
| +$as_echo_n "checking whether wchar_t is signed... " >&6; } |
| + if ${ac_cv_wchar_t_signed+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_wchar_t_signed=yes |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + #include <wchar.h> |
| + int main() |
| + { |
| + /* Success: exit code 0 */ |
| + return ((((wchar_t) -1) < ((wchar_t) 0)) ? 0 : 1); |
| + } |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_wchar_t_signed=yes |
| +else |
| + ac_cv_wchar_t_signed=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_wchar_t_signed" >&5 |
| +$as_echo "$ac_cv_wchar_t_signed" >&6; } |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wchar_t is usable" >&5 |
| +$as_echo_n "checking whether wchar_t is usable... " >&6; } |
| +# wchar_t is only usable if it maps to an unsigned type |
| +if test "$ac_cv_sizeof_wchar_t" -ge 2 \ |
| + -a "$ac_cv_wchar_t_signed" = "no" |
| +then |
| + |
| +$as_echo "#define HAVE_USABLE_WCHAR_T 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| +case $ac_sys_system/$ac_sys_release in |
| +SunOS/*) |
| + if test -f /etc/os-release; then |
| + OS_NAME=$(awk -F= '/^NAME=/ {print substr($2,2,length($2)-2)}' /etc/os-release) |
| + if test "x$OS_NAME" = "xOracle Solaris"; then |
| + # bpo-43667: In Oracle Solaris, the internal form of wchar_t in |
| + # non-Unicode locales is not Unicode and hence cannot be used directly. |
| + # https://docs.oracle.com/cd/E37838_01/html/E61053/gmwke.html |
| + |
| +$as_echo "#define HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION 1" >>confdefs.h |
| + |
| + fi |
| + fi |
| + ;; |
| +esac |
| + |
| +# check for endianness |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 |
| +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } |
| +if ${ac_cv_c_bigendian+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_cv_c_bigendian=unknown |
| + # See if we're dealing with a universal compiler. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#ifndef __APPLE_CC__ |
| + not a universal capable compiler |
| + #endif |
| + typedef int dummy; |
| + |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| + # Check for potential -arch flags. It is not universal unless |
| + # there are at least two -arch flags with different values. |
| + ac_arch= |
| + ac_prev= |
| + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do |
| + if test -n "$ac_prev"; then |
| + case $ac_word in |
| + i?86 | x86_64 | ppc | ppc64) |
| + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then |
| + ac_arch=$ac_word |
| + else |
| + ac_cv_c_bigendian=universal |
| + break |
| + fi |
| + ;; |
| + esac |
| + ac_prev= |
| + elif test "x$ac_word" = "x-arch"; then |
| + ac_prev=arch |
| + fi |
| + done |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + if test $ac_cv_c_bigendian = unknown; then |
| + # See if sys/param.h defines the BYTE_ORDER macro. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| + #include <sys/param.h> |
| + |
| +int |
| +main () |
| +{ |
| +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ |
| + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ |
| + && LITTLE_ENDIAN) |
| + bogus endian macros |
| + #endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + # It does; now see whether it defined to BIG_ENDIAN or not. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/types.h> |
| + #include <sys/param.h> |
| + |
| +int |
| +main () |
| +{ |
| +#if BYTE_ORDER != BIG_ENDIAN |
| + not big endian |
| + #endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_c_bigendian=yes |
| +else |
| + ac_cv_c_bigendian=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + fi |
| + if test $ac_cv_c_bigendian = unknown; then |
| + # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <limits.h> |
| + |
| +int |
| +main () |
| +{ |
| +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) |
| + bogus endian macros |
| + #endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + # It does; now see whether it defined to _BIG_ENDIAN or not. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <limits.h> |
| + |
| +int |
| +main () |
| +{ |
| +#ifndef _BIG_ENDIAN |
| + not big endian |
| + #endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_c_bigendian=yes |
| +else |
| + ac_cv_c_bigendian=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + fi |
| + if test $ac_cv_c_bigendian = unknown; then |
| + # Compile a test program. |
| + if test "$cross_compiling" = yes; then : |
| + # Try to guess by grepping values from an object file. |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +short int ascii_mm[] = |
| + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; |
| + short int ascii_ii[] = |
| + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; |
| + int use_ascii (int i) { |
| + return ascii_mm[i] + ascii_ii[i]; |
| + } |
| + short int ebcdic_ii[] = |
| + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; |
| + short int ebcdic_mm[] = |
| + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; |
| + int use_ebcdic (int i) { |
| + return ebcdic_mm[i] + ebcdic_ii[i]; |
| + } |
| + extern int foo; |
| + |
| +int |
| +main () |
| +{ |
| +return use_ascii (foo) == use_ebcdic (foo); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then |
| + ac_cv_c_bigendian=yes |
| + fi |
| + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then |
| + if test "$ac_cv_c_bigendian" = unknown; then |
| + ac_cv_c_bigendian=no |
| + else |
| + # finding both strings is unlikely to happen, but who knows? |
| + ac_cv_c_bigendian=unknown |
| + fi |
| + fi |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +$ac_includes_default |
| +int |
| +main () |
| +{ |
| + |
| + /* Are we little or big endian? From Harbison&Steele. */ |
| + union |
| + { |
| + long int l; |
| + char c[sizeof (long int)]; |
| + } u; |
| + u.l = 1; |
| + return u.c[sizeof (long int) - 1] == 1; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_c_bigendian=no |
| +else |
| + ac_cv_c_bigendian=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 |
| +$as_echo "$ac_cv_c_bigendian" >&6; } |
| + case $ac_cv_c_bigendian in #( |
| + yes) |
| + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h |
| +;; #( |
| + no) |
| + ;; #( |
| + universal) |
| + |
| +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h |
| + |
| + ;; #( |
| + *) |
| + as_fn_error $? "unknown endianness |
| + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; |
| + esac |
| + |
| + |
| +# ABI version string for Python extension modules. This appears between the |
| +# periods in shared library file names, e.g. foo.<SOABI>.so. It is calculated |
| +# from the following attributes which affect the ABI of this Python build (in |
| +# this order): |
| +# |
| +# * The Python implementation (always 'cpython-' for us) |
| +# * The major and minor version numbers |
| +# * --with-pydebug (adds a 'd') |
| +# |
| +# Thus for example, Python 3.2 built with wide unicode, pydebug, and pymalloc, |
| +# would get a shared library ABI version tag of 'cpython-32dmu' and shared |
| +# libraries would be named 'foo.cpython-32dmu.so'. |
| +# |
| +# In Python 3.2 and older, --with-wide-unicode added a 'u' flag. |
| +# In Python 3.7 and older, --with-pymalloc added a 'm' flag. |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking ABIFLAGS" >&5 |
| +$as_echo_n "checking ABIFLAGS... " >&6; } |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ABIFLAGS" >&5 |
| +$as_echo "$ABIFLAGS" >&6; } |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5 |
| +$as_echo_n "checking SOABI... " >&6; } |
| +SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SOABI" >&5 |
| +$as_echo "$SOABI" >&6; } |
| + |
| +# Release and debug (Py_DEBUG) ABI are compatible, but not Py_TRACE_REFS ABI |
| +if test "$Py_DEBUG" = 'true' -a "$with_trace_refs" != "yes"; then |
| + # Similar to SOABI but remove "d" flag from ABIFLAGS |
| + |
| + ALT_SOABI='cpython-'`echo $VERSION | tr -d .``echo $ABIFLAGS | tr -d d`${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} |
| + |
| +cat >>confdefs.h <<_ACEOF |
| +#define ALT_SOABI "${ALT_SOABI}" |
| +_ACEOF |
| + |
| +fi |
| + |
| + |
| +EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX} |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LDVERSION" >&5 |
| +$as_echo_n "checking LDVERSION... " >&6; } |
| +LDVERSION='$(VERSION)$(ABIFLAGS)' |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDVERSION" >&5 |
| +$as_echo "$LDVERSION" >&6; } |
| + |
| +# On Android and Cygwin the shared libraries must be linked with libpython. |
| + |
| +if test -n "$ANDROID_API_LEVEL" -o "$MACHDEP" = "cygwin"; then |
| + LIBPYTHON="-lpython${VERSION}${ABIFLAGS}" |
| +else |
| + LIBPYTHON='' |
| +fi |
| + |
| + |
| + |
| +BINLIBDEST='$(LIBDIR)/python$(VERSION)' |
| + |
| + |
| +# Check for --with-platlibdir |
| +# /usr/$LIDIRNAME/python$VERSION |
| + |
| +PLATLIBDIR="lib" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-platlibdir" >&5 |
| +$as_echo_n "checking for --with-platlibdir... " >&6; } |
| + |
| +# Check whether --with-platlibdir was given. |
| +if test "${with_platlibdir+set}" = set; then : |
| + withval=$with_platlibdir; |
| +# ignore 3 options: |
| +# --with-platlibdir |
| +# --with-platlibdir= |
| +# --without-platlibdir |
| +if test -n "$withval" -a "$withval" != yes -a "$withval" != no |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + PLATLIBDIR="$withval" |
| + BINLIBDEST='${exec_prefix}/${PLATLIBDIR}/python$(VERSION)' |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + |
| + |
| +if test x$PLATFORM_TRIPLET = x; then |
| + LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}" |
| +else |
| + LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" |
| +fi |
| + |
| + |
| +# Check for --with-wheel-pkg-dir=PATH |
| + |
| +WHEEL_PKG_DIR="" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-wheel-pkg-dir" >&5 |
| +$as_echo_n "checking for --with-wheel-pkg-dir... " >&6; } |
| + |
| +# Check whether --with-wheel-pkg-dir was given. |
| +if test "${with_wheel_pkg_dir+set}" = set; then : |
| + withval=$with_wheel_pkg_dir; |
| +if test -n "$withval"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + WHEEL_PKG_DIR="$withval" |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +# Check whether right shifting a negative integer extends the sign bit |
| +# or fills with zeros (like the Cray J90, according to Tim Peters). |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether right shift extends the sign bit" >&5 |
| +$as_echo_n "checking whether right shift extends the sign bit... " >&6; } |
| +if ${ac_cv_rshift_extends_sign+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| +if test "$cross_compiling" = yes; then : |
| + ac_cv_rshift_extends_sign=yes |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int main() |
| +{ |
| + return (((-1)>>3 == -1) ? 0 : 1); |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_rshift_extends_sign=yes |
| +else |
| + ac_cv_rshift_extends_sign=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_rshift_extends_sign" >&5 |
| +$as_echo "$ac_cv_rshift_extends_sign" >&6; } |
| +if test "$ac_cv_rshift_extends_sign" = no |
| +then |
| + |
| +$as_echo "#define SIGNED_RIGHT_SHIFT_ZERO_FILLS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# check for getc_unlocked and related locking functions |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getc_unlocked() and friends" >&5 |
| +$as_echo_n "checking for getc_unlocked() and friends... " >&6; } |
| +if ${ac_cv_have_getc_unlocked+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <stdio.h> |
| +int |
| +main () |
| +{ |
| + |
| + FILE *f = fopen("/dev/null", "r"); |
| + flockfile(f); |
| + getc_unlocked(f); |
| + funlockfile(f); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_have_getc_unlocked=yes |
| +else |
| + ac_cv_have_getc_unlocked=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getc_unlocked" >&5 |
| +$as_echo "$ac_cv_have_getc_unlocked" >&6; } |
| +if test "$ac_cv_have_getc_unlocked" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_GETC_UNLOCKED 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| +# Check whether --with-readline was given. |
| +if test "${with_readline+set}" = set; then : |
| + withval=$with_readline; |
| +else |
| + with_readline=yes |
| +fi |
| + |
| + |
| +# check where readline lives |
| +py_cv_lib_readline=no |
| +# save the value of LIBS so we don't actually link Python with readline |
| +LIBS_no_readline=$LIBS |
| + |
| +if test "$with_readline" != no; then |
| + case "$with_readline" in |
| + editline|edit) |
| + LIBREADLINE=edit |
| + |
| +$as_echo "#define WITH_EDITLINE 1" >>confdefs.h |
| + |
| + ;; |
| + yes|readline) |
| + LIBREADLINE=readline |
| + ;; |
| + *) |
| + as_fn_error $? "proper usage is --with(out)-readline[=editline]" "$LINENO" 5 |
| + ;; |
| + esac |
| + |
| + # On some systems we need to link readline to a termcap compatible |
| + # library. NOTE: Keep the precedence of listed libraries synchronised |
| + # with setup.py. |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link readline libs" >&5 |
| +$as_echo_n "checking how to link readline libs... " >&6; } |
| + for py_libtermcap in "" tinfo ncursesw ncurses curses termcap; do |
| + if test -z "$py_libtermcap"; then |
| + READLINE_LIBS="-l$LIBREADLINE" |
| + else |
| + READLINE_LIBS="-l$LIBREADLINE -l$py_libtermcap" |
| + fi |
| + LIBS="$READLINE_LIBS $LIBS_no_readline" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char readline (); |
| +int |
| +main () |
| +{ |
| +return readline (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + py_cv_lib_readline=yes |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + if test $py_cv_lib_readline = yes; then |
| + break |
| + fi |
| + done |
| + |
| + # Uncomment this line if you want to use READLINE_LIBS in Makefile or scripts |
| + #AC_SUBST([READLINE_LIBS]) |
| + if test $py_cv_lib_readline = no; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 |
| +$as_echo "none" >&6; } |
| + else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINE_LIBS" >&5 |
| +$as_echo "$READLINE_LIBS" >&6; } |
| + |
| +$as_echo "#define HAVE_LIBREADLINE 1" >>confdefs.h |
| + |
| + fi |
| +fi |
| + |
| +if test "$py_cv_lib_readline" = yes; then |
| + # check for readline 2.2 |
| + ac_fn_c_check_decl "$LINENO" "rl_completion_append_character" "ac_cv_have_decl_rl_completion_append_character" " |
| +#include <stdio.h> /* Must be first for Gnu Readline */ |
| +#ifdef WITH_EDITLINE |
| +# include <editline/readline.h> |
| +#else |
| +# include <readline/readline.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_have_decl_rl_completion_append_character" = xyes; then : |
| + |
| +$as_echo "#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1" >>confdefs.h |
| + |
| +fi |
| + |
| + ac_fn_c_check_decl "$LINENO" "rl_completion_suppress_append" "ac_cv_have_decl_rl_completion_suppress_append" " |
| +#include <stdio.h> /* Must be first for Gnu Readline */ |
| +#ifdef WITH_EDITLINE |
| +# include <editline/readline.h> |
| +#else |
| +# include <readline/readline.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_have_decl_rl_completion_suppress_append" = xyes; then : |
| + |
| +$as_echo "#define HAVE_RL_COMPLETION_SUPPRESS_APPEND 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + # check for readline 4.0 |
| + as_ac_Lib=`$as_echo "ac_cv_lib_$LIBREADLINE''_rl_pre_input_hook" | $as_tr_sh` |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_pre_input_hook in -l$LIBREADLINE" >&5 |
| +$as_echo_n "checking for rl_pre_input_hook in -l$LIBREADLINE... " >&6; } |
| +if eval \${$as_ac_Lib+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-l$LIBREADLINE $READLINE_LIBS $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char rl_pre_input_hook (); |
| +int |
| +main () |
| +{ |
| +return rl_pre_input_hook (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + eval "$as_ac_Lib=yes" |
| +else |
| + eval "$as_ac_Lib=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +eval ac_res=\$$as_ac_Lib |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : |
| + |
| +$as_echo "#define HAVE_RL_PRE_INPUT_HOOK 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + # also in 4.0 |
| + as_ac_Lib=`$as_echo "ac_cv_lib_$LIBREADLINE''_rl_completion_display_matches_hook" | $as_tr_sh` |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_display_matches_hook in -l$LIBREADLINE" >&5 |
| +$as_echo_n "checking for rl_completion_display_matches_hook in -l$LIBREADLINE... " >&6; } |
| +if eval \${$as_ac_Lib+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-l$LIBREADLINE $READLINE_LIBS $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char rl_completion_display_matches_hook (); |
| +int |
| +main () |
| +{ |
| +return rl_completion_display_matches_hook (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + eval "$as_ac_Lib=yes" |
| +else |
| + eval "$as_ac_Lib=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +eval ac_res=\$$as_ac_Lib |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : |
| + |
| +$as_echo "#define HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + # also in 4.0, but not in editline |
| + as_ac_Lib=`$as_echo "ac_cv_lib_$LIBREADLINE''_rl_resize_terminal" | $as_tr_sh` |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_resize_terminal in -l$LIBREADLINE" >&5 |
| +$as_echo_n "checking for rl_resize_terminal in -l$LIBREADLINE... " >&6; } |
| +if eval \${$as_ac_Lib+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-l$LIBREADLINE $READLINE_LIBS $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char rl_resize_terminal (); |
| +int |
| +main () |
| +{ |
| +return rl_resize_terminal (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + eval "$as_ac_Lib=yes" |
| +else |
| + eval "$as_ac_Lib=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +eval ac_res=\$$as_ac_Lib |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : |
| + |
| +$as_echo "#define HAVE_RL_RESIZE_TERMINAL 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + # check for readline 4.2 |
| + as_ac_Lib=`$as_echo "ac_cv_lib_$LIBREADLINE''_rl_completion_matches" | $as_tr_sh` |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -l$LIBREADLINE" >&5 |
| +$as_echo_n "checking for rl_completion_matches in -l$LIBREADLINE... " >&6; } |
| +if eval \${$as_ac_Lib+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-l$LIBREADLINE $READLINE_LIBS $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char rl_completion_matches (); |
| +int |
| +main () |
| +{ |
| +return rl_completion_matches (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + eval "$as_ac_Lib=yes" |
| +else |
| + eval "$as_ac_Lib=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +eval ac_res=\$$as_ac_Lib |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : |
| + |
| +$as_echo "#define HAVE_RL_COMPLETION_MATCHES 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + # also in readline 4.2 |
| + ac_fn_c_check_decl "$LINENO" "rl_catch_signals" "ac_cv_have_decl_rl_catch_signals" " |
| +#include <stdio.h> /* Must be first for Gnu Readline */ |
| +#ifdef WITH_EDITLINE |
| +# include <editline/readline.h> |
| +#else |
| +# include <readline/readline.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_have_decl_rl_catch_signals" = xyes; then : |
| + |
| +$as_echo "#define HAVE_RL_CATCH_SIGNAL 1" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| + as_ac_Lib=`$as_echo "ac_cv_lib_$LIBREADLINE''_append_history" | $as_tr_sh` |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for append_history in -l$LIBREADLINE" >&5 |
| +$as_echo_n "checking for append_history in -l$LIBREADLINE... " >&6; } |
| +if eval \${$as_ac_Lib+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_check_lib_save_LIBS=$LIBS |
| +LIBS="-l$LIBREADLINE $READLINE_LIBS $LIBS" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char append_history (); |
| +int |
| +main () |
| +{ |
| +return append_history (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + eval "$as_ac_Lib=yes" |
| +else |
| + eval "$as_ac_Lib=no" |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS=$ac_check_lib_save_LIBS |
| +fi |
| +eval ac_res=\$$as_ac_Lib |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| +$as_echo "$ac_res" >&6; } |
| +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : |
| + |
| +$as_echo "#define HAVE_RL_APPEND_HISTORY 1" >>confdefs.h |
| + |
| +fi |
| + |
| +fi |
| + |
| +# End of readline checks: restore LIBS |
| +LIBS=$LIBS_no_readline |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken nice()" >&5 |
| +$as_echo_n "checking for broken nice()... " >&6; } |
| +if ${ac_cv_broken_nice+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| +if test "$cross_compiling" = yes; then : |
| + ac_cv_broken_nice=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdlib.h> |
| +#include <unistd.h> |
| +int main() |
| +{ |
| + int val1 = nice(1); |
| + if (val1 != -1 && val1 == nice(2)) |
| + exit(0); |
| + exit(1); |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_broken_nice=yes |
| +else |
| + ac_cv_broken_nice=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_nice" >&5 |
| +$as_echo "$ac_cv_broken_nice" >&6; } |
| +if test "$ac_cv_broken_nice" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_BROKEN_NICE 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken poll()" >&5 |
| +$as_echo_n "checking for broken poll()... " >&6; } |
| +if ${ac_cv_broken_poll+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_broken_poll=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <poll.h> |
| +#include <unistd.h> |
| + |
| +int main() |
| +{ |
| + struct pollfd poll_struct = { 42, POLLIN|POLLPRI|POLLOUT, 0 }; |
| + int poll_test; |
| + |
| + close (42); |
| + |
| + poll_test = poll(&poll_struct, 1, 0); |
| + if (poll_test < 0) |
| + return 0; |
| + else if (poll_test == 0 && poll_struct.revents != POLLNVAL) |
| + return 0; |
| + else |
| + return 1; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_broken_poll=yes |
| +else |
| + ac_cv_broken_poll=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_poll" >&5 |
| +$as_echo "$ac_cv_broken_poll" >&6; } |
| +if test "$ac_cv_broken_poll" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_BROKEN_POLL 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# check tzset(3) exists and works like we expect it to |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working tzset()" >&5 |
| +$as_echo_n "checking for working tzset()... " >&6; } |
| +if ${ac_cv_working_tzset+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + |
| +if test "$cross_compiling" = yes; then : |
| + ac_cv_working_tzset=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdlib.h> |
| +#include <time.h> |
| +#include <string.h> |
| + |
| +#if HAVE_TZNAME |
| +extern char *tzname[]; |
| +#endif |
| + |
| +int main() |
| +{ |
| + /* Note that we need to ensure that not only does tzset(3) |
| + do 'something' with localtime, but it works as documented |
| + in the library reference and as expected by the test suite. |
| + This includes making sure that tzname is set properly if |
| + tm->tm_zone does not exist since it is the alternative way |
| + of getting timezone info. |
| + |
| + Red Hat 6.2 doesn't understand the southern hemisphere |
| + after New Year's Day. |
| + */ |
| + |
| + time_t groundhogday = 1044144000; /* GMT-based */ |
| + time_t midyear = groundhogday + (365 * 24 * 3600 / 2); |
| + |
| + putenv("TZ=UTC+0"); |
| + tzset(); |
| + if (localtime(&groundhogday)->tm_hour != 0) |
| + exit(1); |
| +#if HAVE_TZNAME |
| + /* For UTC, tzname[1] is sometimes "", sometimes " " */ |
| + if (strcmp(tzname[0], "UTC") || |
| + (tzname[1][0] != 0 && tzname[1][0] != ' ')) |
| + exit(1); |
| +#endif |
| + |
| + putenv("TZ=EST+5EDT,M4.1.0,M10.5.0"); |
| + tzset(); |
| + if (localtime(&groundhogday)->tm_hour != 19) |
| + exit(1); |
| +#if HAVE_TZNAME |
| + if (strcmp(tzname[0], "EST") || strcmp(tzname[1], "EDT")) |
| + exit(1); |
| +#endif |
| + |
| + putenv("TZ=AEST-10AEDT-11,M10.5.0,M3.5.0"); |
| + tzset(); |
| + if (localtime(&groundhogday)->tm_hour != 11) |
| + exit(1); |
| +#if HAVE_TZNAME |
| + if (strcmp(tzname[0], "AEST") || strcmp(tzname[1], "AEDT")) |
| + exit(1); |
| +#endif |
| + |
| +#if HAVE_STRUCT_TM_TM_ZONE |
| + if (strcmp(localtime(&groundhogday)->tm_zone, "AEDT")) |
| + exit(1); |
| + if (strcmp(localtime(&midyear)->tm_zone, "AEST")) |
| + exit(1); |
| +#endif |
| + |
| + exit(0); |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_working_tzset=yes |
| +else |
| + ac_cv_working_tzset=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_tzset" >&5 |
| +$as_echo "$ac_cv_working_tzset" >&6; } |
| +if test "$ac_cv_working_tzset" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_WORKING_TZSET 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Look for subsecond timestamps in struct stat |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tv_nsec in struct stat" >&5 |
| +$as_echo_n "checking for tv_nsec in struct stat... " >&6; } |
| +if ${ac_cv_stat_tv_nsec+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/stat.h> |
| +int |
| +main () |
| +{ |
| + |
| +struct stat st; |
| +st.st_mtim.tv_nsec = 1; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_stat_tv_nsec=yes |
| +else |
| + ac_cv_stat_tv_nsec=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_stat_tv_nsec" >&5 |
| +$as_echo "$ac_cv_stat_tv_nsec" >&6; } |
| +if test "$ac_cv_stat_tv_nsec" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_STAT_TV_NSEC 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Look for BSD style subsecond timestamps in struct stat |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tv_nsec2 in struct stat" >&5 |
| +$as_echo_n "checking for tv_nsec2 in struct stat... " >&6; } |
| +if ${ac_cv_stat_tv_nsec2+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <sys/stat.h> |
| +int |
| +main () |
| +{ |
| + |
| +struct stat st; |
| +st.st_mtimespec.tv_nsec = 1; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_stat_tv_nsec2=yes |
| +else |
| + ac_cv_stat_tv_nsec2=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_stat_tv_nsec2" >&5 |
| +$as_echo "$ac_cv_stat_tv_nsec2" >&6; } |
| +if test "$ac_cv_stat_tv_nsec2" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_STAT_TV_NSEC2 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# first curses header check |
| +ac_save_cppflags="$CPPFLAGS" |
| +if test "$cross_compiling" = no; then |
| + CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" |
| +fi |
| + |
| +for ac_header in curses.h ncurses.h |
| +do : |
| + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
| +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +# On Solaris, term.h requires curses.h |
| +for ac_header in term.h |
| +do : |
| + ac_fn_c_check_header_compile "$LINENO" "term.h" "ac_cv_header_term_h" " |
| +#ifdef HAVE_CURSES_H |
| +#include <curses.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_header_term_h" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_TERM_H 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| + |
| +# On HP/UX 11.0, mvwdelch is a block with a return statement |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mvwdelch is an expression" >&5 |
| +$as_echo_n "checking whether mvwdelch is an expression... " >&6; } |
| +if ${ac_cv_mvwdelch_is_expression+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| + int rtn; |
| + rtn = mvwdelch(0,0,0); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_mvwdelch_is_expression=yes |
| +else |
| + ac_cv_mvwdelch_is_expression=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mvwdelch_is_expression" >&5 |
| +$as_echo "$ac_cv_mvwdelch_is_expression" >&6; } |
| + |
| +if test "$ac_cv_mvwdelch_is_expression" = yes |
| +then |
| + |
| +$as_echo "#define MVWDELCH_IS_EXPRESSION 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Issue #25720: ncurses has introduced the NCURSES_OPAQUE symbol making opaque |
| +# structs since version 5.7. If the macro is defined as zero before including |
| +# [n]curses.h, ncurses will expose fields of the structs regardless of the |
| +# configuration. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether WINDOW has _flags" >&5 |
| +$as_echo_n "checking whether WINDOW has _flags... " >&6; } |
| +if ${ac_cv_window_has_flags+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + #define NCURSES_OPAQUE 0 |
| + #include <curses.h> |
| + |
| +int |
| +main () |
| +{ |
| + |
| + WINDOW *w; |
| + w->_flags = 0; |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + ac_cv_window_has_flags=yes |
| +else |
| + ac_cv_window_has_flags=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_window_has_flags" >&5 |
| +$as_echo "$ac_cv_window_has_flags" >&6; } |
| + |
| + |
| +if test "$ac_cv_window_has_flags" = yes |
| +then |
| + |
| +$as_echo "#define WINDOW_HAS_FLAGS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_pad" >&5 |
| +$as_echo_n "checking for is_pad... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef is_pad |
| +void *x=is_pad |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_IS_PAD 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_term_resized" >&5 |
| +$as_echo_n "checking for is_term_resized... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| +void *x=is_term_resized |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_IS_TERM_RESIZED 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for resize_term" >&5 |
| +$as_echo_n "checking for resize_term... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| +void *x=resize_term |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_RESIZE_TERM 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for resizeterm" >&5 |
| +$as_echo_n "checking for resizeterm... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| +void *x=resizeterm |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_RESIZETERM 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for immedok" >&5 |
| +$as_echo_n "checking for immedok... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef immedok |
| +void *x=immedok |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_IMMEDOK 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for syncok" >&5 |
| +$as_echo_n "checking for syncok... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef syncok |
| +void *x=syncok |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_SYNCOK 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchgat" >&5 |
| +$as_echo_n "checking for wchgat... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef wchgat |
| +void *x=wchgat |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_WCHGAT 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for filter" >&5 |
| +$as_echo_n "checking for filter... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef filter |
| +void *x=filter |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_FILTER 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for has_key" >&5 |
| +$as_echo_n "checking for has_key... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef has_key |
| +void *x=has_key |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_HAS_KEY 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for typeahead" >&5 |
| +$as_echo_n "checking for typeahead... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef typeahead |
| +void *x=typeahead |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_TYPEAHEAD 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for use_env" >&5 |
| +$as_echo_n "checking for use_env... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <curses.h> |
| +int |
| +main () |
| +{ |
| + |
| +#ifndef use_env |
| +void *x=use_env |
| +#endif |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + |
| +$as_echo "#define HAVE_CURSES_USE_ENV 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +# last curses configure check |
| +CPPFLAGS=$ac_save_cppflags |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for device files" >&5 |
| +$as_echo "$as_me: checking for device files" >&6;} |
| + |
| +if test "x$cross_compiling" = xyes; then |
| + if test "${ac_cv_file__dev_ptmx+set}" != set; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptmx" >&5 |
| +$as_echo_n "checking for /dev/ptmx... " >&6; } |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 |
| +$as_echo "not set" >&6; } |
| + as_fn_error $? "set ac_cv_file__dev_ptmx to yes/no in your CONFIG_SITE file when cross compiling" "$LINENO" 5 |
| + fi |
| + if test "${ac_cv_file__dev_ptc+set}" != set; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptc" >&5 |
| +$as_echo_n "checking for /dev/ptc... " >&6; } |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 |
| +$as_echo "not set" >&6; } |
| + as_fn_error $? "set ac_cv_file__dev_ptc to yes/no in your CONFIG_SITE file when cross compiling" "$LINENO" 5 |
| + fi |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptmx" >&5 |
| +$as_echo_n "checking for /dev/ptmx... " >&6; } |
| +if ${ac_cv_file__dev_ptmx+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + test "$cross_compiling" = yes && |
| + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 |
| +if test -r "/dev/ptmx"; then |
| + ac_cv_file__dev_ptmx=yes |
| +else |
| + ac_cv_file__dev_ptmx=no |
| +fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_ptmx" >&5 |
| +$as_echo "$ac_cv_file__dev_ptmx" >&6; } |
| +if test "x$ac_cv_file__dev_ptmx" = xyes; then : |
| + |
| +fi |
| + |
| +if test "x$ac_cv_file__dev_ptmx" = xyes; then |
| + |
| +$as_echo "#define HAVE_DEV_PTMX 1" >>confdefs.h |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptc" >&5 |
| +$as_echo_n "checking for /dev/ptc... " >&6; } |
| +if ${ac_cv_file__dev_ptc+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + test "$cross_compiling" = yes && |
| + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 |
| +if test -r "/dev/ptc"; then |
| + ac_cv_file__dev_ptc=yes |
| +else |
| + ac_cv_file__dev_ptc=no |
| +fi |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_ptc" >&5 |
| +$as_echo "$ac_cv_file__dev_ptc" >&6; } |
| +if test "x$ac_cv_file__dev_ptc" = xyes; then : |
| + |
| +fi |
| + |
| +if test "x$ac_cv_file__dev_ptc" = xyes; then |
| + |
| +$as_echo "#define HAVE_DEV_PTC 1" >>confdefs.h |
| + |
| +fi |
| + |
| +if test $ac_sys_system = Darwin |
| +then |
| + LIBS="$LIBS -framework CoreFoundation" |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for %zd printf() format support" >&5 |
| +$as_echo_n "checking for %zd printf() format support... " >&6; } |
| +if ${ac_cv_have_size_t_format+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_have_size_t_format="cross -- assuming yes" |
| + |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <stddef.h> |
| +#include <string.h> |
| + |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| + |
| +#ifdef HAVE_SSIZE_T |
| +typedef ssize_t Py_ssize_t; |
| +#elif SIZEOF_VOID_P == SIZEOF_LONG |
| +typedef long Py_ssize_t; |
| +#else |
| +typedef int Py_ssize_t; |
| +#endif |
| + |
| +int main() |
| +{ |
| + char buffer[256]; |
| + |
| + if(sprintf(buffer, "%zd", (size_t)123) < 0) |
| + return 1; |
| + |
| + if (strcmp(buffer, "123")) |
| + return 1; |
| + |
| + if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0) |
| + return 1; |
| + |
| + if (strcmp(buffer, "-123")) |
| + return 1; |
| + |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_have_size_t_format=yes |
| +else |
| + ac_cv_have_size_t_format=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_size_t_format" >&5 |
| +$as_echo "$ac_cv_have_size_t_format" >&6; } |
| +if test "$ac_cv_have_size_t_format" != no ; then |
| + |
| +$as_echo "#define PY_FORMAT_SIZE_T \"z\"" >>confdefs.h |
| + |
| +fi |
| + |
| +ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| + |
| +" |
| +if test "x$ac_cv_type_socklen_t" = xyes; then : |
| + |
| +else |
| + |
| +$as_echo "#define socklen_t int" >>confdefs.h |
| + |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken mbstowcs" >&5 |
| +$as_echo_n "checking for broken mbstowcs... " >&6; } |
| +if ${ac_cv_broken_mbstowcs+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + ac_cv_broken_mbstowcs=no |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include<stdlib.h> |
| +int main() { |
| + size_t len = -1; |
| + const char *str = "text"; |
| + len = mbstowcs(NULL, str, 0); |
| + return (len != 4); |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_broken_mbstowcs=no |
| +else |
| + ac_cv_broken_mbstowcs=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_mbstowcs" >&5 |
| +$as_echo "$ac_cv_broken_mbstowcs" >&6; } |
| +if test "$ac_cv_broken_mbstowcs" = yes |
| +then |
| + |
| +$as_echo "#define HAVE_BROKEN_MBSTOWCS 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Check for --with-computed-gotos |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-computed-gotos" >&5 |
| +$as_echo_n "checking for --with-computed-gotos... " >&6; } |
| + |
| +# Check whether --with-computed-gotos was given. |
| +if test "${with_computed_gotos+set}" = set; then : |
| + withval=$with_computed_gotos; |
| +if test "$withval" = yes |
| +then |
| + |
| +$as_echo "#define USE_COMPUTED_GOTOS 1" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +fi |
| +if test "$withval" = no |
| +then |
| + |
| +$as_echo "#define USE_COMPUTED_GOTOS 0" >>confdefs.h |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no value specified" >&5 |
| +$as_echo "no value specified" >&6; } |
| +fi |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports computed gotos" >&5 |
| +$as_echo_n "checking whether $CC supports computed gotos... " >&6; } |
| +if ${ac_cv_computed_gotos+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test "$cross_compiling" = yes; then : |
| + if test "${with_computed_gotos+set}" = set; then |
| + ac_cv_computed_gotos="$with_computed_gotos -- configured --with(out)-computed-gotos" |
| + else |
| + ac_cv_computed_gotos=no |
| + fi |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int main(int argc, char **argv) |
| +{ |
| + static void *targets[1] = { &&LABEL1 }; |
| + goto LABEL2; |
| +LABEL1: |
| + return 0; |
| +LABEL2: |
| + goto *targets[0]; |
| + return 1; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + ac_cv_computed_gotos=yes |
| +else |
| + ac_cv_computed_gotos=no |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +fi |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_computed_gotos" >&5 |
| +$as_echo "$ac_cv_computed_gotos" >&6; } |
| +case "$ac_cv_computed_gotos" in yes*) |
| + |
| +$as_echo "#define HAVE_COMPUTED_GOTOS 1" >>confdefs.h |
| + |
| +esac |
| + |
| +case $ac_sys_system in |
| +AIX*) |
| + |
| +$as_echo "#define HAVE_BROKEN_PIPE_BUF 1" >>confdefs.h |
| + ;; |
| +esac |
| + |
| + |
| + |
| + |
| +for h in `(cd $srcdir;echo Python/thread_*.h)` |
| +do |
| + THREADHEADERS="$THREADHEADERS \$(srcdir)/$h" |
| +done |
| + |
| + |
| +SRCDIRS="Parser Objects Python Modules Modules/_io Programs" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for build directories" >&5 |
| +$as_echo_n "checking for build directories... " >&6; } |
| +for dir in $SRCDIRS; do |
| + if test ! -d $dir; then |
| + mkdir $dir |
| + fi |
| +done |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 |
| +$as_echo "done" >&6; } |
| + |
| +# Availability of -O2: |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -O2" >&5 |
| +$as_echo_n "checking for -O2... " >&6; } |
| +saved_cflags="$CFLAGS" |
| +CFLAGS="-O2" |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +int |
| +main () |
| +{ |
| + |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_compile "$LINENO"; then : |
| + have_O2=yes |
| +else |
| + have_O2=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_O2" >&5 |
| +$as_echo "$have_O2" >&6; } |
| +CFLAGS="$saved_cflags" |
| + |
| +# _FORTIFY_SOURCE wrappers for memmove and bcopy are incorrect: |
| +# http://sourceware.org/ml/libc-alpha/2010-12/msg00009.html |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glibc _FORTIFY_SOURCE/memmove bug" >&5 |
| +$as_echo_n "checking for glibc _FORTIFY_SOURCE/memmove bug... " >&6; } |
| +saved_cflags="$CFLAGS" |
| +CFLAGS="-O2 -D_FORTIFY_SOURCE=2" |
| +if test "$have_O2" = no; then |
| + CFLAGS="" |
| +fi |
| +if test "$cross_compiling" = yes; then : |
| + have_glibc_memmove_bug=undefined |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <stdio.h> |
| +#include <stdlib.h> |
| +#include <string.h> |
| +void foo(void *p, void *q) { memmove(p, q, 19); } |
| +int main() { |
| + char a[32] = "123456789000000000"; |
| + foo(&a[9], a); |
| + if (strcmp(a, "123456789123456789000000000") != 0) |
| + return 1; |
| + foo(a, &a[9]); |
| + if (strcmp(a, "123456789000000000") != 0) |
| + return 1; |
| + return 0; |
| +} |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + have_glibc_memmove_bug=no |
| +else |
| + have_glibc_memmove_bug=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| +CFLAGS="$saved_cflags" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_glibc_memmove_bug" >&5 |
| +$as_echo "$have_glibc_memmove_bug" >&6; } |
| +if test "$have_glibc_memmove_bug" = yes; then |
| + |
| +$as_echo "#define HAVE_GLIBC_MEMMOVE_BUG 1" >>confdefs.h |
| + |
| +fi |
| + |
| +if test "$have_gcc_asm_for_x87" = yes; then |
| + # Some versions of gcc miscompile inline asm: |
| + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 |
| + # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html |
| + case $CC in |
| + *gcc*) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc ipa-pure-const bug" >&5 |
| +$as_echo_n "checking for gcc ipa-pure-const bug... " >&6; } |
| + saved_cflags="$CFLAGS" |
| + CFLAGS="-O2" |
| + if test "$cross_compiling" = yes; then : |
| + have_ipa_pure_const_bug=undefined |
| +else |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + __attribute__((noinline)) int |
| + foo(int *p) { |
| + int r; |
| + asm ( "movl \$6, (%1)\n\t" |
| + "xorl %0, %0\n\t" |
| + : "=r" (r) : "r" (p) : "memory" |
| + ); |
| + return r; |
| + } |
| + int main() { |
| + int p = 8; |
| + if ((foo(&p) ? : p) != 6) |
| + return 1; |
| + return 0; |
| + } |
| + |
| +_ACEOF |
| +if ac_fn_c_try_run "$LINENO"; then : |
| + have_ipa_pure_const_bug=no |
| +else |
| + have_ipa_pure_const_bug=yes |
| +fi |
| +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| + conftest.$ac_objext conftest.beam conftest.$ac_ext |
| +fi |
| + |
| + CFLAGS="$saved_cflags" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ipa_pure_const_bug" >&5 |
| +$as_echo "$have_ipa_pure_const_bug" >&6; } |
| + if test "$have_ipa_pure_const_bug" = yes; then |
| + |
| +$as_echo "#define HAVE_IPA_PURE_CONST_BUG 1" >>confdefs.h |
| + |
| + fi |
| + ;; |
| + esac |
| +fi |
| + |
| +# Check for stdatomic.h |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdatomic.h" >&5 |
| +$as_echo_n "checking for stdatomic.h... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| + #include <stdatomic.h> |
| + atomic_int int_var; |
| + atomic_uintptr_t uintptr_var; |
| + int main() { |
| + atomic_store_explicit(&int_var, 5, memory_order_relaxed); |
| + atomic_store_explicit(&uintptr_var, 0, memory_order_relaxed); |
| + int loaded_value = atomic_load_explicit(&int_var, memory_order_seq_cst); |
| + return 0; |
| + } |
| + |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_stdatomic_h=yes |
| +else |
| + have_stdatomic_h=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_stdatomic_h" >&5 |
| +$as_echo "$have_stdatomic_h" >&6; } |
| + |
| +if test "$have_stdatomic_h" = yes; then |
| + |
| +$as_echo "#define HAVE_STD_ATOMIC 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# Check for GCC >= 4.7 and clang __atomic builtin functions |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for builtin __atomic_load_n and __atomic_store_n functions" >&5 |
| +$as_echo_n "checking for builtin __atomic_load_n and __atomic_store_n functions... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| + int val; |
| + int main() { |
| + __atomic_store_n(&val, 1, __ATOMIC_SEQ_CST); |
| + (void)__atomic_load_n(&val, __ATOMIC_SEQ_CST); |
| + return 0; |
| + } |
| + |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_builtin_atomic=yes |
| +else |
| + have_builtin_atomic=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_builtin_atomic" >&5 |
| +$as_echo "$have_builtin_atomic" >&6; } |
| + |
| +if test "$have_builtin_atomic" = yes; then |
| + |
| +$as_echo "#define HAVE_BUILTIN_ATOMIC 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# ensurepip option |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ensurepip" >&5 |
| +$as_echo_n "checking for ensurepip... " >&6; } |
| + |
| +# Check whether --with-ensurepip was given. |
| +if test "${with_ensurepip+set}" = set; then : |
| + withval=$with_ensurepip; |
| +else |
| + with_ensurepip=upgrade |
| +fi |
| + |
| +case $with_ensurepip in #( |
| + yes|upgrade) : |
| + ENSUREPIP=upgrade ;; #( |
| + install) : |
| + ENSUREPIP=install ;; #( |
| + no) : |
| + ENSUREPIP=no ;; #( |
| + *) : |
| + as_fn_error $? "--with-ensurepip=upgrade|install|no" "$LINENO" 5 ;; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENSUREPIP" >&5 |
| +$as_echo "$ENSUREPIP" >&6; } |
| + |
| + |
| +# check if the dirent structure of a d_type field and DT_UNKNOWN is defined |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the dirent structure of a d_type field" >&5 |
| +$as_echo_n "checking if the dirent structure of a d_type field... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| + #include <dirent.h> |
| + |
| + int main() { |
| + struct dirent entry; |
| + return entry.d_type == DT_UNKNOWN; |
| + } |
| + |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_dirent_d_type=yes |
| +else |
| + have_dirent_d_type=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_dirent_d_type" >&5 |
| +$as_echo "$have_dirent_d_type" >&6; } |
| + |
| +if test "$have_dirent_d_type" = yes; then |
| + |
| +$as_echo "#define HAVE_DIRENT_D_TYPE 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# check if the Linux getrandom() syscall is available |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Linux getrandom() syscall" >&5 |
| +$as_echo_n "checking for the Linux getrandom() syscall... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| + #include <unistd.h> |
| + #include <sys/syscall.h> |
| + #include <linux/random.h> |
| + |
| + int main() { |
| + char buffer[1]; |
| + const size_t buflen = sizeof(buffer); |
| + const int flags = GRND_NONBLOCK; |
| + /* ignore the result, Python checks for ENOSYS and EAGAIN at runtime */ |
| + (void)syscall(SYS_getrandom, buffer, buflen, flags); |
| + return 0; |
| + } |
| + |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_getrandom_syscall=yes |
| +else |
| + have_getrandom_syscall=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_getrandom_syscall" >&5 |
| +$as_echo "$have_getrandom_syscall" >&6; } |
| + |
| +if test "$have_getrandom_syscall" = yes; then |
| + |
| +$as_echo "#define HAVE_GETRANDOM_SYSCALL 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# check if the getrandom() function is available |
| +# the test was written for the Solaris function of <sys/random.h> |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the getrandom() function" >&5 |
| +$as_echo_n "checking for the getrandom() function... " >&6; } |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| + |
| + #include <sys/random.h> |
| + |
| + int main() { |
| + char buffer[1]; |
| + const size_t buflen = sizeof(buffer); |
| + const int flags = 0; |
| + /* ignore the result, Python checks for ENOSYS at runtime */ |
| + (void)getrandom(buffer, buflen, flags); |
| + return 0; |
| + } |
| + |
| + |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + have_getrandom=yes |
| +else |
| + have_getrandom=no |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_getrandom" >&5 |
| +$as_echo "$have_getrandom" >&6; } |
| + |
| +if test "$have_getrandom" = yes; then |
| + |
| +$as_echo "#define HAVE_GETRANDOM 1" >>confdefs.h |
| + |
| +fi |
| + |
| +# checks for POSIX shared memory, used by Modules/_multiprocessing/posixshmem.c |
| +# shm_* may only be available if linking against librt |
| +save_LIBS="$LIBS" |
| +save_includes_default="$ac_includes_default" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5 |
| +$as_echo_n "checking for library containing shm_open... " >&6; } |
| +if ${ac_cv_search_shm_open+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + ac_func_search_save_LIBS=$LIBS |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +/* Override any GCC internal prototype to avoid an error. |
| + Use char because int might match the return type of a GCC |
| + builtin and then its argument prototype would still apply. */ |
| +#ifdef __cplusplus |
| +extern "C" |
| +#endif |
| +char shm_open (); |
| +int |
| +main () |
| +{ |
| +return shm_open (); |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +for ac_lib in '' rt; do |
| + if test -z "$ac_lib"; then |
| + ac_res="none required" |
| + else |
| + ac_res=-l$ac_lib |
| + LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
| + fi |
| + if ac_fn_c_try_link "$LINENO"; then : |
| + ac_cv_search_shm_open=$ac_res |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext |
| + if ${ac_cv_search_shm_open+:} false; then : |
| + break |
| +fi |
| +done |
| +if ${ac_cv_search_shm_open+:} false; then : |
| + |
| +else |
| + ac_cv_search_shm_open=no |
| +fi |
| +rm conftest.$ac_ext |
| +LIBS=$ac_func_search_save_LIBS |
| +fi |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shm_open" >&5 |
| +$as_echo "$ac_cv_search_shm_open" >&6; } |
| +ac_res=$ac_cv_search_shm_open |
| +if test "$ac_res" != no; then : |
| + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
| + |
| +fi |
| + |
| +if test "$ac_cv_search_shm_open" = "-lrt"; then |
| + |
| +$as_echo "#define SHM_NEEDS_LIBRT 1" >>confdefs.h |
| + |
| +fi |
| +for ac_header in sys/mman.h |
| +do : |
| + ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" |
| +if test "x$ac_cv_header_sys_mman_h" = xyes; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define HAVE_SYS_MMAN_H 1 |
| +_ACEOF |
| + |
| +fi |
| + |
| +done |
| + |
| +# temporarily override ac_includes_default for AC_CHECK_FUNCS below |
| +ac_includes_default="\ |
| +${ac_includes_default} |
| +#ifndef __cplusplus |
| +# ifdef HAVE_SYS_MMAN_H |
| +# include <sys/mman.h> |
| +# endif |
| +#endif |
| +" |
| +for ac_func in shm_open shm_unlink |
| +do : |
| + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| + cat >>confdefs.h <<_ACEOF |
| +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| +_ACEOF |
| + |
| +fi |
| +done |
| + |
| +# we don't want to link with librt always, restore LIBS |
| +LIBS="$save_LIBS" |
| +ac_includes_default="$save_includes_default" |
| + |
| +# Check for usable OpenSSL |
| + |
| + found=false |
| + |
| +# Check whether --with-openssl was given. |
| +if test "${with_openssl+set}" = set; then : |
| + withval=$with_openssl; |
| + case "$withval" in |
| + "" | y | ye | yes | n | no) |
| + as_fn_error $? "Invalid --with-openssl value" "$LINENO" 5 |
| + ;; |
| + *) ssldirs="$withval" |
| + ;; |
| + esac |
| + |
| +else |
| + |
| + # if pkg-config is installed and openssl has installed a .pc file, |
| + # then use that information and don't search ssldirs |
| + if test -n "$ac_tool_prefix"; then |
| + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. |
| +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_PKG_CONFIG+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$PKG_CONFIG"; then |
| + ac_cv_prog_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_PKG_CONFIG="${ac_tool_prefix}pkg-config" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +PKG_CONFIG=$ac_cv_prog_PKG_CONFIG |
| +if test -n "$PKG_CONFIG"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 |
| +$as_echo "$PKG_CONFIG" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +fi |
| +if test -z "$ac_cv_prog_PKG_CONFIG"; then |
| + ac_ct_PKG_CONFIG=$PKG_CONFIG |
| + # Extract the first word of "pkg-config", so it can be a program name with args. |
| +set dummy pkg-config; ac_word=$2 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
| +$as_echo_n "checking for $ac_word... " >&6; } |
| +if ${ac_cv_prog_ac_ct_PKG_CONFIG+:} false; then : |
| + $as_echo_n "(cached) " >&6 |
| +else |
| + if test -n "$ac_ct_PKG_CONFIG"; then |
| + ac_cv_prog_ac_ct_PKG_CONFIG="$ac_ct_PKG_CONFIG" # Let the user override the test. |
| +else |
| +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + for ac_exec_ext in '' $ac_executable_extensions; do |
| + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
| + ac_cv_prog_ac_ct_PKG_CONFIG="pkg-config" |
| + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| + break 2 |
| + fi |
| +done |
| + done |
| +IFS=$as_save_IFS |
| + |
| +fi |
| +fi |
| +ac_ct_PKG_CONFIG=$ac_cv_prog_ac_ct_PKG_CONFIG |
| +if test -n "$ac_ct_PKG_CONFIG"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PKG_CONFIG" >&5 |
| +$as_echo "$ac_ct_PKG_CONFIG" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + if test "x$ac_ct_PKG_CONFIG" = x; then |
| + PKG_CONFIG="" |
| + else |
| + case $cross_compiling:$ac_tool_warned in |
| +yes:) |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
| +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
| +ac_tool_warned=yes ;; |
| +esac |
| + PKG_CONFIG=$ac_ct_PKG_CONFIG |
| + fi |
| +else |
| + PKG_CONFIG="$ac_cv_prog_PKG_CONFIG" |
| +fi |
| + |
| + if test x"$PKG_CONFIG" != x""; then |
| + OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null` |
| + if test $? = 0; then |
| + OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null` |
| + OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null` |
| + found=true |
| + fi |
| + fi |
| + |
| + # no such luck; use some default ssldirs |
| + if ! $found; then |
| + ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr" |
| + fi |
| + |
| + |
| +fi |
| + |
| + |
| + |
| + # note that we #include <openssl/foo.h>, so the OpenSSL headers have to be in |
| + # an 'openssl' subdirectory |
| + |
| + if ! $found; then |
| + OPENSSL_INCLUDES= |
| + for ssldir in $ssldirs; do |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openssl/ssl.h in $ssldir" >&5 |
| +$as_echo_n "checking for openssl/ssl.h in $ssldir... " >&6; } |
| + if test -f "$ssldir/include/openssl/ssl.h"; then |
| + OPENSSL_INCLUDES="-I$ssldir/include" |
| + OPENSSL_LDFLAGS="-L$ssldir/lib" |
| + OPENSSL_LIBS="-lssl -lcrypto" |
| + found=true |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + break |
| + else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + fi |
| + done |
| + |
| + # if the file wasn't found, well, go ahead and try the link anyway -- maybe |
| + # it will just work! |
| + fi |
| + |
| + # try the preprocessor and linker with our new flags, |
| + # being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling and linking against OpenSSL works" >&5 |
| +$as_echo_n "checking whether compiling and linking against OpenSSL works... " >&6; } |
| + echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \ |
| + "OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&5 |
| + |
| + save_LIBS="$LIBS" |
| + save_LDFLAGS="$LDFLAGS" |
| + save_CPPFLAGS="$CPPFLAGS" |
| + LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" |
| + LIBS="$OPENSSL_LIBS $LIBS" |
| + CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS" |
| + cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| +#include <openssl/ssl.h> |
| +int |
| +main () |
| +{ |
| +SSL_new(NULL) |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| + have_openssl=yes |
| + |
| +else |
| + |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| + have_openssl=no |
| + |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| + CPPFLAGS="$save_CPPFLAGS" |
| + LDFLAGS="$save_LDFLAGS" |
| + LIBS="$save_LIBS" |
| + |
| + |
| + |
| + |
| + |
| + |
| +# rpath to libssl and libcrypto |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-openssl-rpath" >&5 |
| +$as_echo_n "checking for --with-openssl-rpath... " >&6; } |
| + |
| +# Check whether --with-openssl-rpath was given. |
| +if test "${with_openssl_rpath+set}" = set; then : |
| + withval=$with_openssl_rpath; |
| +else |
| + with_openssl_rpath=no |
| + |
| +fi |
| + |
| +case $with_openssl_rpath in #( |
| + auto|yes) : |
| + OPENSSL_RPATH=auto ;; #( |
| + no) : |
| + OPENSSL_RPATH= ;; #( |
| + *) : |
| + if test -d "$with_openssl_rpath"; then : |
| + OPENSSL_RPATH="$with_openssl_rpath" |
| +else |
| + as_fn_error $? "--with-openssl-rpath \"$with_openssl_rpath\" is not a directory" "$LINENO" 5 |
| +fi |
| + |
| + ;; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENSSL_RPATH" >&5 |
| +$as_echo "$OPENSSL_RPATH" >&6; } |
| + |
| + |
| +# check if OpenSSL libraries work as expected |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides required APIs" >&5 |
| +$as_echo_n "checking whether OpenSSL provides required APIs... " >&6; } |
| +save_LIBS="$LIBS" |
| +save_CFLAGS="$CFLAGS" |
| +save_LDFLAGS="$LDFLAGS" |
| +LIBS="$LIBS $OPENSSL_LIBS" |
| +CFLAGS="$CFLAGS_NODIST $OPENSSL_INCLUDES" |
| +LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" |
| + |
| +cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| +/* end confdefs.h. */ |
| + |
| +#include <openssl/opensslv.h> |
| +#include <openssl/evp.h> |
| +#include <openssl/ssl.h> |
| + |
| +#if OPENSSL_VERSION_NUMBER < 0x10101000L |
| +#error "OpenSSL >= 1.1.1 is required" |
| +#endif |
| + |
| +static void keylog_cb(const SSL *ssl, const char *line) {} |
| + |
| +int |
| +main () |
| +{ |
| + |
| +/* SSL APIs */ |
| +SSL_CTX *ctx = SSL_CTX_new(TLS_client_method()); |
| +SSL_CTX_set_keylog_callback(ctx, keylog_cb); |
| +SSL *ssl = SSL_new(ctx); |
| +X509_VERIFY_PARAM *param = SSL_get0_param(ssl); |
| +X509_VERIFY_PARAM_set1_host(param, "python.org", 0); |
| +SSL_free(ssl); |
| +SSL_CTX_free(ctx); |
| + |
| +/* hashlib APIs */ |
| +OBJ_nid2sn(NID_md5); |
| +OBJ_nid2sn(NID_sha1); |
| +OBJ_nid2sn(NID_sha3_512); |
| +OBJ_nid2sn(NID_blake2b512); |
| +EVP_PBE_scrypt(NULL, 0, NULL, 0, 2, 8, 1, 0, NULL, 0); |
| + |
| + ; |
| + return 0; |
| +} |
| +_ACEOF |
| +if ac_fn_c_try_link "$LINENO"; then : |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| +rm -f core conftest.err conftest.$ac_objext \ |
| + conftest$ac_exeext conftest.$ac_ext |
| +LIBS="$save_LIBS" |
| +CFLAGS="$save_CFLAGS" |
| +LDFLAGS="$save_LDFLAGS" |
| + |
| +# ssl module default cipher suite string |
| + |
| + |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-ssl-default-suites" >&5 |
| +$as_echo_n "checking for --with-ssl-default-suites... " >&6; } |
| + |
| +# Check whether --with-ssl-default-suites was given. |
| +if test "${with_ssl_default_suites+set}" = set; then : |
| + withval=$with_ssl_default_suites; |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 |
| +$as_echo "$withval" >&6; } |
| +case "$withval" in |
| + python) |
| + $as_echo "#define PY_SSL_DEFAULT_CIPHERS 1" >>confdefs.h |
| + |
| + ;; |
| + openssl) |
| + $as_echo "#define PY_SSL_DEFAULT_CIPHERS 2" >>confdefs.h |
| + |
| + ;; |
| + *) |
| + $as_echo "#define PY_SSL_DEFAULT_CIPHERS 0" >>confdefs.h |
| + |
| + cat >>confdefs.h <<_ACEOF |
| +#define PY_SSL_DEFAULT_CIPHER_STRING "$withval" |
| +_ACEOF |
| + |
| + ;; |
| +esac |
| + |
| +else |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: python" >&5 |
| +$as_echo "python" >&6; } |
| +$as_echo "#define PY_SSL_DEFAULT_CIPHERS 1" >>confdefs.h |
| + |
| + |
| +fi |
| + |
| + |
| +# builtin hash modules |
| +default_hashlib_hashes="md5,sha1,sha256,sha512,sha3,blake2" |
| + |
| +$as_echo "#define PY_BUILTIN_HASHLIB_HASHES /**/" >>confdefs.h |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-builtin-hashlib-hashes" >&5 |
| +$as_echo_n "checking for --with-builtin-hashlib-hashes... " >&6; } |
| + |
| +# Check whether --with-builtin-hashlib-hashes was given. |
| +if test "${with_builtin_hashlib_hashes+set}" = set; then : |
| + withval=$with_builtin_hashlib_hashes; |
| +case "$withval" in |
| + yes) |
| + withval=$default_hashlib_hashes |
| + ;; |
| + no) |
| + withval="" |
| + ;; |
| +esac |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 |
| +$as_echo "$withval" >&6; } |
| +cat >>confdefs.h <<_ACEOF |
| +#define PY_BUILTIN_HASHLIB_HASHES "$withval" |
| +_ACEOF |
| + |
| + |
| +else |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $default_hashlib_hashes" >&5 |
| +$as_echo "$default_hashlib_hashes" >&6; }; |
| +cat >>confdefs.h <<_ACEOF |
| +#define PY_BUILTIN_HASHLIB_HASHES "$default_hashlib_hashes" |
| +_ACEOF |
| + |
| + |
| +fi |
| + |
| + |
| +# --with-experimental-isolated-subinterpreters |
| + |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-experimental-isolated-subinterpreters" >&5 |
| +$as_echo_n "checking for --with-experimental-isolated-subinterpreters... " >&6; } |
| + |
| +# Check whether --with-experimental-isolated-subinterpreters was given. |
| +if test "${with_experimental_isolated_subinterpreters+set}" = set; then : |
| + withval=$with_experimental_isolated_subinterpreters; |
| +if test "$withval" != no |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; }; |
| + $as_echo "#define EXPERIMENTAL_ISOLATED_SUBINTERPRETERS 1" >>confdefs.h |
| + |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; }; |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| +# --with-static-libpython |
| +STATIC_LIBPYTHON=1 |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-static-libpython" >&5 |
| +$as_echo_n "checking for --with-static-libpython... " >&6; } |
| + |
| +# Check whether --with-static-libpython was given. |
| +if test "${with_static_libpython+set}" = set; then : |
| + withval=$with_static_libpython; |
| +if test "$withval" = no |
| +then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; }; |
| + STATIC_LIBPYTHON=0 |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; }; |
| +fi |
| +else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +fi |
| + |
| +LIBRARY_DEPS='$(PY3LIBRARY) $(EXPORTSYMS)' |
| +if test "$PY_ENABLE_SHARED" = 1 || test "$enable_framework" ; then |
| + LIBRARY_DEPS="\$(LDLIBRARY) $LIBRARY_DEPS" |
| + if test "$STATIC_LIBPYTHON" = 1; then |
| + LIBRARY_DEPS="\$(LIBRARY) $LIBRARY_DEPS" |
| + fi |
| +else |
| + LIBRARY_DEPS="\$(LIBRARY) $LIBRARY_DEPS" |
| +fi |
| + |
| + |
| + |
| +# Check whether to disable test modules. Once set, setup.py will not build |
| +# test extension modules and "make install" will not install test suites. |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --disable-test-modules" >&5 |
| +$as_echo_n "checking for --disable-test-modules... " >&6; } |
| +# Check whether --enable-test-modules was given. |
| +if test "${enable_test_modules+set}" = set; then : |
| + enableval=$enable_test_modules; |
| +fi |
| + |
| +if test "$enable_test_modules" = no; then |
| + TEST_MODULES=no |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| +$as_echo "yes" >&6; } |
| +else |
| + TEST_MODULES=yes |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| +$as_echo "no" >&6; } |
| +fi |
| + |
| + |
| + |
| +# generate output files |
| +ac_config_files="$ac_config_files Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh" |
| + |
| +ac_config_files="$ac_config_files Modules/ld_so_aix" |
| + |
| +cat >confcache <<\_ACEOF |
| +# This file is a shell script that caches the results of configure |
| +# tests run on this system so they can be shared between configure |
| +# scripts and configure runs, see configure's option --config-cache. |
| +# It is not useful on other systems. If it contains results you don't |
| +# want to keep, you may remove or edit it. |
| +# |
| +# config.status only pays attention to the cache file if you give it |
| +# the --recheck option to rerun configure. |
| +# |
| +# `ac_cv_env_foo' variables (set or unset) will be overridden when |
| +# loading this file, other *unset* `ac_cv_foo' will be assigned the |
| +# following values. |
| + |
| +_ACEOF |
| + |
| +# The following way of writing the cache mishandles newlines in values, |
| +# but we know of no workaround that is simple, portable, and efficient. |
| +# So, we kill variables containing newlines. |
| +# Ultrix sh set writes to stderr and can't be redirected directly, |
| +# and sets the high bit in the cache file unless we assign to the vars. |
| +( |
| + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do |
| + eval ac_val=\$$ac_var |
| + case $ac_val in #( |
| + *${as_nl}*) |
| + case $ac_var in #( |
| + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 |
| +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; |
| + esac |
| + case $ac_var in #( |
| + _ | IFS | as_nl) ;; #( |
| + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( |
| + *) { eval $ac_var=; unset $ac_var;} ;; |
| + esac ;; |
| + esac |
| + done |
| + |
| + (set) 2>&1 | |
| + case $as_nl`(ac_space=' '; set) 2>&1` in #( |
| + *${as_nl}ac_space=\ *) |
| + # `set' does not quote correctly, so add quotes: double-quote |
| + # substitution turns \\\\ into \\, and sed turns \\ into \. |
| + sed -n \ |
| + "s/'/'\\\\''/g; |
| + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" |
| + ;; #( |
| + *) |
| + # `set' quotes correctly as required by POSIX, so do not add quotes. |
| + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" |
| + ;; |
| + esac | |
| + sort |
| +) | |
| + sed ' |
| + /^ac_cv_env_/b end |
| + t clear |
| + :clear |
| + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ |
| + t end |
| + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ |
| + :end' >>confcache |
| +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else |
| + if test -w "$cache_file"; then |
| + if test "x$cache_file" != "x/dev/null"; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 |
| +$as_echo "$as_me: updating cache $cache_file" >&6;} |
| + if test ! -f "$cache_file" || test -h "$cache_file"; then |
| + cat confcache >"$cache_file" |
| + else |
| + case $cache_file in #( |
| + */* | ?:*) |
| + mv -f confcache "$cache_file"$$ && |
| + mv -f "$cache_file"$$ "$cache_file" ;; #( |
| + *) |
| + mv -f confcache "$cache_file" ;; |
| + esac |
| + fi |
| + fi |
| + else |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 |
| +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} |
| + fi |
| +fi |
| +rm -f confcache |
| + |
| +test "x$prefix" = xNONE && prefix=$ac_default_prefix |
| +# Let make expand exec_prefix. |
| +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' |
| + |
| +DEFS=-DHAVE_CONFIG_H |
| + |
| +ac_libobjs= |
| +ac_ltlibobjs= |
| +U= |
| +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue |
| + # 1. Remove the extension, and $U if already installed. |
| + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' |
| + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` |
| + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR |
| + # will be set to the directory where LIBOBJS objects are built. |
| + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" |
| + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' |
| +done |
| +LIBOBJS=$ac_libobjs |
| + |
| +LTLIBOBJS=$ac_ltlibobjs |
| + |
| + |
| + |
| + |
| +: "${CONFIG_STATUS=./config.status}" |
| +ac_write_fail=0 |
| +ac_clean_files_save=$ac_clean_files |
| +ac_clean_files="$ac_clean_files $CONFIG_STATUS" |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 |
| +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} |
| +as_write_fail=0 |
| +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 |
| +#! $SHELL |
| +# Generated by $as_me. |
| +# Run this file to recreate the current configuration. |
| +# Compiler output produced by configure, useful for debugging |
| +# configure, is in config.log if it exists. |
| + |
| +debug=false |
| +ac_cs_recheck=false |
| +ac_cs_silent=false |
| + |
| +SHELL=\${CONFIG_SHELL-$SHELL} |
| +export SHELL |
| +_ASEOF |
| +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 |
| +## -------------------- ## |
| +## M4sh Initialization. ## |
| +## -------------------- ## |
| + |
| +# Be more Bourne compatible |
| +DUALCASE=1; export DUALCASE # for MKS sh |
| +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : |
| + emulate sh |
| + NULLCMD=: |
| + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which |
| + # is contrary to our usage. Disable this feature. |
| + alias -g '${1+"$@"}'='"$@"' |
| + setopt NO_GLOB_SUBST |
| +else |
| + case `(set -o) 2>/dev/null` in #( |
| + *posix*) : |
| + set -o posix ;; #( |
| + *) : |
| + ;; |
| +esac |
| +fi |
| + |
| + |
| +as_nl=' |
| +' |
| +export as_nl |
| +# Printing a long string crashes Solaris 7 /usr/bin/printf. |
| +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' |
| +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo |
| +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo |
| +# Prefer a ksh shell builtin over an external printf program on Solaris, |
| +# but without wasting forks for bash or zsh. |
| +if test -z "$BASH_VERSION$ZSH_VERSION" \ |
| + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then |
| + as_echo='print -r --' |
| + as_echo_n='print -rn --' |
| +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then |
| + as_echo='printf %s\n' |
| + as_echo_n='printf %s' |
| +else |
| + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then |
| + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' |
| + as_echo_n='/usr/ucb/echo -n' |
| + else |
| + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' |
| + as_echo_n_body='eval |
| + arg=$1; |
| + case $arg in #( |
| + *"$as_nl"*) |
| + expr "X$arg" : "X\\(.*\\)$as_nl"; |
| + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; |
| + esac; |
| + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" |
| + ' |
| + export as_echo_n_body |
| + as_echo_n='sh -c $as_echo_n_body as_echo' |
| + fi |
| + export as_echo_body |
| + as_echo='sh -c $as_echo_body as_echo' |
| +fi |
| + |
| +# The user is always right. |
| +if test "${PATH_SEPARATOR+set}" != set; then |
| + PATH_SEPARATOR=: |
| + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { |
| + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || |
| + PATH_SEPARATOR=';' |
| + } |
| +fi |
| + |
| + |
| +# IFS |
| +# We need space, tab and new line, in precisely that order. Quoting is |
| +# there to prevent editors from complaining about space-tab. |
| +# (If _AS_PATH_WALK were called with IFS unset, it would disable word |
| +# splitting by setting IFS to empty value.) |
| +IFS=" "" $as_nl" |
| + |
| +# Find who we are. Look in the path if we contain no directory separator. |
| +as_myself= |
| +case $0 in #(( |
| + *[\\/]* ) as_myself=$0 ;; |
| + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| +for as_dir in $PATH |
| +do |
| + IFS=$as_save_IFS |
| + test -z "$as_dir" && as_dir=. |
| + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break |
| + done |
| +IFS=$as_save_IFS |
| + |
| + ;; |
| +esac |
| +# We did not find ourselves, most probably we were run as `sh COMMAND' |
| +# in which case we are not to be found in the path. |
| +if test "x$as_myself" = x; then |
| + as_myself=$0 |
| +fi |
| +if test ! -f "$as_myself"; then |
| + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 |
| + exit 1 |
| +fi |
| + |
| +# Unset variables that we do not need and which cause bugs (e.g. in |
| +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" |
| +# suppresses any "Segmentation fault" message there. '((' could |
| +# trigger a bug in pdksh 5.2.14. |
| +for as_var in BASH_ENV ENV MAIL MAILPATH |
| +do eval test x\${$as_var+set} = xset \ |
| + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : |
| +done |
| +PS1='$ ' |
| +PS2='> ' |
| +PS4='+ ' |
| + |
| +# NLS nuisances. |
| +LC_ALL=C |
| +export LC_ALL |
| +LANGUAGE=C |
| +export LANGUAGE |
| + |
| +# CDPATH. |
| +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
| + |
| + |
| +# as_fn_error STATUS ERROR [LINENO LOG_FD] |
| +# ---------------------------------------- |
| +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
| +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
| +# script with STATUS, using 1 if that was 0. |
| +as_fn_error () |
| +{ |
| + as_status=$1; test $as_status -eq 0 && as_status=1 |
| + if test "$4"; then |
| + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
| + fi |
| + $as_echo "$as_me: error: $2" >&2 |
| + as_fn_exit $as_status |
| +} # as_fn_error |
| + |
| + |
| +# as_fn_set_status STATUS |
| +# ----------------------- |
| +# Set $? to STATUS, without forking. |
| +as_fn_set_status () |
| +{ |
| + return $1 |
| +} # as_fn_set_status |
| + |
| +# as_fn_exit STATUS |
| +# ----------------- |
| +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. |
| +as_fn_exit () |
| +{ |
| + set +e |
| + as_fn_set_status $1 |
| + exit $1 |
| +} # as_fn_exit |
| + |
| +# as_fn_unset VAR |
| +# --------------- |
| +# Portably unset VAR. |
| +as_fn_unset () |
| +{ |
| + { eval $1=; unset $1;} |
| +} |
| +as_unset=as_fn_unset |
| +# as_fn_append VAR VALUE |
| +# ---------------------- |
| +# Append the text in VALUE to the end of the definition contained in VAR. Take |
| +# advantage of any shell optimizations that allow amortized linear growth over |
| +# repeated appends, instead of the typical quadratic growth present in naive |
| +# implementations. |
| +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : |
| + eval 'as_fn_append () |
| + { |
| + eval $1+=\$2 |
| + }' |
| +else |
| + as_fn_append () |
| + { |
| + eval $1=\$$1\$2 |
| + } |
| +fi # as_fn_append |
| + |
| +# as_fn_arith ARG... |
| +# ------------------ |
| +# Perform arithmetic evaluation on the ARGs, and store the result in the |
| +# global $as_val. Take advantage of shells that can avoid forks. The arguments |
| +# must be portable across $(()) and expr. |
| +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : |
| + eval 'as_fn_arith () |
| + { |
| + as_val=$(( $* )) |
| + }' |
| +else |
| + as_fn_arith () |
| + { |
| + as_val=`expr "$@" || test $? -eq 1` |
| + } |
| +fi # as_fn_arith |
| + |
| + |
| +if expr a : '\(a\)' >/dev/null 2>&1 && |
| + test "X`expr 00001 : '.*\(...\)'`" = X001; then |
| + as_expr=expr |
| +else |
| + as_expr=false |
| +fi |
| + |
| +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then |
| + as_basename=basename |
| +else |
| + as_basename=false |
| +fi |
| + |
| +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then |
| + as_dirname=dirname |
| +else |
| + as_dirname=false |
| +fi |
| + |
| +as_me=`$as_basename -- "$0" || |
| +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ |
| + X"$0" : 'X\(//\)$' \| \ |
| + X"$0" : 'X\(/\)' \| . 2>/dev/null || |
| +$as_echo X/"$0" | |
| + sed '/^.*\/\([^/][^/]*\)\/*$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\/\(\/\/\)$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\/\(\/\).*/{ |
| + s//\1/ |
| + q |
| + } |
| + s/.*/./; q'` |
| + |
| +# Avoid depending upon Character Ranges. |
| +as_cr_letters='abcdefghijklmnopqrstuvwxyz' |
| +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
| +as_cr_Letters=$as_cr_letters$as_cr_LETTERS |
| +as_cr_digits='0123456789' |
| +as_cr_alnum=$as_cr_Letters$as_cr_digits |
| + |
| +ECHO_C= ECHO_N= ECHO_T= |
| +case `echo -n x` in #((((( |
| +-n*) |
| + case `echo 'xy\c'` in |
| + *c*) ECHO_T=' ';; # ECHO_T is single tab character. |
| + xy) ECHO_C='\c';; |
| + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null |
| + ECHO_T=' ';; |
| + esac;; |
| +*) |
| + ECHO_N='-n';; |
| +esac |
| + |
| +rm -f conf$$ conf$$.exe conf$$.file |
| +if test -d conf$$.dir; then |
| + rm -f conf$$.dir/conf$$.file |
| +else |
| + rm -f conf$$.dir |
| + mkdir conf$$.dir 2>/dev/null |
| +fi |
| +if (echo >conf$$.file) 2>/dev/null; then |
| + if ln -s conf$$.file conf$$ 2>/dev/null; then |
| + as_ln_s='ln -s' |
| + # ... but there are two gotchas: |
| + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
| + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
| + # In both cases, we have to default to `cp -pR'. |
| + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
| + as_ln_s='cp -pR' |
| + elif ln conf$$.file conf$$ 2>/dev/null; then |
| + as_ln_s=ln |
| + else |
| + as_ln_s='cp -pR' |
| + fi |
| +else |
| + as_ln_s='cp -pR' |
| +fi |
| +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
| +rmdir conf$$.dir 2>/dev/null |
| + |
| + |
| +# as_fn_mkdir_p |
| +# ------------- |
| +# Create "$as_dir" as a directory, including parents if necessary. |
| +as_fn_mkdir_p () |
| +{ |
| + |
| + case $as_dir in #( |
| + -*) as_dir=./$as_dir;; |
| + esac |
| + test -d "$as_dir" || eval $as_mkdir_p || { |
| + as_dirs= |
| + while :; do |
| + case $as_dir in #( |
| + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( |
| + *) as_qdir=$as_dir;; |
| + esac |
| + as_dirs="'$as_qdir' $as_dirs" |
| + as_dir=`$as_dirname -- "$as_dir" || |
| +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
| + X"$as_dir" : 'X\(//\)[^/]' \| \ |
| + X"$as_dir" : 'X\(//\)$' \| \ |
| + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || |
| +$as_echo X"$as_dir" | |
| + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)[^/].*/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\).*/{ |
| + s//\1/ |
| + q |
| + } |
| + s/.*/./; q'` |
| + test -d "$as_dir" && break |
| + done |
| + test -z "$as_dirs" || eval "mkdir $as_dirs" |
| + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
| + |
| + |
| +} # as_fn_mkdir_p |
| +if mkdir -p . 2>/dev/null; then |
| + as_mkdir_p='mkdir -p "$as_dir"' |
| +else |
| + test -d ./-p && rmdir ./-p |
| + as_mkdir_p=false |
| +fi |
| + |
| + |
| +# as_fn_executable_p FILE |
| +# ----------------------- |
| +# Test if FILE is an executable regular file. |
| +as_fn_executable_p () |
| +{ |
| + test -f "$1" && test -x "$1" |
| +} # as_fn_executable_p |
| +as_test_x='test -x' |
| +as_executable_p=as_fn_executable_p |
| + |
| +# Sed expression to map a string onto a valid CPP name. |
| +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
| + |
| +# Sed expression to map a string onto a valid variable name. |
| +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" |
| + |
| + |
| +exec 6>&1 |
| +## ----------------------------------- ## |
| +## Main body of $CONFIG_STATUS script. ## |
| +## ----------------------------------- ## |
| +_ASEOF |
| +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 |
| + |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +# Save the log message, to keep $0 and so on meaningful, and to |
| +# report actual input values of CONFIG_FILES etc. instead of their |
| +# values after options handling. |
| +ac_log=" |
| +This file was extended by python $as_me 3.10, which was |
| +generated by GNU Autoconf 2.69. Invocation command line was |
| + |
| + CONFIG_FILES = $CONFIG_FILES |
| + CONFIG_HEADERS = $CONFIG_HEADERS |
| + CONFIG_LINKS = $CONFIG_LINKS |
| + CONFIG_COMMANDS = $CONFIG_COMMANDS |
| + $ $0 $@ |
| + |
| +on `(hostname || uname -n) 2>/dev/null | sed 1q` |
| +" |
| + |
| +_ACEOF |
| + |
| +case $ac_config_files in *" |
| +"*) set x $ac_config_files; shift; ac_config_files=$*;; |
| +esac |
| + |
| +case $ac_config_headers in *" |
| +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; |
| +esac |
| + |
| + |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| +# Files that config.status was made for. |
| +config_files="$ac_config_files" |
| +config_headers="$ac_config_headers" |
| + |
| +_ACEOF |
| + |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +ac_cs_usage="\ |
| +\`$as_me' instantiates files and other configuration actions |
| +from templates according to the current configuration. Unless the files |
| +and actions are specified as TAGs, all are instantiated by default. |
| + |
| +Usage: $0 [OPTION]... [TAG]... |
| + |
| + -h, --help print this help, then exit |
| + -V, --version print version number and configuration settings, then exit |
| + --config print configuration, then exit |
| + -q, --quiet, --silent |
| + do not print progress messages |
| + -d, --debug don't remove temporary files |
| + --recheck update $as_me by reconfiguring in the same conditions |
| + --file=FILE[:TEMPLATE] |
| + instantiate the configuration file FILE |
| + --header=FILE[:TEMPLATE] |
| + instantiate the configuration header FILE |
| + |
| +Configuration files: |
| +$config_files |
| + |
| +Configuration headers: |
| +$config_headers |
| + |
| +Report bugs to <https://github.com/python/cpython/issues/>." |
| + |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
| +ac_cs_version="\\ |
| +python config.status 3.10 |
| +configured by $0, generated by GNU Autoconf 2.69, |
| + with options \\"\$ac_cs_config\\" |
| + |
| +Copyright (C) 2012 Free Software Foundation, Inc. |
| +This config.status script is free software; the Free Software Foundation |
| +gives unlimited permission to copy, distribute and modify it." |
| + |
| +ac_pwd='$ac_pwd' |
| +srcdir='$srcdir' |
| +INSTALL='$INSTALL' |
| +MKDIR_P='$MKDIR_P' |
| +test -n "\$AWK" || AWK=awk |
| +_ACEOF |
| + |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +# The default lists apply if the user does not specify any file. |
| +ac_need_defaults=: |
| +while test $# != 0 |
| +do |
| + case $1 in |
| + --*=?*) |
| + ac_option=`expr "X$1" : 'X\([^=]*\)='` |
| + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` |
| + ac_shift=: |
| + ;; |
| + --*=) |
| + ac_option=`expr "X$1" : 'X\([^=]*\)='` |
| + ac_optarg= |
| + ac_shift=: |
| + ;; |
| + *) |
| + ac_option=$1 |
| + ac_optarg=$2 |
| + ac_shift=shift |
| + ;; |
| + esac |
| + |
| + case $ac_option in |
| + # Handling of the options. |
| + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) |
| + ac_cs_recheck=: ;; |
| + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) |
| + $as_echo "$ac_cs_version"; exit ;; |
| + --config | --confi | --conf | --con | --co | --c ) |
| + $as_echo "$ac_cs_config"; exit ;; |
| + --debug | --debu | --deb | --de | --d | -d ) |
| + debug=: ;; |
| + --file | --fil | --fi | --f ) |
| + $ac_shift |
| + case $ac_optarg in |
| + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; |
| + '') as_fn_error $? "missing file argument" ;; |
| + esac |
| + as_fn_append CONFIG_FILES " '$ac_optarg'" |
| + ac_need_defaults=false;; |
| + --header | --heade | --head | --hea ) |
| + $ac_shift |
| + case $ac_optarg in |
| + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; |
| + esac |
| + as_fn_append CONFIG_HEADERS " '$ac_optarg'" |
| + ac_need_defaults=false;; |
| + --he | --h) |
| + # Conflict between --help and --header |
| + as_fn_error $? "ambiguous option: \`$1' |
| +Try \`$0 --help' for more information.";; |
| + --help | --hel | -h ) |
| + $as_echo "$ac_cs_usage"; exit ;; |
| + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
| + | -silent | --silent | --silen | --sile | --sil | --si | --s) |
| + ac_cs_silent=: ;; |
| + |
| + # This is an error. |
| + -*) as_fn_error $? "unrecognized option: \`$1' |
| +Try \`$0 --help' for more information." ;; |
| + |
| + *) as_fn_append ac_config_targets " $1" |
| + ac_need_defaults=false ;; |
| + |
| + esac |
| + shift |
| +done |
| + |
| +ac_configure_extra_args= |
| + |
| +if $ac_cs_silent; then |
| + exec 6>/dev/null |
| + ac_configure_extra_args="$ac_configure_extra_args --silent" |
| +fi |
| + |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| +if \$ac_cs_recheck; then |
| + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion |
| + shift |
| + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 |
| + CONFIG_SHELL='$SHELL' |
| + export CONFIG_SHELL |
| + exec "\$@" |
| +fi |
| + |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +exec 5>>config.log |
| +{ |
| + echo |
| + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX |
| +## Running $as_me. ## |
| +_ASBOX |
| + $as_echo "$ac_log" |
| +} >&5 |
| + |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| +_ACEOF |
| + |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| + |
| +# Handling of arguments. |
| +for ac_config_target in $ac_config_targets |
| +do |
| + case $ac_config_target in |
| + "pyconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS pyconfig.h" ;; |
| + "Mac/Makefile") CONFIG_FILES="$CONFIG_FILES Mac/Makefile" ;; |
| + "Mac/PythonLauncher/Makefile") CONFIG_FILES="$CONFIG_FILES Mac/PythonLauncher/Makefile" ;; |
| + "Mac/Resources/framework/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/framework/Info.plist" ;; |
| + "Mac/Resources/app/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/app/Info.plist" ;; |
| + "Makefile.pre") CONFIG_FILES="$CONFIG_FILES Makefile.pre" ;; |
| + "Misc/python.pc") CONFIG_FILES="$CONFIG_FILES Misc/python.pc" ;; |
| + "Misc/python-embed.pc") CONFIG_FILES="$CONFIG_FILES Misc/python-embed.pc" ;; |
| + "Misc/python-config.sh") CONFIG_FILES="$CONFIG_FILES Misc/python-config.sh" ;; |
| + "Modules/ld_so_aix") CONFIG_FILES="$CONFIG_FILES Modules/ld_so_aix" ;; |
| + |
| + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; |
| + esac |
| +done |
| + |
| + |
| +# If the user did not use the arguments to specify the items to instantiate, |
| +# then the envvar interface is used. Set only those that are not. |
| +# We use the long form for the default assignment because of an extremely |
| +# bizarre bug on SunOS 4.1.3. |
| +if $ac_need_defaults; then |
| + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files |
| + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers |
| +fi |
| + |
| +# Have a temporary directory for convenience. Make it in the build tree |
| +# simply because there is no reason against having it here, and in addition, |
| +# creating and moving files from /tmp can sometimes cause problems. |
| +# Hook for its removal unless debugging. |
| +# Note that there is a small window in which the directory will not be cleaned: |
| +# after its creation but before its name has been assigned to `$tmp'. |
| +$debug || |
| +{ |
| + tmp= ac_tmp= |
| + trap 'exit_status=$? |
| + : "${ac_tmp:=$tmp}" |
| + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status |
| +' 0 |
| + trap 'as_fn_exit 1' 1 2 13 15 |
| +} |
| +# Create a (secure) tmp directory for tmp files. |
| + |
| +{ |
| + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && |
| + test -d "$tmp" |
| +} || |
| +{ |
| + tmp=./conf$$-$RANDOM |
| + (umask 077 && mkdir "$tmp") |
| +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 |
| +ac_tmp=$tmp |
| + |
| +# Set up the scripts for CONFIG_FILES section. |
| +# No need to generate them if there are no CONFIG_FILES. |
| +# This happens for instance with `./config.status config.h'. |
| +if test -n "$CONFIG_FILES"; then |
| + |
| + |
| +ac_cr=`echo X | tr X '\015'` |
| +# On cygwin, bash can eat \r inside `` if the user requested igncr. |
| +# But we know of no other shell where ac_cr would be empty at this |
| +# point, so we can use a bashism as a fallback. |
| +if test "x$ac_cr" = x; then |
| + eval ac_cr=\$\'\\r\' |
| +fi |
| +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` |
| +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then |
| + ac_cs_awk_cr='\\r' |
| +else |
| + ac_cs_awk_cr=$ac_cr |
| +fi |
| + |
| +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && |
| +_ACEOF |
| + |
| + |
| +{ |
| + echo "cat >conf$$subs.awk <<_ACEOF" && |
| + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && |
| + echo "_ACEOF" |
| +} >conf$$subs.sh || |
| + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` |
| +ac_delim='%!_!# ' |
| +for ac_last_try in false false false false false :; do |
| + . ./conf$$subs.sh || |
| + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| + |
| + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` |
| + if test $ac_delim_n = $ac_delim_num; then |
| + break |
| + elif $ac_last_try; then |
| + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| + else |
| + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
| + fi |
| +done |
| +rm -f conf$$subs.sh |
| + |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && |
| +_ACEOF |
| +sed -n ' |
| +h |
| +s/^/S["/; s/!.*/"]=/ |
| +p |
| +g |
| +s/^[^!]*!// |
| +:repl |
| +t repl |
| +s/'"$ac_delim"'$// |
| +t delim |
| +:nl |
| +h |
| +s/\(.\{148\}\)..*/\1/ |
| +t more1 |
| +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ |
| +p |
| +n |
| +b repl |
| +:more1 |
| +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ |
| +p |
| +g |
| +s/.\{148\}// |
| +t nl |
| +:delim |
| +h |
| +s/\(.\{148\}\)..*/\1/ |
| +t more2 |
| +s/["\\]/\\&/g; s/^/"/; s/$/"/ |
| +p |
| +b |
| +:more2 |
| +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ |
| +p |
| +g |
| +s/.\{148\}// |
| +t delim |
| +' <conf$$subs.awk | sed ' |
| +/^[^""]/{ |
| + N |
| + s/\n// |
| +} |
| +' >>$CONFIG_STATUS || ac_write_fail=1 |
| +rm -f conf$$subs.awk |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| +_ACAWK |
| +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && |
| + for (key in S) S_is_set[key] = 1 |
| + FS = "" |
| + |
| +} |
| +{ |
| + line = $ 0 |
| + nfields = split(line, field, "@") |
| + substed = 0 |
| + len = length(field[1]) |
| + for (i = 2; i < nfields; i++) { |
| + key = field[i] |
| + keylen = length(key) |
| + if (S_is_set[key]) { |
| + value = S[key] |
| + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) |
| + len += length(value) + length(field[++i]) |
| + substed = 1 |
| + } else |
| + len += 1 + keylen |
| + } |
| + |
| + print line |
| +} |
| + |
| +_ACAWK |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then |
| + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" |
| +else |
| + cat |
| +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ |
| + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 |
| +_ACEOF |
| + |
| +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), |
| +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and |
| +# trailing colons and then remove the whole line if VPATH becomes empty |
| +# (actually we leave an empty line to preserve line numbers). |
| +if test "x$srcdir" = x.; then |
| + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ |
| +h |
| +s/// |
| +s/^/:/ |
| +s/[ ]*$/:/ |
| +s/:\$(srcdir):/:/g |
| +s/:\${srcdir}:/:/g |
| +s/:@srcdir@:/:/g |
| +s/^:*// |
| +s/:*$// |
| +x |
| +s/\(=[ ]*\).*/\1/ |
| +G |
| +s/\n// |
| +s/^[^=]*=[ ]*$// |
| +}' |
| +fi |
| + |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +fi # test -n "$CONFIG_FILES" |
| + |
| +# Set up the scripts for CONFIG_HEADERS section. |
| +# No need to generate them if there are no CONFIG_HEADERS. |
| +# This happens for instance with `./config.status Makefile'. |
| +if test -n "$CONFIG_HEADERS"; then |
| +cat >"$ac_tmp/defines.awk" <<\_ACAWK || |
| +BEGIN { |
| +_ACEOF |
| + |
| +# Transform confdefs.h into an awk script `defines.awk', embedded as |
| +# here-document in config.status, that substitutes the proper values into |
| +# config.h.in to produce config.h. |
| + |
| +# Create a delimiter string that does not exist in confdefs.h, to ease |
| +# handling of long lines. |
| +ac_delim='%!_!# ' |
| +for ac_last_try in false false :; do |
| + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` |
| + if test -z "$ac_tt"; then |
| + break |
| + elif $ac_last_try; then |
| + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 |
| + else |
| + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
| + fi |
| +done |
| + |
| +# For the awk script, D is an array of macro values keyed by name, |
| +# likewise P contains macro parameters if any. Preserve backslash |
| +# newline sequences. |
| + |
| +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* |
| +sed -n ' |
| +s/.\{148\}/&'"$ac_delim"'/g |
| +t rset |
| +:rset |
| +s/^[ ]*#[ ]*define[ ][ ]*/ / |
| +t def |
| +d |
| +:def |
| +s/\\$// |
| +t bsnl |
| +s/["\\]/\\&/g |
| +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ |
| +D["\1"]=" \3"/p |
| +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p |
| +d |
| +:bsnl |
| +s/["\\]/\\&/g |
| +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ |
| +D["\1"]=" \3\\\\\\n"\\/p |
| +t cont |
| +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p |
| +t cont |
| +d |
| +:cont |
| +n |
| +s/.\{148\}/&'"$ac_delim"'/g |
| +t clear |
| +:clear |
| +s/\\$// |
| +t bsnlc |
| +s/["\\]/\\&/g; s/^/"/; s/$/"/p |
| +d |
| +:bsnlc |
| +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p |
| +b cont |
| +' <confdefs.h | sed ' |
| +s/'"$ac_delim"'/"\\\ |
| +"/g' >>$CONFIG_STATUS || ac_write_fail=1 |
| + |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| + for (key in D) D_is_set[key] = 1 |
| + FS = "" |
| +} |
| +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { |
| + line = \$ 0 |
| + split(line, arg, " ") |
| + if (arg[1] == "#") { |
| + defundef = arg[2] |
| + mac1 = arg[3] |
| + } else { |
| + defundef = substr(arg[1], 2) |
| + mac1 = arg[2] |
| + } |
| + split(mac1, mac2, "(") #) |
| + macro = mac2[1] |
| + prefix = substr(line, 1, index(line, defundef) - 1) |
| + if (D_is_set[macro]) { |
| + # Preserve the white space surrounding the "#". |
| + print prefix "define", macro P[macro] D[macro] |
| + next |
| + } else { |
| + # Replace #undef with comments. This is necessary, for example, |
| + # in the case of _POSIX_SOURCE, which is predefined and required |
| + # on some systems where configure will not decide to define it. |
| + if (defundef == "undef") { |
| + print "/*", prefix defundef, macro, "*/" |
| + next |
| + } |
| + } |
| +} |
| +{ print } |
| +_ACAWK |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 |
| +fi # test -n "$CONFIG_HEADERS" |
| + |
| + |
| +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " |
| +shift |
| +for ac_tag |
| +do |
| + case $ac_tag in |
| + :[FHLC]) ac_mode=$ac_tag; continue;; |
| + esac |
| + case $ac_mode$ac_tag in |
| + :[FHL]*:*);; |
| + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; |
| + :[FH]-) ac_tag=-:-;; |
| + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; |
| + esac |
| + ac_save_IFS=$IFS |
| + IFS=: |
| + set x $ac_tag |
| + IFS=$ac_save_IFS |
| + shift |
| + ac_file=$1 |
| + shift |
| + |
| + case $ac_mode in |
| + :L) ac_source=$1;; |
| + :[FH]) |
| + ac_file_inputs= |
| + for ac_f |
| + do |
| + case $ac_f in |
| + -) ac_f="$ac_tmp/stdin";; |
| + *) # Look for the file first in the build tree, then in the source tree |
| + # (if the path is not absolute). The absolute path cannot be DOS-style, |
| + # because $ac_f cannot contain `:'. |
| + test -f "$ac_f" || |
| + case $ac_f in |
| + [\\/$]*) false;; |
| + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; |
| + esac || |
| + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; |
| + esac |
| + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac |
| + as_fn_append ac_file_inputs " '$ac_f'" |
| + done |
| + |
| + # Let's still pretend it is `configure' which instantiates (i.e., don't |
| + # use $as_me), people would be surprised to read: |
| + # /* config.h. Generated by config.status. */ |
| + configure_input='Generated from '` |
| + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' |
| + `' by configure.' |
| + if test x"$ac_file" != x-; then |
| + configure_input="$ac_file. $configure_input" |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 |
| +$as_echo "$as_me: creating $ac_file" >&6;} |
| + fi |
| + # Neutralize special characters interpreted by sed in replacement strings. |
| + case $configure_input in #( |
| + *\&* | *\|* | *\\* ) |
| + ac_sed_conf_input=`$as_echo "$configure_input" | |
| + sed 's/[\\\\&|]/\\\\&/g'`;; #( |
| + *) ac_sed_conf_input=$configure_input;; |
| + esac |
| + |
| + case $ac_tag in |
| + *:-:* | *:-) cat >"$ac_tmp/stdin" \ |
| + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; |
| + esac |
| + ;; |
| + esac |
| + |
| + ac_dir=`$as_dirname -- "$ac_file" || |
| +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
| + X"$ac_file" : 'X\(//\)[^/]' \| \ |
| + X"$ac_file" : 'X\(//\)$' \| \ |
| + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || |
| +$as_echo X"$ac_file" | |
| + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)[^/].*/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\/\)$/{ |
| + s//\1/ |
| + q |
| + } |
| + /^X\(\/\).*/{ |
| + s//\1/ |
| + q |
| + } |
| + s/.*/./; q'` |
| + as_dir="$ac_dir"; as_fn_mkdir_p |
| + ac_builddir=. |
| + |
| +case "$ac_dir" in |
| +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; |
| +*) |
| + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` |
| + # A ".." for each directory in $ac_dir_suffix. |
| + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` |
| + case $ac_top_builddir_sub in |
| + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; |
| + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; |
| + esac ;; |
| +esac |
| +ac_abs_top_builddir=$ac_pwd |
| +ac_abs_builddir=$ac_pwd$ac_dir_suffix |
| +# for backward compatibility: |
| +ac_top_builddir=$ac_top_build_prefix |
| + |
| +case $srcdir in |
| + .) # We are building in place. |
| + ac_srcdir=. |
| + ac_top_srcdir=$ac_top_builddir_sub |
| + ac_abs_top_srcdir=$ac_pwd ;; |
| + [\\/]* | ?:[\\/]* ) # Absolute name. |
| + ac_srcdir=$srcdir$ac_dir_suffix; |
| + ac_top_srcdir=$srcdir |
| + ac_abs_top_srcdir=$srcdir ;; |
| + *) # Relative name. |
| + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix |
| + ac_top_srcdir=$ac_top_build_prefix$srcdir |
| + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; |
| +esac |
| +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix |
| + |
| + |
| + case $ac_mode in |
| + :F) |
| + # |
| + # CONFIG_FILE |
| + # |
| + |
| + case $INSTALL in |
| + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; |
| + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; |
| + esac |
| + ac_MKDIR_P=$MKDIR_P |
| + case $MKDIR_P in |
| + [\\/$]* | ?:[\\/]* ) ;; |
| + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; |
| + esac |
| +_ACEOF |
| + |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +# If the template does not know about datarootdir, expand it. |
| +# FIXME: This hack should be removed a few years after 2.60. |
| +ac_datarootdir_hack=; ac_datarootdir_seen= |
| +ac_sed_dataroot=' |
| +/datarootdir/ { |
| + p |
| + q |
| +} |
| +/@datadir@/p |
| +/@docdir@/p |
| +/@infodir@/p |
| +/@localedir@/p |
| +/@mandir@/p' |
| +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in |
| +*datarootdir*) ac_datarootdir_seen=yes;; |
| +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 |
| +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| + ac_datarootdir_hack=' |
| + s&@datadir@&$datadir&g |
| + s&@docdir@&$docdir&g |
| + s&@infodir@&$infodir&g |
| + s&@localedir@&$localedir&g |
| + s&@mandir@&$mandir&g |
| + s&\\\${datarootdir}&$datarootdir&g' ;; |
| +esac |
| +_ACEOF |
| + |
| +# Neutralize VPATH when `$srcdir' = `.'. |
| +# Shell code in configure.ac might set extrasub. |
| +# FIXME: do we really want to maintain this feature? |
| +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| +ac_sed_extra="$ac_vpsub |
| +$extrasub |
| +_ACEOF |
| +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| +:t |
| +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b |
| +s|@configure_input@|$ac_sed_conf_input|;t t |
| +s&@top_builddir@&$ac_top_builddir_sub&;t t |
| +s&@top_build_prefix@&$ac_top_build_prefix&;t t |
| +s&@srcdir@&$ac_srcdir&;t t |
| +s&@abs_srcdir@&$ac_abs_srcdir&;t t |
| +s&@top_srcdir@&$ac_top_srcdir&;t t |
| +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t |
| +s&@builddir@&$ac_builddir&;t t |
| +s&@abs_builddir@&$ac_abs_builddir&;t t |
| +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t |
| +s&@INSTALL@&$ac_INSTALL&;t t |
| +s&@MKDIR_P@&$ac_MKDIR_P&;t t |
| +$ac_datarootdir_hack |
| +" |
| +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ |
| + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| + |
| +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && |
| + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && |
| + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ |
| + "$ac_tmp/out"`; test -z "$ac_out"; } && |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
| +which seems to be undefined. Please make sure it is defined" >&5 |
| +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
| +which seems to be undefined. Please make sure it is defined" >&2;} |
| + |
| + rm -f "$ac_tmp/stdin" |
| + case $ac_file in |
| + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; |
| + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; |
| + esac \ |
| + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| + ;; |
| + :H) |
| + # |
| + # CONFIG_HEADER |
| + # |
| + if test x"$ac_file" != x-; then |
| + { |
| + $as_echo "/* $configure_input */" \ |
| + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" |
| + } >"$ac_tmp/config.h" \ |
| + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 |
| +$as_echo "$as_me: $ac_file is unchanged" >&6;} |
| + else |
| + rm -f "$ac_file" |
| + mv "$ac_tmp/config.h" "$ac_file" \ |
| + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| + fi |
| + else |
| + $as_echo "/* $configure_input */" \ |
| + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ |
| + || as_fn_error $? "could not create -" "$LINENO" 5 |
| + fi |
| + ;; |
| + |
| + |
| + esac |
| + |
| + |
| + case $ac_file$ac_mode in |
| + "Modules/ld_so_aix":F) chmod +x Modules/ld_so_aix ;; |
| + |
| + esac |
| +done # for ac_tag |
| + |
| + |
| +as_fn_exit 0 |
| +_ACEOF |
| +ac_clean_files=$ac_clean_files_save |
| + |
| +test $ac_write_fail = 0 || |
| + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 |
| + |
| + |
| +# configure is writing to config.log, and then calls config.status. |
| +# config.status does its own redirection, appending to config.log. |
| +# Unfortunately, on DOS this fails, as config.log is still kept open |
| +# by configure, so config.status won't be able to write to it; its |
| +# output is simply discarded. So we exec the FD to /dev/null, |
| +# effectively closing config.log, so it can be properly (re)opened and |
| +# appended to by config.status. When coming back to configure, we |
| +# need to make the FD available again. |
| +if test "$no_create" != yes; then |
| + ac_cs_success=: |
| + ac_config_status_args= |
| + test "$silent" = yes && |
| + ac_config_status_args="$ac_config_status_args --quiet" |
| + exec 5>/dev/null |
| + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false |
| + exec 5>>config.log |
| + # Use ||, not &&, to avoid exiting from the if with $? = 1, which |
| + # would make configure fail if this is the last instruction. |
| + $ac_cs_success || as_fn_exit 1 |
| +fi |
| +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then |
| + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 |
| +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} |
| +fi |
| + |
| + |
| +echo "creating Modules/Setup.local" >&6 |
| +if test ! -f Modules/Setup.local |
| +then |
| + echo "# Edit this file for local setup changes" >Modules/Setup.local |
| +fi |
| + |
| +echo "creating Makefile" >&6 |
| +$SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \ |
| + -s Modules \ |
| + Modules/Setup.local $srcdir/Modules/Setup |
| +mv config.c Modules |
| + |
| +if test "$Py_OPT" = 'false' -a "$Py_DEBUG" != 'true'; then |
| + echo "" >&6 |
| + echo "" >&6 |
| + echo "If you want a release build with all stable optimizations active (PGO, etc)," >&6 |
| + echo "please run ./configure --enable-optimizations" >&6 |
| + echo "" >&6 |
| + echo "" >&6 |
| +fi |
| |
| Property changes on: Python-3.10.8-new/configure |
| ___________________________________________________________________ |
| Added: svn:executable |
| ## -0,0 +1 ## |
| +* |
| \ No newline at end of property |
| |
| |
| |
| |
| @@ -0,0 +1,6019 @@ |
| +dnl *************************************************** |
| +dnl * Please run autoreconf -if to test your changes! * |
| +dnl *************************************************** |
| +dnl |
| +dnl Python's configure.ac file requires autoconf 2.69 and autoconf-archive. |
| +dnl |
| + |
| +# Set VERSION so we only need to edit in one place (i.e., here) |
| +m4_define(PYTHON_VERSION, 3.10) |
| + |
| +AC_PREREQ([2.69]) |
| + |
| +AC_INIT([python],[PYTHON_VERSION],[https://github.com/python/cpython/issues/]) |
| + |
| +m4_ifdef( |
| + [AX_C_FLOAT_WORDS_BIGENDIAN], |
| + [], |
| + [AC_MSG_ERROR([Please install autoconf-archive package and re-run autoreconf])] |
| +) |
| + |
| +AC_SUBST(BASECPPFLAGS) |
| +if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then |
| + # If we're building out-of-tree, we need to make sure the following |
| + # resources get picked up before their $srcdir counterparts. |
| + # Objects/ -> typeslots.inc |
| + # Include/ -> Python.h |
| + # Python/ -> importlib.h |
| + # (A side effect of this is that these resources will automatically be |
| + # regenerated when building out-of-tree, regardless of whether or not |
| + # the $srcdir counterpart is up-to-date. This is an acceptable trade |
| + # off.) |
| + BASECPPFLAGS="-IObjects -IInclude -IPython" |
| +else |
| + BASECPPFLAGS="" |
| +fi |
| + |
| +AC_SUBST(GITVERSION) |
| +AC_SUBST(GITTAG) |
| +AC_SUBST(GITBRANCH) |
| + |
| +if test -e $srcdir/.git |
| +then |
| +AC_CHECK_PROG(HAS_GIT, git, found, not-found) |
| +else |
| +HAS_GIT=no-repository |
| +fi |
| +if test $HAS_GIT = found |
| +then |
| + GITVERSION="git --git-dir \$(srcdir)/.git rev-parse --short HEAD" |
| + GITTAG="git --git-dir \$(srcdir)/.git describe --all --always --dirty" |
| + GITBRANCH="git --git-dir \$(srcdir)/.git name-rev --name-only HEAD" |
| +else |
| + GITVERSION="" |
| + GITTAG="" |
| + GITBRANCH="" |
| +fi |
| + |
| +AC_CONFIG_SRCDIR([Include/object.h]) |
| +AC_CONFIG_HEADER(pyconfig.h) |
| + |
| +AC_CANONICAL_HOST |
| +AC_SUBST(build) |
| +AC_SUBST(host) |
| + |
| +# pybuilddir.txt will be created by --generate-posix-vars in the Makefile |
| +rm -f pybuilddir.txt |
| + |
| +AC_CHECK_PROGS(PYTHON_FOR_REGEN, python$PACKAGE_VERSION python3 python, python3) |
| +AC_SUBST(PYTHON_FOR_REGEN) |
| + |
| +if test "$cross_compiling" = yes; then |
| + AC_MSG_CHECKING([for python interpreter for cross build]) |
| + PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) $(PYTHON3)' |
| +elif test "$cross_compiling" = maybe; then |
| + AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) |
| +else |
| + PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' |
| +fi |
| +AC_SUBST(PYTHON_FOR_BUILD) |
| + |
| +dnl Ensure that if prefix is specified, it does not end in a slash. If |
| +dnl it does, we get path names containing '//' which is both ugly and |
| +dnl can cause trouble. |
| + |
| +dnl Last slash shouldn't be stripped if prefix=/ |
| +if test "$prefix" != "/"; then |
| + prefix=`echo "$prefix" | sed -e 's/\/$//g'` |
| +fi |
| + |
| +dnl This is for stuff that absolutely must end up in pyconfig.h. |
| +dnl Please use pyport.h instead, if possible. |
| +AH_TOP([ |
| +#ifndef Py_PYCONFIG_H |
| +#define Py_PYCONFIG_H |
| +]) |
| +AH_BOTTOM([ |
| +/* Define the macros needed if on a UnixWare 7.x system. */ |
| +#if defined(__USLC__) && defined(__SCO_VERSION__) |
| +#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */ |
| +#endif |
| + |
| +#endif /*Py_PYCONFIG_H*/ |
| +]) |
| + |
| +# We don't use PACKAGE_ variables, and they cause conflicts |
| +# with other autoconf-based packages that include Python.h |
| +grep -v 'define PACKAGE_' <confdefs.h >confdefs.h.new |
| +rm confdefs.h |
| +mv confdefs.h.new confdefs.h |
| + |
| +AC_SUBST(VERSION) |
| +VERSION=PYTHON_VERSION |
| + |
| +# Version number of Python's own shared library file. |
| +AC_SUBST(SOVERSION) |
| +SOVERSION=1.0 |
| + |
| +# The later defininition of _XOPEN_SOURCE disables certain features |
| +# on Linux, so we need _GNU_SOURCE to re-enable them (makedev, tm_zone). |
| +AC_DEFINE(_GNU_SOURCE, 1, [Define on Linux to activate all library features]) |
| + |
| +# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables |
| +# certain features on NetBSD, so we need _NETBSD_SOURCE to re-enable |
| +# them. |
| +AC_DEFINE(_NETBSD_SOURCE, 1, [Define on NetBSD to activate all library features]) |
| + |
| +# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables |
| +# certain features on FreeBSD, so we need __BSD_VISIBLE to re-enable |
| +# them. |
| +AC_DEFINE(__BSD_VISIBLE, 1, [Define on FreeBSD to activate all library features]) |
| + |
| +# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables |
| +# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable |
| +# them. |
| +AC_DEFINE(_DARWIN_C_SOURCE, 1, [Define on Darwin to activate all library features]) |
| + |
| + |
| +define_xopen_source=yes |
| + |
| +# Arguments passed to configure. |
| +AC_SUBST(CONFIG_ARGS) |
| +CONFIG_ARGS="$ac_configure_args" |
| + |
| +AC_MSG_CHECKING([for --enable-universalsdk]) |
| +AC_ARG_ENABLE(universalsdk, |
| + AS_HELP_STRING([--enable-universalsdk@<:@=SDKDIR@:>@], |
| + [create a universal binary build. |
| + SDKDIR specifies which macOS SDK should be used to perform the build, |
| + see Mac/README.rst. (default is no)]), |
| +[ |
| + case $enableval in |
| + yes) |
| + # Locate the best usable SDK, see Mac/README for more |
| + # information |
| + enableval="`/usr/bin/xcodebuild -version -sdk macosx Path 2>/dev/null`" |
| + if ! ( echo $enableval | grep -E '\.sdk' 1>/dev/null ) |
| + then |
| + enableval=/Developer/SDKs/MacOSX10.4u.sdk |
| + if test ! -d "${enableval}" |
| + then |
| + enableval=/ |
| + fi |
| + fi |
| + ;; |
| + esac |
| + case $enableval in |
| + no) |
| + UNIVERSALSDK= |
| + enable_universalsdk= |
| + ;; |
| + *) |
| + UNIVERSALSDK=$enableval |
| + if test ! -d "${UNIVERSALSDK}" |
| + then |
| + AC_MSG_ERROR([--enable-universalsdk specifies non-existing SDK: ${UNIVERSALSDK}]) |
| + fi |
| + ;; |
| + esac |
| + |
| +],[ |
| + UNIVERSALSDK= |
| + enable_universalsdk= |
| +]) |
| +if test -n "${UNIVERSALSDK}" |
| +then |
| + AC_MSG_RESULT(${UNIVERSALSDK}) |
| +else |
| + AC_MSG_RESULT(no) |
| +fi |
| +AC_SUBST(UNIVERSALSDK) |
| + |
| +AC_SUBST(ARCH_RUN_32BIT) |
| +ARCH_RUN_32BIT="" |
| + |
| +# For backward compatibility reasons we prefer to select '32-bit' if available, |
| +# otherwise use 'intel' |
| +UNIVERSAL_ARCHS="32-bit" |
| +if test "`uname -s`" = "Darwin" |
| +then |
| + if test -n "${UNIVERSALSDK}" |
| + then |
| + if test -z "`/usr/bin/file -L "${UNIVERSALSDK}/usr/lib/libSystem.dylib" | grep ppc`" |
| + then |
| + UNIVERSAL_ARCHS="intel" |
| + fi |
| + fi |
| +fi |
| + |
| +AC_SUBST(LIPO_32BIT_FLAGS) |
| +AC_SUBST(LIPO_INTEL64_FLAGS) |
| +AC_MSG_CHECKING(for --with-universal-archs) |
| +AC_ARG_WITH(universal-archs, |
| + AS_HELP_STRING([--with-universal-archs=ARCH], |
| + [specify the kind of macOS universal binary that should be created. |
| + This option is only valid when --enable-universalsdk is set; options are: |
| + ("universal2", "intel-64", "intel-32", "intel", "32-bit", |
| + "64-bit", "3-way", or "all") |
| + see Mac/README.rst]), |
| +[ |
| + UNIVERSAL_ARCHS="$withval" |
| +], |
| +[]) |
| +if test -n "${UNIVERSALSDK}" |
| +then |
| + AC_MSG_RESULT(${UNIVERSAL_ARCHS}) |
| +else |
| + AC_MSG_RESULT(no) |
| +fi |
| + |
| +AC_ARG_WITH(framework-name, |
| + AS_HELP_STRING([--with-framework-name=FRAMEWORK], |
| + [specify the name for the python framework on macOS |
| + only valid when --enable-framework is set. see Mac/README.rst |
| + (default is 'Python')]), |
| +[ |
| + PYTHONFRAMEWORK=${withval} |
| + PYTHONFRAMEWORKDIR=${withval}.framework |
| + PYTHONFRAMEWORKIDENTIFIER=org.python.`echo $withval | tr '[A-Z]' '[a-z]'` |
| + ],[ |
| + PYTHONFRAMEWORK=Python |
| + PYTHONFRAMEWORKDIR=Python.framework |
| + PYTHONFRAMEWORKIDENTIFIER=org.python.python |
| +]) |
| +dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output |
| +AC_ARG_ENABLE(framework, |
| + AS_HELP_STRING([--enable-framework@<:@=INSTALLDIR@:>@], |
| + [create a Python.framework rather than a traditional Unix install. |
| + optional INSTALLDIR specifies the installation path. see Mac/README.rst |
| + (default is no)]), |
| +[ |
| + case $enableval in |
| + yes) |
| + enableval=/Library/Frameworks |
| + esac |
| + case $enableval in |
| + no) |
| + PYTHONFRAMEWORK= |
| + PYTHONFRAMEWORKDIR=no-framework |
| + PYTHONFRAMEWORKPREFIX= |
| + PYTHONFRAMEWORKINSTALLDIR= |
| + FRAMEWORKINSTALLFIRST= |
| + FRAMEWORKINSTALLLAST= |
| + FRAMEWORKALTINSTALLFIRST= |
| + FRAMEWORKALTINSTALLLAST= |
| + FRAMEWORKPYTHONW= |
| + if test "x${prefix}" = "xNONE"; then |
| + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" |
| + else |
| + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" |
| + fi |
| + enable_framework= |
| + ;; |
| + *) |
| + PYTHONFRAMEWORKPREFIX="${enableval}" |
| + PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR |
| + FRAMEWORKINSTALLFIRST="frameworkinstallstructure" |
| + FRAMEWORKALTINSTALLFIRST="frameworkinstallstructure " |
| + FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools" |
| + FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools" |
| + FRAMEWORKPYTHONW="frameworkpythonw" |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + |
| + if test "x${prefix}" = "xNONE" ; then |
| + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" |
| + |
| + else |
| + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" |
| + fi |
| + |
| + case "${enableval}" in |
| + /System*) |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + if test "${prefix}" = "NONE" ; then |
| + # See below |
| + FRAMEWORKUNIXTOOLSPREFIX="/usr" |
| + fi |
| + ;; |
| + |
| + /Library*) |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + ;; |
| + |
| + */Library/Frameworks) |
| + MDIR="`dirname "${enableval}"`" |
| + MDIR="`dirname "${MDIR}"`" |
| + FRAMEWORKINSTALLAPPSPREFIX="${MDIR}/Applications" |
| + |
| + if test "${prefix}" = "NONE"; then |
| + # User hasn't specified the |
| + # --prefix option, but wants to install |
| + # the framework in a non-default location, |
| + # ensure that the compatibility links get |
| + # installed relative to that prefix as well |
| + # instead of in /usr/local. |
| + FRAMEWORKUNIXTOOLSPREFIX="${MDIR}" |
| + fi |
| + ;; |
| + |
| + *) |
| + FRAMEWORKINSTALLAPPSPREFIX="/Applications" |
| + ;; |
| + esac |
| + |
| + prefix=$PYTHONFRAMEWORKINSTALLDIR/Versions/$VERSION |
| + |
| + # Add files for Mac specific code to the list of output |
| + # files: |
| + AC_CONFIG_FILES(Mac/Makefile) |
| + AC_CONFIG_FILES(Mac/PythonLauncher/Makefile) |
| + AC_CONFIG_FILES(Mac/Resources/framework/Info.plist) |
| + AC_CONFIG_FILES(Mac/Resources/app/Info.plist) |
| + esac |
| + ],[ |
| + PYTHONFRAMEWORK= |
| + PYTHONFRAMEWORKDIR=no-framework |
| + PYTHONFRAMEWORKPREFIX= |
| + PYTHONFRAMEWORKINSTALLDIR= |
| + FRAMEWORKINSTALLFIRST= |
| + FRAMEWORKINSTALLLAST= |
| + FRAMEWORKALTINSTALLFIRST= |
| + FRAMEWORKALTINSTALLLAST= |
| + FRAMEWORKPYTHONW= |
| + if test "x${prefix}" = "xNONE" ; then |
| + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" |
| + else |
| + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" |
| + fi |
| + enable_framework= |
| + |
| +]) |
| +AC_SUBST(PYTHONFRAMEWORK) |
| +AC_SUBST(PYTHONFRAMEWORKIDENTIFIER) |
| +AC_SUBST(PYTHONFRAMEWORKDIR) |
| +AC_SUBST(PYTHONFRAMEWORKPREFIX) |
| +AC_SUBST(PYTHONFRAMEWORKINSTALLDIR) |
| +AC_SUBST(FRAMEWORKINSTALLFIRST) |
| +AC_SUBST(FRAMEWORKINSTALLLAST) |
| +AC_SUBST(FRAMEWORKALTINSTALLFIRST) |
| +AC_SUBST(FRAMEWORKALTINSTALLLAST) |
| +AC_SUBST(FRAMEWORKPYTHONW) |
| +AC_SUBST(FRAMEWORKUNIXTOOLSPREFIX) |
| +AC_SUBST(FRAMEWORKINSTALLAPPSPREFIX) |
| + |
| +AC_DEFINE_UNQUOTED(_PYTHONFRAMEWORK, "${PYTHONFRAMEWORK}", [framework name]) |
| + |
| +##AC_ARG_WITH(dyld, |
| +## AS_HELP_STRING([--with-dyld], |
| +## [use (OpenStep|Rhapsody) dynamic linker])) |
| +## |
| +# Set name for machine-dependent library files |
| +AC_ARG_VAR([MACHDEP], [name for machine-dependent library files]) |
| +AC_MSG_CHECKING(MACHDEP) |
| +if test -z "$MACHDEP" |
| +then |
| + # avoid using uname for cross builds |
| + if test "$cross_compiling" = yes; then |
| + # ac_sys_system and ac_sys_release are used for setting |
| + # a lot of different things including 'define_xopen_source' |
| + # in the case statement below. |
| + case "$host" in |
| + *-*-linux-android*) |
| + ac_sys_system=Linux-android |
| + ;; |
| + *-*-linux*) |
| + ac_sys_system=Linux |
| + ;; |
| + *-*-cygwin*) |
| + ac_sys_system=Cygwin |
| + ;; |
| + *-*-vxworks*) |
| + ac_sys_system=VxWorks |
| + ;; |
| + *) |
| + # for now, limit cross builds to known configurations |
| + MACHDEP="unknown" |
| + AC_MSG_ERROR([cross build not supported for $host]) |
| + esac |
| + ac_sys_release= |
| + else |
| + ac_sys_system=`uname -s` |
| + if test "$ac_sys_system" = "AIX" \ |
| + -o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then |
| + ac_sys_release=`uname -v` |
| + else |
| + ac_sys_release=`uname -r` |
| + fi |
| + fi |
| + ac_md_system=`echo $ac_sys_system | |
| + tr -d '[/ ]' | tr '[[A-Z]]' '[[a-z]]'` |
| + ac_md_release=`echo $ac_sys_release | |
| + tr -d '[/ ]' | sed 's/^[[A-Z]]\.//' | sed 's/\..*//'` |
| + MACHDEP="$ac_md_system$ac_md_release" |
| + |
| + case $MACHDEP in |
| + aix*) MACHDEP="aix";; |
| + linux*) MACHDEP="linux";; |
| + cygwin*) MACHDEP="cygwin";; |
| + darwin*) MACHDEP="darwin";; |
| + '') MACHDEP="unknown";; |
| + esac |
| +fi |
| +AC_MSG_RESULT("$MACHDEP") |
| + |
| +AC_SUBST(_PYTHON_HOST_PLATFORM) |
| +if test "$cross_compiling" = yes; then |
| + case "$host" in |
| + *-*-linux*) |
| + case "$host_cpu" in |
| + arm*) |
| + _host_cpu=arm |
| + ;; |
| + *) |
| + _host_cpu=$host_cpu |
| + esac |
| + ;; |
| + *-*-cygwin*) |
| + _host_cpu= |
| + ;; |
| + *-*-vxworks*) |
| + _host_cpu=$host_cpu |
| + ;; |
| + *) |
| + # for now, limit cross builds to known configurations |
| + MACHDEP="unknown" |
| + AC_MSG_ERROR([cross build not supported for $host]) |
| + esac |
| + _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}" |
| +fi |
| + |
| +# Some systems cannot stand _XOPEN_SOURCE being defined at all; they |
| +# disable features if it is defined, without any means to access these |
| +# features as extensions. For these systems, we skip the definition of |
| +# _XOPEN_SOURCE. Before adding a system to the list to gain access to |
| +# some feature, make sure there is no alternative way to access this |
| +# feature. Also, when using wildcards, make sure you have verified the |
| +# need for not defining _XOPEN_SOURCE on all systems matching the |
| +# wildcard, and that the wildcard does not include future systems |
| +# (which may remove their limitations). |
| +dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output |
| +case $ac_sys_system/$ac_sys_release in |
| + # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, |
| + # even though select is a POSIX function. Reported by J. Ribbens. |
| + # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. |
| + # In addition, Stefan Krah confirms that issue #1244610 exists through |
| + # OpenBSD 4.6, but is fixed in 4.7. |
| + OpenBSD/2.* | OpenBSD/3.* | OpenBSD/4.@<:@0123456@:>@) |
| + define_xopen_source=no |
| + # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is |
| + # also defined. This can be overridden by defining _BSD_SOURCE |
| + # As this has a different meaning on Linux, only define it on OpenBSD |
| + AC_DEFINE(_BSD_SOURCE, 1, [Define on OpenBSD to activate all library features]) |
| + ;; |
| + OpenBSD/*) |
| + # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is |
| + # also defined. This can be overridden by defining _BSD_SOURCE |
| + # As this has a different meaning on Linux, only define it on OpenBSD |
| + AC_DEFINE(_BSD_SOURCE, 1, [Define on OpenBSD to activate all library features]) |
| + ;; |
| + # Defining _XOPEN_SOURCE on NetBSD version prior to the introduction of |
| + # _NETBSD_SOURCE disables certain features (eg. setgroups). Reported by |
| + # Marc Recht |
| + NetBSD/1.5 | NetBSD/1.5.* | NetBSD/1.6 | NetBSD/1.6.* | NetBSD/1.6@<:@A-S@:>@) |
| + define_xopen_source=no;; |
| + # From the perspective of Solaris, _XOPEN_SOURCE is not so much a |
| + # request to enable features supported by the standard as a request |
| + # to disable features not supported by the standard. The best way |
| + # for Python to use Solaris is simply to leave _XOPEN_SOURCE out |
| + # entirely and define __EXTENSIONS__ instead. |
| + SunOS/*) |
| + define_xopen_source=no;; |
| + # On UnixWare 7, u_long is never defined with _XOPEN_SOURCE, |
| + # but used in /usr/include/netinet/tcp.h. Reported by Tim Rice. |
| + # Reconfirmed for 7.1.4 by Martin v. Loewis. |
| + OpenUNIX/8.0.0| UnixWare/7.1.@<:@0-4@:>@) |
| + define_xopen_source=no;; |
| + # On OpenServer 5, u_short is never defined with _XOPEN_SOURCE, |
| + # but used in struct sockaddr.sa_family. Reported by Tim Rice. |
| + SCO_SV/3.2) |
| + define_xopen_source=no;; |
| + # On MacOS X 10.2, a bug in ncurses.h means that it craps out if |
| + # _XOPEN_EXTENDED_SOURCE is defined. Apparently, this is fixed in 10.3, which |
| + # identifies itself as Darwin/7.* |
| + # On Mac OS X 10.4, defining _POSIX_C_SOURCE or _XOPEN_SOURCE |
| + # disables platform specific features beyond repair. |
| + # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE |
| + # has no effect, don't bother defining them |
| + Darwin/@<:@6789@:>@.*) |
| + define_xopen_source=no;; |
| + Darwin/@<:@[12]@:>@@<:@0-9@:>@.*) |
| + define_xopen_source=no;; |
| + # On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from |
| + # defining NI_NUMERICHOST. |
| + QNX/6.3.2) |
| + define_xopen_source=no |
| + ;; |
| + # On VxWorks, defining _XOPEN_SOURCE causes compile failures |
| + # in network headers still using system V types. |
| + VxWorks/*) |
| + define_xopen_source=no |
| + ;; |
| + |
| + # On HP-UX, defining _XOPEN_SOURCE to 600 or greater hides |
| + # chroot() and other functions |
| + hp*|HP*) |
| + define_xopen_source=no |
| + ;; |
| + |
| +esac |
| + |
| +if test $define_xopen_source = yes |
| +then |
| + # X/Open 7, incorporating POSIX.1-2008 |
| + AC_DEFINE(_XOPEN_SOURCE, 700, |
| + Define to the level of X/Open that your system supports) |
| + |
| + # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires |
| + # definition of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else |
| + # several APIs are not declared. Since this is also needed in some |
| + # cases for HP-UX, we define it globally. |
| + AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, |
| + Define to activate Unix95-and-earlier features) |
| + |
| + AC_DEFINE(_POSIX_C_SOURCE, 200809L, Define to activate features from IEEE Stds 1003.1-2008) |
| +fi |
| + |
| +# On HP-UX mbstate_t requires _INCLUDE__STDC_A1_SOURCE |
| +case $ac_sys_system in |
| + hp*|HP*) |
| + define_stdc_a1=yes;; |
| + *) |
| + define_stdc_a1=no;; |
| +esac |
| + |
| +if test $define_stdc_a1 = yes |
| +then |
| + AC_DEFINE(_INCLUDE__STDC_A1_SOURCE, 1, Define to include mbstate_t for mbrtowc) |
| +fi |
| + |
| +# Record the configure-time value of MACOSX_DEPLOYMENT_TARGET, |
| +# it may influence the way we can build extensions, so distutils |
| +# needs to check it |
| +AC_SUBST(CONFIGURE_MACOSX_DEPLOYMENT_TARGET) |
| +AC_SUBST(EXPORT_MACOSX_DEPLOYMENT_TARGET) |
| +CONFIGURE_MACOSX_DEPLOYMENT_TARGET= |
| +EXPORT_MACOSX_DEPLOYMENT_TARGET='#' |
| + |
| +# checks for alternative programs |
| + |
| +# compiler flags are generated in two sets, BASECFLAGS and OPT. OPT is just |
| +# for debug/optimization stuff. BASECFLAGS is for flags that are required |
| +# just to get things to compile and link. Users are free to override OPT |
| +# when running configure or make. The build should not break if they do. |
| +# BASECFLAGS should generally not be messed with, however. |
| + |
| +# If the user switches compilers, we can't believe the cache |
| +if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC" |
| +then |
| + AC_MSG_ERROR([cached CC is different -- throw away $cache_file |
| +(it is also a good idea to do 'make clean' before compiling)]) |
| +fi |
| + |
| +# Don't let AC_PROG_CC set the default CFLAGS. It normally sets -g -O2 |
| +# when the compiler supports them, but we don't always want -O2, and |
| +# we set -g later. |
| +if test -z "$CFLAGS"; then |
| + CFLAGS= |
| +fi |
| + |
| +if test "$ac_sys_system" = "Darwin" |
| +then |
| + # Compiler selection on MacOSX is more complicated than |
| + # AC_PROG_CC can handle, see Mac/README for more |
| + # information |
| + if test -z "${CC}" |
| + then |
| + found_gcc= |
| + found_clang= |
| + as_save_IFS=$IFS; IFS=: |
| + for as_dir in $PATH |
| + do |
| + IFS=$as_save_IFS |
| + if test -x "${as_dir}/gcc"; then |
| + if test -z "${found_gcc}"; then |
| + found_gcc="${as_dir}/gcc" |
| + fi |
| + fi |
| + if test -x "${as_dir}/clang"; then |
| + if test -z "${found_clang}"; then |
| + found_clang="${as_dir}/clang" |
| + fi |
| + fi |
| + done |
| + IFS=$as_save_IFS |
| + |
| + if test -n "$found_gcc" -a -n "$found_clang" |
| + then |
| + if test -n "`"$found_gcc" --version | grep llvm-gcc`" |
| + then |
| + AC_MSG_NOTICE([Detected llvm-gcc, falling back to clang]) |
| + CC="$found_clang" |
| + CXX="$found_clang++" |
| + fi |
| + |
| + |
| + elif test -z "$found_gcc" -a -n "$found_clang" |
| + then |
| + AC_MSG_NOTICE([No GCC found, use CLANG]) |
| + CC="$found_clang" |
| + CXX="$found_clang++" |
| + |
| + elif test -z "$found_gcc" -a -z "$found_clang" |
| + then |
| + found_clang=`/usr/bin/xcrun -find clang 2>/dev/null` |
| + if test -n "${found_clang}" |
| + then |
| + AC_MSG_NOTICE([Using clang from Xcode.app]) |
| + CC="${found_clang}" |
| + CXX="`/usr/bin/xcrun -find clang++`" |
| + |
| + # else: use default behaviour |
| + fi |
| + fi |
| + fi |
| +fi |
| +AC_PROG_CC |
| +AC_PROG_CPP |
| +AC_PROG_GREP |
| +AC_PROG_SED |
| + |
| +AC_SUBST(CXX) |
| +AC_SUBST(MAINCC) |
| +AC_MSG_CHECKING(for --with-cxx-main=<compiler>) |
| +AC_ARG_WITH(cxx_main, |
| + AS_HELP_STRING([--with-cxx-main@<:@=COMPILER@:>@], |
| + [compile main() and link Python executable with C++ compiler specified in COMPILER (default is $CXX)]), |
| +[ |
| + |
| + case $withval in |
| + no) with_cxx_main=no |
| + MAINCC='$(CC)';; |
| + yes) with_cxx_main=yes |
| + MAINCC='$(CXX)';; |
| + *) with_cxx_main=yes |
| + MAINCC=$withval |
| + if test -z "$CXX" |
| + then |
| + CXX=$withval |
| + fi;; |
| + esac], [ |
| + with_cxx_main=no |
| + MAINCC='$(CC)' |
| +]) |
| +AC_MSG_RESULT($with_cxx_main) |
| + |
| +preset_cxx="$CXX" |
| +if test -z "$CXX" |
| +then |
| + case "$CC" in |
| + gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;; |
| + cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;; |
| + clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;; |
| + icc|*/icc) AC_PATH_TOOL(CXX, [icpc], [icpc], [notfound]) ;; |
| + esac |
| + if test "$CXX" = "notfound" |
| + then |
| + CXX="" |
| + fi |
| +fi |
| +if test -z "$CXX" |
| +then |
| + AC_CHECK_TOOLS(CXX, $CCC c++ g++ gcc CC cxx cc++ cl, notfound) |
| + if test "$CXX" = "notfound" |
| + then |
| + CXX="" |
| + fi |
| +fi |
| +if test "$preset_cxx" != "$CXX" |
| +then |
| + AC_MSG_NOTICE([ |
| + |
| + By default, distutils will build C++ extension modules with "$CXX". |
| + If this is not intended, then set CXX on the configure command line. |
| + ]) |
| +fi |
| + |
| + |
| +AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) |
| +cat >> conftest.c <<EOF |
| +#undef bfin |
| +#undef cris |
| +#undef fr30 |
| +#undef linux |
| +#undef hppa |
| +#undef hpux |
| +#undef i386 |
| +#undef mips |
| +#undef powerpc |
| +#undef sparc |
| +#undef unix |
| +#if defined(__ANDROID__) |
| + # Android is not a multiarch system. |
| +#elif defined(__linux__) |
| +# if defined(__x86_64__) && defined(__LP64__) |
| + x86_64-linux-gnu |
| +# elif defined(__x86_64__) && defined(__ILP32__) |
| + x86_64-linux-gnux32 |
| +# elif defined(__i386__) |
| + i386-linux-gnu |
| +# elif defined(__aarch64__) && defined(__AARCH64EL__) |
| +# if defined(__ILP32__) |
| + aarch64_ilp32-linux-gnu |
| +# else |
| + aarch64-linux-gnu |
| +# endif |
| +# elif defined(__aarch64__) && defined(__AARCH64EB__) |
| +# if defined(__ILP32__) |
| + aarch64_be_ilp32-linux-gnu |
| +# else |
| + aarch64_be-linux-gnu |
| +# endif |
| +# elif defined(__alpha__) |
| + alpha-linux-gnu |
| +# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) |
| +# if defined(__ARMEL__) |
| + arm-linux-gnueabihf |
| +# else |
| + armeb-linux-gnueabihf |
| +# endif |
| +# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) |
| +# if defined(__ARMEL__) |
| + arm-linux-gnueabi |
| +# else |
| + armeb-linux-gnueabi |
| +# endif |
| +# elif defined(__hppa__) |
| + hppa-linux-gnu |
| +# elif defined(__ia64__) |
| + ia64-linux-gnu |
| +# elif defined(__m68k__) && !defined(__mcoldfire__) |
| + m68k-linux-gnu |
| +# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL) |
| +# if _MIPS_SIM == _ABIO32 |
| + mipsisa32r6el-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mipsisa64r6el-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mipsisa64r6el-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) |
| +# if _MIPS_SIM == _ABIO32 |
| + mipsisa32r6-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mipsisa64r6-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mipsisa64r6-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__mips_hard_float) && defined(_MIPSEL) |
| +# if _MIPS_SIM == _ABIO32 |
| + mipsel-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mips64el-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mips64el-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__mips_hard_float) |
| +# if _MIPS_SIM == _ABIO32 |
| + mips-linux-gnu |
| +# elif _MIPS_SIM == _ABIN32 |
| + mips64-linux-gnuabin32 |
| +# elif _MIPS_SIM == _ABI64 |
| + mips64-linux-gnuabi64 |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# elif defined(__or1k__) |
| + or1k-linux-gnu |
| +# elif defined(__powerpc__) && defined(__SPE__) |
| + powerpc-linux-gnuspe |
| +# elif defined(__powerpc64__) |
| +# if defined(__LITTLE_ENDIAN__) |
| + powerpc64le-linux-gnu |
| +# else |
| + powerpc64-linux-gnu |
| +# endif |
| +# elif defined(__powerpc__) |
| + powerpc-linux-gnu |
| +# elif defined(__s390x__) |
| + s390x-linux-gnu |
| +# elif defined(__s390__) |
| + s390-linux-gnu |
| +# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) |
| + sh4-linux-gnu |
| +# elif defined(__sparc__) && defined(__arch64__) |
| + sparc64-linux-gnu |
| +# elif defined(__sparc__) |
| + sparc-linux-gnu |
| +# elif defined(__riscv) |
| +# if __riscv_xlen == 32 |
| + riscv32-linux-gnu |
| +# elif __riscv_xlen == 64 |
| + riscv64-linux-gnu |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +#elif defined(__FreeBSD_kernel__) |
| +# if defined(__LP64__) |
| + x86_64-kfreebsd-gnu |
| +# elif defined(__i386__) |
| + i386-kfreebsd-gnu |
| +# else |
| +# error unknown platform triplet |
| +# endif |
| +#elif defined(__gnu_hurd__) |
| + i386-gnu |
| +#elif defined(__APPLE__) |
| + darwin |
| +#elif defined(__VXWORKS__) |
| + vxworks |
| +#else |
| +# error unknown platform triplet |
| +#endif |
| + |
| +EOF |
| + |
| +if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then |
| + PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` |
| + AC_MSG_RESULT([$PLATFORM_TRIPLET]) |
| +else |
| + AC_MSG_RESULT([none]) |
| +fi |
| +rm -f conftest.c conftest.out |
| + |
| +AC_MSG_CHECKING([for multiarch]) |
| +AS_CASE([$ac_sys_system], |
| + [Darwin*], [MULTIARCH=""], |
| + [FreeBSD*], [MULTIARCH=""], |
| + [MULTIARCH=$($CC --print-multiarch 2>/dev/null)] |
| +) |
| +AC_SUBST([MULTIARCH]) |
| +AC_MSG_RESULT([$MULTIARCH]) |
| + |
| +if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then |
| + if test x$PLATFORM_TRIPLET != x$MULTIARCH; then |
| + AC_MSG_ERROR([internal configure error for the platform triplet, please file a bug report]) |
| + fi |
| +elif test x$PLATFORM_TRIPLET != x && test x$MULTIARCH = x; then |
| + MULTIARCH=$PLATFORM_TRIPLET |
| +fi |
| +AC_SUBST(PLATFORM_TRIPLET) |
| + |
| +if test x$MULTIARCH != x; then |
| + MULTIARCH_CPPFLAGS="-DMULTIARCH=\\\"$MULTIARCH\\\"" |
| +fi |
| +AC_SUBST(MULTIARCH_CPPFLAGS) |
| + |
| +AC_MSG_CHECKING([for -Wl,--no-as-needed]) |
| +save_LDFLAGS="$LDFLAGS" |
| +LDFLAGS="$LDFLAGS -Wl,--no-as-needed" |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])], |
| + [NO_AS_NEEDED="-Wl,--no-as-needed" |
| + AC_MSG_RESULT([yes])], |
| + [NO_AS_NEEDED="" |
| + AC_MSG_RESULT([no])]) |
| +LDFLAGS="$save_LDFLAGS" |
| +AC_SUBST(NO_AS_NEEDED) |
| + |
| + |
| +# checks for UNIX variants that set C preprocessor variables |
| +AC_USE_SYSTEM_EXTENSIONS |
| + |
| +AC_MSG_CHECKING([for the Android API level]) |
| +cat >> conftest.c <<EOF |
| +#ifdef __ANDROID__ |
| +android_api = __ANDROID_API__ |
| +arm_arch = __ARM_ARCH |
| +#else |
| +#error not Android |
| +#endif |
| +EOF |
| + |
| +if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then |
| + ANDROID_API_LEVEL=`sed -n -e '/__ANDROID_API__/d' -e 's/^android_api = //p' conftest.out` |
| + _arm_arch=`sed -n -e '/__ARM_ARCH/d' -e 's/^arm_arch = //p' conftest.out` |
| + AC_MSG_RESULT([$ANDROID_API_LEVEL]) |
| + if test -z "$ANDROID_API_LEVEL"; then |
| + echo 'Fatal: you must define __ANDROID_API__' |
| + exit 1 |
| + fi |
| + AC_DEFINE_UNQUOTED(ANDROID_API_LEVEL, $ANDROID_API_LEVEL, [The Android API level.]) |
| + |
| + AC_MSG_CHECKING([for the Android arm ABI]) |
| + AC_MSG_RESULT([$_arm_arch]) |
| + if test "$_arm_arch" = 7; then |
| + BASECFLAGS="${BASECFLAGS} -mfloat-abi=softfp -mfpu=vfpv3-d16" |
| + LDFLAGS="${LDFLAGS} -march=armv7-a -Wl,--fix-cortex-a8" |
| + fi |
| +else |
| + AC_MSG_RESULT([not Android]) |
| +fi |
| +rm -f conftest.c conftest.out |
| + |
| +# Check for unsupported systems |
| +case $ac_sys_system/$ac_sys_release in |
| +atheos*|Linux*/1*) |
| + echo This system \($ac_sys_system/$ac_sys_release\) is no longer supported. |
| + echo See README for details. |
| + exit 1;; |
| +esac |
| + |
| +AC_EXEEXT |
| +AC_MSG_CHECKING(for --with-suffix) |
| +AC_ARG_WITH(suffix, |
| + AS_HELP_STRING([--with-suffix=SUFFIX], [set executable suffix to SUFFIX (default is '.exe')]), |
| +[ |
| + case $withval in |
| + no) EXEEXT=;; |
| + yes) EXEEXT=.exe;; |
| + *) EXEEXT=$withval;; |
| + esac]) |
| +AC_MSG_RESULT($EXEEXT) |
| + |
| +# Test whether we're running on a non-case-sensitive system, in which |
| +# case we give a warning if no ext is given |
| +AC_SUBST(BUILDEXEEXT) |
| +AC_MSG_CHECKING(for case-insensitive build directory) |
| +if test ! -d CaseSensitiveTestDir; then |
| +mkdir CaseSensitiveTestDir |
| +fi |
| + |
| +if test -d casesensitivetestdir |
| +then |
| + AC_MSG_RESULT(yes) |
| + BUILDEXEEXT=.exe |
| +else |
| + AC_MSG_RESULT(no) |
| + BUILDEXEEXT=$EXEEXT |
| +fi |
| +rmdir CaseSensitiveTestDir |
| + |
| +case $ac_sys_system in |
| +hp*|HP*) |
| + case $CC in |
| + cc|*/cc) CC="$CC -Ae";; |
| + esac;; |
| +esac |
| + |
| +AC_SUBST(LIBRARY) |
| +AC_MSG_CHECKING(LIBRARY) |
| +if test -z "$LIBRARY" |
| +then |
| + LIBRARY='libpython$(VERSION)$(ABIFLAGS).a' |
| +fi |
| +AC_MSG_RESULT($LIBRARY) |
| + |
| +# LDLIBRARY is the name of the library to link against (as opposed to the |
| +# name of the library into which to insert object files). BLDLIBRARY is also |
| +# the library to link against, usually. On Mac OS X frameworks, BLDLIBRARY |
| +# is blank as the main program is not linked directly against LDLIBRARY. |
| +# LDLIBRARYDIR is the path to LDLIBRARY, which is made in a subdirectory. On |
| +# systems without shared libraries, LDLIBRARY is the same as LIBRARY |
| +# (defined in the Makefiles). On Cygwin LDLIBRARY is the import library, |
| +# DLLLIBRARY is the shared (i.e., DLL) library. |
| +# |
| +# RUNSHARED is used to run shared python without installed libraries |
| +# |
| +# INSTSONAME is the name of the shared library that will be use to install |
| +# on the system - some systems like version suffix, others don't |
| +# |
| +# LDVERSION is the shared library version number, normally the Python version |
| +# with the ABI build flags appended. |
| +AC_SUBST(LDLIBRARY) |
| +AC_SUBST(DLLLIBRARY) |
| +AC_SUBST(BLDLIBRARY) |
| +AC_SUBST(PY3LIBRARY) |
| +AC_SUBST(LDLIBRARYDIR) |
| +AC_SUBST(INSTSONAME) |
| +AC_SUBST(RUNSHARED) |
| +AC_SUBST(LDVERSION) |
| +LDLIBRARY="$LIBRARY" |
| +BLDLIBRARY='$(LDLIBRARY)' |
| +INSTSONAME='$(LDLIBRARY)' |
| +DLLLIBRARY='' |
| +LDLIBRARYDIR='' |
| +RUNSHARED='' |
| +LDVERSION="$VERSION" |
| + |
| +# LINKCC is the command that links the python executable -- default is $(CC). |
| +# If CXX is set, and if it is needed to link a main function that was |
| +# compiled with CXX, LINKCC is CXX instead. Always using CXX is undesirable: |
| +# python might then depend on the C++ runtime |
| +AC_SUBST(LINKCC) |
| +AC_MSG_CHECKING(LINKCC) |
| +if test -z "$LINKCC" |
| +then |
| + LINKCC='$(PURIFY) $(MAINCC)' |
| + case $ac_sys_system in |
| + QNX*) |
| + # qcc must be used because the other compilers do not |
| + # support -N. |
| + LINKCC=qcc;; |
| + esac |
| +fi |
| +AC_MSG_RESULT($LINKCC) |
| + |
| +# EXPORTSYMS holds the list of exported symbols for AIX. |
| +# EXPORTSFROM holds the module name exporting symbols on AIX. |
| +EXPORTSYMS= |
| +EXPORTSFROM= |
| +AC_SUBST(EXPORTSYMS) |
| +AC_SUBST(EXPORTSFROM) |
| +AC_MSG_CHECKING(EXPORTSYMS) |
| +case $ac_sys_system in |
| +AIX*) |
| + EXPORTSYMS="Modules/python.exp" |
| + EXPORTSFROM=. # the main executable |
| + ;; |
| +esac |
| +AC_MSG_RESULT($EXPORTSYMS) |
| + |
| +# GNULD is set to "yes" if the GNU linker is used. If this goes wrong |
| +# make sure we default having it set to "no": this is used by |
| +# distutils.unixccompiler to know if it should add --enable-new-dtags |
| +# to linker command lines, and failing to detect GNU ld simply results |
| +# in the same bahaviour as before. |
| +AC_SUBST(GNULD) |
| +AC_MSG_CHECKING(for GNU ld) |
| +ac_prog=ld |
| +if test "$GCC" = yes; then |
| + ac_prog=`$CC -print-prog-name=ld` |
| +fi |
| +case `"$ac_prog" -V 2>&1 < /dev/null` in |
| + *GNU*) |
| + GNULD=yes;; |
| + *) |
| + GNULD=no;; |
| +esac |
| +AC_MSG_RESULT($GNULD) |
| + |
| +AC_MSG_CHECKING(for --enable-shared) |
| +AC_ARG_ENABLE(shared, |
| + AS_HELP_STRING([--enable-shared], [enable building a shared Python library (default is no)])) |
| + |
| +if test -z "$enable_shared" |
| +then |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + enable_shared="yes";; |
| + *) |
| + enable_shared="no";; |
| + esac |
| +fi |
| +AC_MSG_RESULT($enable_shared) |
| + |
| +AC_MSG_CHECKING(for --enable-profiling) |
| +AC_ARG_ENABLE(profiling, |
| + AS_HELP_STRING([--enable-profiling], [enable C-level code profiling with gprof (default is no)])) |
| +if test "x$enable_profiling" = xyes; then |
| + ac_save_cc="$CC" |
| + CC="$CC -pg" |
| + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])], |
| + [], |
| + [enable_profiling=no]) |
| + CC="$ac_save_cc" |
| +else |
| + enable_profiling=no |
| +fi |
| +AC_MSG_RESULT($enable_profiling) |
| + |
| +if test "x$enable_profiling" = xyes; then |
| + BASECFLAGS="-pg $BASECFLAGS" |
| + LDFLAGS="-pg $LDFLAGS" |
| +fi |
| + |
| +AC_MSG_CHECKING(LDLIBRARY) |
| + |
| +# MacOSX framework builds need more magic. LDLIBRARY is the dynamic |
| +# library that we build, but we do not want to link against it (we |
| +# will find it with a -framework option). For this reason there is an |
| +# extra variable BLDLIBRARY against which Python and the extension |
| +# modules are linked, BLDLIBRARY. This is normally the same as |
| +# LDLIBRARY, but empty for MacOSX framework builds. |
| +if test "$enable_framework" |
| +then |
| + LDLIBRARY='$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + RUNSHARED=DYLD_FRAMEWORK_PATH=`pwd`${DYLD_FRAMEWORK_PATH:+:${DYLD_FRAMEWORK_PATH}} |
| + BLDLIBRARY='' |
| +else |
| + BLDLIBRARY='$(LDLIBRARY)' |
| +fi |
| + |
| +# Other platforms follow |
| +if test $enable_shared = "yes"; then |
| + PY_ENABLE_SHARED=1 |
| + AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.]) |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + LDLIBRARY='libpython$(LDVERSION).dll.a' |
| + DLLLIBRARY='libpython$(LDVERSION).dll' |
| + ;; |
| + SunOS*) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + BLDLIBRARY='-Wl,-R,$(LIBDIR) -L. -lpython$(LDVERSION)' |
| + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} |
| + INSTSONAME="$LDLIBRARY".$SOVERSION |
| + if test "$with_pydebug" != yes |
| + then |
| + PY3LIBRARY=libpython3.so |
| + fi |
| + ;; |
| + Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + BLDLIBRARY='-L. -lpython$(LDVERSION)' |
| + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} |
| + INSTSONAME="$LDLIBRARY".$SOVERSION |
| + if test "$with_pydebug" != yes |
| + then |
| + PY3LIBRARY=libpython3.so |
| + fi |
| + ;; |
| + hp*|HP*) |
| + case `uname -m` in |
| + ia64) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + ;; |
| + *) |
| + LDLIBRARY='libpython$(LDVERSION).sl' |
| + ;; |
| + esac |
| + BLDLIBRARY='-Wl,+b,$(LIBDIR) -L. -lpython$(LDVERSION)' |
| + RUNSHARED=SHLIB_PATH=`pwd`${SHLIB_PATH:+:${SHLIB_PATH}} |
| + ;; |
| + Darwin*) |
| + LDLIBRARY='libpython$(LDVERSION).dylib' |
| + BLDLIBRARY='-L. -lpython$(LDVERSION)' |
| + RUNSHARED=DYLD_LIBRARY_PATH=`pwd`${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}} |
| + ;; |
| + AIX*) |
| + LDLIBRARY='libpython$(LDVERSION).so' |
| + RUNSHARED=LIBPATH=`pwd`${LIBPATH:+:${LIBPATH}} |
| + ;; |
| + |
| + esac |
| +else # shared is disabled |
| + PY_ENABLE_SHARED=0 |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + BLDLIBRARY='$(LIBRARY)' |
| + LDLIBRARY='libpython$(LDVERSION).dll.a' |
| + ;; |
| + esac |
| +fi |
| + |
| +if test "$cross_compiling" = yes; then |
| + RUNSHARED= |
| +fi |
| + |
| +AC_MSG_RESULT($LDLIBRARY) |
| + |
| +AC_SUBST(AR) |
| +AC_CHECK_TOOLS(AR, ar aal, ar) |
| + |
| +# tweak ARFLAGS only if the user didn't set it on the command line |
| +AC_SUBST(ARFLAGS) |
| +if test -z "$ARFLAGS" |
| +then |
| + ARFLAGS="rcs" |
| +fi |
| + |
| +AC_CHECK_TOOLS([READELF], [readelf], [:]) |
| +if test "$cross_compiling" = yes; then |
| + case "$READELF" in |
| + readelf|:) |
| + AC_MSG_ERROR([readelf for the host is required for cross builds]) |
| + ;; |
| + esac |
| +fi |
| +AC_SUBST(READELF) |
| + |
| + |
| +case $MACHDEP in |
| +hp*|HP*) |
| + # install -d does not work on HP-UX |
| + if test -z "$INSTALL" |
| + then |
| + INSTALL="${srcdir}/install-sh -c" |
| + fi |
| +esac |
| +AC_PROG_INSTALL |
| +AC_PROG_MKDIR_P |
| + |
| +# Not every filesystem supports hard links |
| +AC_SUBST(LN) |
| +if test -z "$LN" ; then |
| + case $ac_sys_system in |
| + CYGWIN*) LN="ln -s";; |
| + *) LN=ln;; |
| + esac |
| +fi |
| + |
| +# For calculating the .so ABI tag. |
| +AC_SUBST(ABIFLAGS) |
| +ABIFLAGS="" |
| + |
| +# Check for --with-pydebug |
| +AC_MSG_CHECKING(for --with-pydebug) |
| +AC_ARG_WITH(pydebug, |
| + AS_HELP_STRING([--with-pydebug], [build with Py_DEBUG defined (default is no)]), |
| +[ |
| +if test "$withval" != no |
| +then |
| + AC_DEFINE(Py_DEBUG, 1, |
| + [Define if you want to build an interpreter with many run-time checks.]) |
| + AC_MSG_RESULT(yes); |
| + Py_DEBUG='true' |
| + ABIFLAGS="${ABIFLAGS}d" |
| +else AC_MSG_RESULT(no); Py_DEBUG='false' |
| +fi], |
| +[AC_MSG_RESULT(no)]) |
| + |
| +# Check for --with-trace-refs |
| +# --with-trace-refs |
| +AC_MSG_CHECKING(for --with-trace-refs) |
| +AC_ARG_WITH(trace-refs, |
| + AS_HELP_STRING( |
| + [--with-trace-refs], |
| + [enable tracing references for debugging purpose (default is no)]),, |
| + with_trace_refs=no) |
| +AC_MSG_RESULT($with_trace_refs) |
| + |
| +if test "$with_trace_refs" = "yes" |
| +then |
| + AC_DEFINE(Py_TRACE_REFS, 1, [Define if you want to enable tracing references for debugging purpose]) |
| +fi |
| + |
| +# Check for --with-assertions. |
| +# This allows enabling assertions without Py_DEBUG. |
| +assertions='false' |
| +AC_MSG_CHECKING(for --with-assertions) |
| +AC_ARG_WITH(assertions, |
| + AS_HELP_STRING([--with-assertions],[build with C assertions enabled (default is no)]), |
| +[ |
| +if test "$withval" != no |
| +then |
| + assertions='true' |
| +fi], |
| +[]) |
| +if test "$assertions" = 'true'; then |
| + AC_MSG_RESULT(yes) |
| +elif test "$Py_DEBUG" = 'true'; then |
| + assertions='true' |
| + AC_MSG_RESULT(implied by --with-pydebug) |
| +else |
| + AC_MSG_RESULT(no) |
| +fi |
| + |
| +# Enable optimization flags |
| +AC_SUBST(DEF_MAKE_ALL_RULE) |
| +AC_SUBST(DEF_MAKE_RULE) |
| +Py_OPT='false' |
| +AC_MSG_CHECKING(for --enable-optimizations) |
| +AC_ARG_ENABLE(optimizations, AS_HELP_STRING( |
| + [--enable-optimizations], |
| + [enable expensive, stable optimizations (PGO, etc.) (default is no)]), |
| +[ |
| +if test "$enableval" != no |
| +then |
| + Py_OPT='true' |
| + AC_MSG_RESULT(yes); |
| +else |
| + Py_OPT='false' |
| + AC_MSG_RESULT(no); |
| +fi], |
| +[AC_MSG_RESULT(no)]) |
| +if test "$Py_OPT" = 'true' ; then |
| + # Intentionally not forcing Py_LTO='true' here. Too many toolchains do not |
| + # compile working code using it and both test_distutils and test_gdb are |
| + # broken when you do manage to get a toolchain that works with it. People |
| + # who want LTO need to use --with-lto themselves. |
| + DEF_MAKE_ALL_RULE="profile-opt" |
| + REQUIRE_PGO="yes" |
| + DEF_MAKE_RULE="build_all" |
| + case $CC in |
| + *gcc*) |
| + AX_CHECK_COMPILE_FLAG([-fno-semantic-interposition],[ |
| + CFLAGS_NODIST="$CFLAGS_NODIST -fno-semantic-interposition" |
| + LDFLAGS_NODIST="$LDFLAGS_NODIST -fno-semantic-interposition" |
| + ]) |
| + ;; |
| + esac |
| + |
| + |
| +else |
| + DEF_MAKE_ALL_RULE="build_all" |
| + REQUIRE_PGO="no" |
| + DEF_MAKE_RULE="all" |
| +fi |
| + |
| +AC_ARG_VAR(PROFILE_TASK, Python args for PGO generation task) |
| +AC_MSG_CHECKING(PROFILE_TASK) |
| +if test -z "$PROFILE_TASK" |
| +then |
| + PROFILE_TASK='-m test --pgo --timeout=$(TESTTIMEOUT)' |
| +fi |
| +AC_MSG_RESULT($PROFILE_TASK) |
| + |
| +# Make llvm-relatec checks work on systems where llvm tools are not installed with their |
| +# normal names in the default $PATH (ie: Ubuntu). They exist under the |
| +# non-suffixed name in their versioned llvm directory. |
| + |
| +llvm_bin_dir='' |
| +llvm_path="${PATH}" |
| +if test "${CC}" = "clang" |
| +then |
| + clang_bin=`which clang` |
| + # Some systems install clang elsewhere as a symlink to the real path |
| + # which is where the related llvm tools are located. |
| + if test -L "${clang_bin}" |
| + then |
| + clang_dir=`dirname "${clang_bin}"` |
| + clang_bin=`readlink "${clang_bin}"` |
| + llvm_bin_dir="${clang_dir}/"`dirname "${clang_bin}"` |
| + llvm_path="${llvm_path}${PATH_SEPARATOR}${llvm_bin_dir}" |
| + fi |
| +fi |
| + |
| +# Enable LTO flags |
| +AC_MSG_CHECKING(for --with-lto) |
| +AC_ARG_WITH(lto, AS_HELP_STRING([--with-lto], [enable Link-Time-Optimization in any build (default is no)]), |
| +[ |
| +if test "$withval" != no |
| +then |
| + Py_LTO='true' |
| + AC_MSG_RESULT(yes); |
| +else |
| + Py_LTO='false' |
| + AC_MSG_RESULT(no); |
| +fi], |
| +[AC_MSG_RESULT(no)]) |
| +if test "$Py_LTO" = 'true' ; then |
| + case $CC in |
| + *clang*) |
| + AC_SUBST(LLVM_AR) |
| + AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path}) |
| + AC_SUBST(LLVM_AR_FOUND) |
| + if test -n "${LLVM_AR}" -a -x "${LLVM_AR}" |
| + then |
| + LLVM_AR_FOUND="found" |
| + else |
| + LLVM_AR_FOUND="not-found" |
| + fi |
| + if test "$ac_sys_system" = "Darwin" -a "${LLVM_AR_FOUND}" = "not-found" |
| + then |
| + # The Apple-supplied ar in Xcode or the Command Line Tools is apparently sufficient |
| + found_llvm_ar=`/usr/bin/xcrun -find ar 2>/dev/null` |
| + if test -n "${found_llvm_ar}" |
| + then |
| + LLVM_AR='/usr/bin/xcrun ar' |
| + LLVM_AR_FOUND=found |
| + AC_MSG_NOTICE([llvm-ar found via xcrun: ${LLVM_AR}]) |
| + fi |
| + fi |
| + if test $LLVM_AR_FOUND = not-found |
| + then |
| + LLVM_PROFR_ERR=yes |
| + AC_MSG_ERROR([llvm-ar is required for a --with-lto build with clang but could not be found.]) |
| + else |
| + LLVM_AR_ERR=no |
| + fi |
| + AR="${LLVM_AR}" |
| + case $ac_sys_system in |
| + Darwin*) |
| + # Any changes made here should be reflected in the GCC+Darwin case below |
| + LTOFLAGS="-flto -Wl,-export_dynamic" |
| + LTOCFLAGS="-flto" |
| + ;; |
| + *) |
| + LTOFLAGS="-flto" |
| + ;; |
| + esac |
| + ;; |
| + *gcc*) |
| + case $ac_sys_system in |
| + Darwin*) |
| + LTOFLAGS="-flto -Wl,-export_dynamic" |
| + LTOCFLAGS="-flto" |
| + ;; |
| + *) |
| + LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none" |
| + ;; |
| + esac |
| + ;; |
| + esac |
| + |
| + if test "$ac_cv_prog_cc_g" = "yes" |
| + then |
| + # bpo-30345: Add -g to LDFLAGS when compiling with LTO |
| + # to get debug symbols. |
| + LTOFLAGS="$LTOFLAGS -g" |
| + fi |
| + |
| + CFLAGS_NODIST="$CFLAGS_NODIST ${LTOCFLAGS-$LTOFLAGS}" |
| + LDFLAGS_NODIST="$LDFLAGS_NODIST $LTOFLAGS" |
| +fi |
| + |
| +# Enable PGO flags. |
| +AC_SUBST(PGO_PROF_GEN_FLAG) |
| +AC_SUBST(PGO_PROF_USE_FLAG) |
| +AC_SUBST(LLVM_PROF_MERGER) |
| +AC_SUBST(LLVM_PROF_FILE) |
| +AC_SUBST(LLVM_PROF_ERR) |
| +AC_SUBST(LLVM_PROFDATA) |
| +AC_PATH_TOOL(LLVM_PROFDATA, llvm-profdata, '', ${llvm_path}) |
| +AC_SUBST(LLVM_PROF_FOUND) |
| +if test -n "${LLVM_PROFDATA}" -a -x "${LLVM_PROFDATA}" |
| +then |
| + LLVM_PROF_FOUND="found" |
| +else |
| + LLVM_PROF_FOUND="not-found" |
| +fi |
| +if test "$ac_sys_system" = "Darwin" -a "${LLVM_PROF_FOUND}" = "not-found" |
| +then |
| + found_llvm_profdata=`/usr/bin/xcrun -find llvm-profdata 2>/dev/null` |
| + if test -n "${found_llvm_profdata}" |
| + then |
| + # llvm-profdata isn't directly in $PATH in some cases. |
| + # https://apple.stackexchange.com/questions/197053/ |
| + LLVM_PROFDATA='/usr/bin/xcrun llvm-profdata' |
| + LLVM_PROF_FOUND=found |
| + AC_MSG_NOTICE([llvm-profdata found via xcrun: ${LLVM_PROFDATA}]) |
| + fi |
| +fi |
| +LLVM_PROF_ERR=no |
| +case $CC in |
| + *clang*) |
| + # Any changes made here should be reflected in the GCC+Darwin case below |
| + PGO_PROF_GEN_FLAG="-fprofile-instr-generate" |
| + PGO_PROF_USE_FLAG="-fprofile-instr-use=code.profclangd" |
| + LLVM_PROF_MERGER="${LLVM_PROFDATA} merge -output=code.profclangd *.profclangr" |
| + LLVM_PROF_FILE="LLVM_PROFILE_FILE=\"code-%p.profclangr\"" |
| + if test $LLVM_PROF_FOUND = not-found |
| + then |
| + LLVM_PROF_ERR=yes |
| + if test "${REQUIRE_PGO}" = "yes" |
| + then |
| + AC_MSG_ERROR([llvm-profdata is required for a --enable-optimizations build but could not be found.]) |
| + fi |
| + fi |
| + ;; |
| + *gcc*) |
| + case $ac_sys_system in |
| + Darwin*) |
| + PGO_PROF_GEN_FLAG="-fprofile-instr-generate" |
| + PGO_PROF_USE_FLAG="-fprofile-instr-use=code.profclangd" |
| + LLVM_PROF_MERGER="${LLVM_PROFDATA} merge -output=code.profclangd *.profclangr" |
| + LLVM_PROF_FILE="LLVM_PROFILE_FILE=\"code-%p.profclangr\"" |
| + if test "${LLVM_PROF_FOUND}" = "not-found" |
| + then |
| + LLVM_PROF_ERR=yes |
| + if test "${REQUIRE_PGO}" = "yes" |
| + then |
| + AC_MSG_ERROR([llvm-profdata is required for a --enable-optimizations build but could not be found.]) |
| + fi |
| + fi |
| + ;; |
| + *) |
| + PGO_PROF_GEN_FLAG="-fprofile-generate" |
| + PGO_PROF_USE_FLAG="-fprofile-use -fprofile-correction" |
| + LLVM_PROF_MERGER="true" |
| + LLVM_PROF_FILE="" |
| + ;; |
| + esac |
| + ;; |
| + *icc*) |
| + PGO_PROF_GEN_FLAG="-prof-gen" |
| + PGO_PROF_USE_FLAG="-prof-use" |
| + LLVM_PROF_MERGER="true" |
| + LLVM_PROF_FILE="" |
| + ;; |
| +esac |
| + |
| +# XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be |
| +# merged with this chunk of code? |
| + |
| +# Optimizer/debugger flags |
| +# ------------------------ |
| +# (The following bit of code is complicated enough - please keep things |
| +# indented properly. Just pretend you're editing Python code. ;-) |
| + |
| +# There are two parallel sets of case statements below, one that checks to |
| +# see if OPT was set and one that does BASECFLAGS setting based upon |
| +# compiler and platform. BASECFLAGS tweaks need to be made even if the |
| +# user set OPT. |
| + |
| +case $CC in |
| + *clang*) |
| + cc_is_clang=1 |
| + ;; |
| + *) |
| + if $CC --version 2>&1 | grep -q clang |
| + then |
| + cc_is_clang=1 |
| + else |
| + cc_is_clang= |
| + fi |
| +esac |
| + |
| +# tweak OPT based on compiler and platform, only if the user didn't set |
| +# it on the command line |
| +AC_SUBST(OPT) |
| +AC_SUBST(CFLAGS_ALIASING) |
| +if test "${OPT-unset}" = "unset" |
| +then |
| + case $GCC in |
| + yes) |
| + # For gcc 4.x we need to use -fwrapv so lets check if its supported |
| + if "$CC" -v --help 2>/dev/null |grep -- -fwrapv > /dev/null; then |
| + WRAP="-fwrapv" |
| + fi |
| + |
| + if test -n "${cc_is_clang}" |
| + then |
| + # Clang also needs -fwrapv |
| + WRAP="-fwrapv" |
| + # bpo-30104: disable strict aliasing to compile correctly dtoa.c, |
| + # see Makefile.pre.in for more information |
| + CFLAGS_ALIASING="-fno-strict-aliasing" |
| + fi |
| + |
| + case $ac_cv_prog_cc_g in |
| + yes) |
| + if test "$Py_DEBUG" = 'true' ; then |
| + # Optimization messes up debuggers, so turn it off for |
| + # debug builds. |
| + if "$CC" -v --help 2>/dev/null |grep -- -Og > /dev/null; then |
| + OPT="-g -Og -Wall" |
| + else |
| + OPT="-g -O0 -Wall" |
| + fi |
| + else |
| + OPT="-g $WRAP -O3 -Wall" |
| + fi |
| + ;; |
| + *) |
| + OPT="-O3 -Wall" |
| + ;; |
| + esac |
| + |
| + case $ac_sys_system in |
| + SCO_SV*) OPT="$OPT -m486 -DSCO5" |
| + ;; |
| + esac |
| + ;; |
| + |
| + *) |
| + OPT="-O" |
| + ;; |
| + esac |
| +fi |
| + |
| +AC_SUBST(BASECFLAGS) |
| +AC_SUBST(CFLAGS_NODIST) |
| +AC_SUBST(LDFLAGS_NODIST) |
| + |
| +# The -arch flags for universal builds on macOS |
| +UNIVERSAL_ARCH_FLAGS= |
| +AC_SUBST(UNIVERSAL_ARCH_FLAGS) |
| + |
| +# tweak BASECFLAGS based on compiler and platform |
| +case $GCC in |
| +yes) |
| + CFLAGS_NODIST="$CFLAGS_NODIST -std=c99" |
| + |
| + AC_MSG_CHECKING(for -Wextra) |
| + ac_save_cc="$CC" |
| + CC="$CC -Wextra -Werror" |
| + AC_CACHE_VAL(ac_cv_extra_warnings, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_extra_warnings=yes |
| + ],[ |
| + ac_cv_extra_warnings=no |
| + ])) |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_extra_warnings) |
| + |
| + if test $ac_cv_extra_warnings = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wextra" |
| + fi |
| + |
| + # Python doesn't violate C99 aliasing rules, but older versions of |
| + # GCC produce warnings for legal Python code. Enable |
| + # -fno-strict-aliasing on versions of GCC that support but produce |
| + # warnings. See Issue3326 |
| + AC_MSG_CHECKING(whether $CC accepts and needs -fno-strict-aliasing) |
| + ac_save_cc="$CC" |
| + CC="$CC -fno-strict-aliasing" |
| + save_CFLAGS="$CFLAGS" |
| + AC_CACHE_VAL(ac_cv_no_strict_aliasing, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + CC="$ac_save_cc -fstrict-aliasing" |
| + CFLAGS="$CFLAGS -Werror -Wstrict-aliasing" |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[void f(int **x) {}]], |
| + [[double *x; f((int **) &x);]]) |
| + ],[ |
| + ac_cv_no_strict_aliasing=no |
| + ],[ |
| + ac_cv_no_strict_aliasing=yes |
| + ]) |
| + ],[ |
| + ac_cv_no_strict_aliasing=no |
| + ])) |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_no_strict_aliasing) |
| + if test $ac_cv_no_strict_aliasing = yes |
| + then |
| + BASECFLAGS="$BASECFLAGS -fno-strict-aliasing" |
| + fi |
| + |
| + # ICC doesn't recognize the option, but only emits a warning |
| + ## XXX does it emit an unused result warning and can it be disabled? |
| + case "$CC" in |
| + *icc*) |
| + ac_cv_disable_unused_result_warning=no |
| + ;; |
| + *) |
| + AC_MSG_CHECKING(if we can turn off $CC unused result warning) |
| + ac_save_cc="$CC" |
| + CC="$CC -Wunused-result -Werror" |
| + save_CFLAGS="$CFLAGS" |
| + AC_CACHE_VAL(ac_cv_disable_unused_result_warning, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_disable_unused_result_warning=yes |
| + ],[ |
| + ac_cv_disable_unused_result_warning=no |
| + ])) |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_disable_unused_result_warning) |
| + ;; |
| + esac |
| + |
| + if test $ac_cv_disable_unused_result_warning = yes |
| + then |
| + BASECFLAGS="$BASECFLAGS -Wno-unused-result" |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-unused-result" |
| + fi |
| + |
| + AC_MSG_CHECKING(if we can turn off $CC unused parameter warning) |
| + ac_save_cc="$CC" |
| + CC="$CC -Wunused-parameter -Werror" |
| + AC_CACHE_VAL(ac_cv_disable_unused_parameter_warning, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_disable_unused_parameter_warning=yes |
| + ],[ |
| + ac_cv_disable_unused_parameter_warning=no |
| + ])) |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_disable_unused_parameter_warning) |
| + |
| + if test $ac_cv_disable_unused_parameter_warning = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-unused-parameter" |
| + fi |
| + |
| + AC_MSG_CHECKING(if we can turn off $CC missing field initializers warning) |
| + ac_save_cc="$CC" |
| + CC="$CC -Wmissing-field-initializers -Werror" |
| + AC_CACHE_VAL(ac_cv_disable_missing_field_initializers, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_disable_missing_field_initializers=yes |
| + ],[ |
| + ac_cv_disable_missing_field_initializers=no |
| + ])) |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_disable_missing_field_initializers) |
| + |
| + if test $ac_cv_disable_missing_field_initializers = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-missing-field-initializers" |
| + fi |
| + |
| + AC_MSG_CHECKING(if we can turn on $CC mixed sign comparison warning) |
| + ac_save_cc="$CC" |
| + CC="$CC -Wsign-compare" |
| + save_CFLAGS="$CFLAGS" |
| + AC_CACHE_VAL(ac_cv_enable_sign_compare_warning, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_enable_sign_compare_warning=yes |
| + ],[ |
| + ac_cv_enable_sign_compare_warning=no |
| + ])) |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_enable_sign_compare_warning) |
| + |
| + if test $ac_cv_enable_sign_compare_warning = yes |
| + then |
| + BASECFLAGS="$BASECFLAGS -Wsign-compare" |
| + fi |
| + |
| + AC_MSG_CHECKING(if we can turn on $CC unreachable code warning) |
| + ac_save_cc="$CC" |
| + CC="$CC -Wunreachable-code" |
| + save_CFLAGS="$CFLAGS" |
| + AC_CACHE_VAL(ac_cv_enable_unreachable_code_warning, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_enable_unreachable_code_warning=yes |
| + ],[ |
| + ac_cv_enable_unreachable_code_warning=no |
| + ])) |
| + CFLAGS="$save_CFLAGS" |
| + CC="$ac_save_cc" |
| + |
| + # Don't enable unreachable code warning in debug mode, since it usually |
| + # results in non-standard code paths. |
| + # Issue #24324: Unfortunately, the unreachable code warning does not work |
| + # correctly on gcc and has been silently removed from the compiler. |
| + # It is supported on clang but on OS X systems gcc may be an alias |
| + # for clang. Try to determine if the compiler is not really gcc and, |
| + # if so, only then enable the warning. |
| + if test $ac_cv_enable_unreachable_code_warning = yes && \ |
| + test "$Py_DEBUG" != "true" && \ |
| + test -z "`$CC --version 2>/dev/null | grep 'Free Software Foundation'`" |
| + then |
| + BASECFLAGS="$BASECFLAGS -Wunreachable-code" |
| + else |
| + ac_cv_enable_unreachable_code_warning=no |
| + fi |
| + AC_MSG_RESULT($ac_cv_enable_unreachable_code_warning) |
| + |
| + AC_MSG_CHECKING(if we can turn on $CC strict-prototypes warning) |
| + ac_save_cc="$CC" |
| + CC="$CC -Werror -Wstrict-prototypes" |
| + AC_CACHE_VAL(ac_cv_enable_enable_strict_prototypes_warning, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_enable_strict_prototypes_warning=yes |
| + ],[ |
| + ac_cv_enable_strict_prototypes_warning=no |
| + ])) |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_enable_strict_prototypes_warning) |
| + |
| + if test $ac_cv_enable_strict_prototypes_warning = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Wstrict-prototypes" |
| + fi |
| + |
| + AC_MSG_CHECKING(if we can make implicit function declaration an error in $CC) |
| + ac_save_cc="$CC" |
| + CC="$CC -Werror=implicit-function-declaration" |
| + AC_CACHE_VAL(ac_cv_enable_implicit_function_declaration_error, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_enable_implicit_function_declaration_error=yes |
| + ],[ |
| + ac_cv_enable_implicit_function_declaration_error=no |
| + ])) |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_enable_implicit_function_declaration_error) |
| + |
| + if test $ac_cv_enable_implicit_function_declaration_error = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -Werror=implicit-function-declaration" |
| + fi |
| + |
| + AC_MSG_CHECKING(if we can use visibility in $CC) |
| + ac_save_cc="$CC" |
| + CC="$CC -fvisibility=hidden" |
| + AC_CACHE_VAL(ac_cv_enable_visibility, |
| + AC_COMPILE_IFELSE( |
| + [ |
| + AC_LANG_PROGRAM([[]], [[]]) |
| + ],[ |
| + ac_cv_enable_visibility=yes |
| + ],[ |
| + ac_cv_enable_visibility=no |
| + ])) |
| + CC="$ac_save_cc" |
| + AC_MSG_RESULT($ac_cv_enable_visibility) |
| + |
| + if test $ac_cv_enable_visibility = yes |
| + then |
| + CFLAGS_NODIST="$CFLAGS_NODIST -fvisibility=hidden" |
| + fi |
| + |
| + # if using gcc on alpha, use -mieee to get (near) full IEEE 754 |
| + # support. Without this, treatment of subnormals doesn't follow |
| + # the standard. |
| + case $host in |
| + alpha*) |
| + BASECFLAGS="$BASECFLAGS -mieee" |
| + ;; |
| + esac |
| + |
| + case $ac_sys_system in |
| + SCO_SV*) |
| + BASECFLAGS="$BASECFLAGS -m486 -DSCO5" |
| + ;; |
| + |
| + Darwin*) |
| + # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd |
| + # used to be here, but non-Apple gcc doesn't accept them. |
| + if test "${CC}" = gcc |
| + then |
| + AC_MSG_CHECKING(which compiler should be used) |
| + case "${UNIVERSALSDK}" in |
| + */MacOSX10.4u.sdk) |
| + # Build using 10.4 SDK, force usage of gcc when the |
| + # compiler is gcc, otherwise the user will get very |
| + # confusing error messages when building on OSX 10.6 |
| + CC=gcc-4.0 |
| + CPP=cpp-4.0 |
| + ;; |
| + esac |
| + AC_MSG_RESULT($CC) |
| + fi |
| + |
| + LIPO_INTEL64_FLAGS="" |
| + if test "${enable_universalsdk}" |
| + then |
| + case "$UNIVERSAL_ARCHS" in |
| + 32-bit) |
| + UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="" |
| + ;; |
| + 64-bit) |
| + UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="true" |
| + ;; |
| + all) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" |
| + LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" |
| + ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" |
| + ;; |
| + universal2) |
| + UNIVERSAL_ARCH_FLAGS="-arch arm64 -arch x86_64" |
| + LIPO_32BIT_FLAGS="" |
| + LIPO_INTEL64_FLAGS="-extract x86_64" |
| + ARCH_RUN_32BIT="true" |
| + ;; |
| + intel) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" |
| + LIPO_32BIT_FLAGS="-extract i386" |
| + ARCH_RUN_32BIT="/usr/bin/arch -i386" |
| + ;; |
| + intel-32) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="" |
| + ;; |
| + intel-64) |
| + UNIVERSAL_ARCH_FLAGS="-arch x86_64" |
| + LIPO_32BIT_FLAGS="" |
| + ARCH_RUN_32BIT="true" |
| + ;; |
| + 3-way) |
| + UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" |
| + LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" |
| + ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" |
| + ;; |
| + *) |
| + AC_MSG_ERROR([proper usage is --with-universal-arch=universal2|32-bit|64-bit|all|intel|3-way]) |
| + ;; |
| + esac |
| + |
| + if test "${UNIVERSALSDK}" != "/" |
| + then |
| + CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" |
| + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}" |
| + CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" |
| + else |
| + CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}" |
| + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} ${LDFLAGS}" |
| + fi |
| + fi |
| + |
| + # Calculate an appropriate deployment target for this build: |
| + # The deployment target value is used explicitly to enable certain |
| + # features are enabled (such as builtin libedit support for readline) |
| + # through the use of Apple's Availability Macros and is used as a |
| + # component of the string returned by distutils.get_platform(). |
| + # |
| + # Use the value from: |
| + # 1. the MACOSX_DEPLOYMENT_TARGET environment variable if specified |
| + # 2. the operating system version of the build machine if >= 10.6 |
| + # 3. If running on OS X 10.3 through 10.5, use the legacy tests |
| + # below to pick either 10.3, 10.4, or 10.5 as the target. |
| + # 4. If we are running on OS X 10.2 or earlier, good luck! |
| + |
| + AC_MSG_CHECKING(which MACOSX_DEPLOYMENT_TARGET to use) |
| + cur_target_major=`sw_vers -productVersion | \ |
| + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` |
| + cur_target_minor=`sw_vers -productVersion | \ |
| + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` |
| + cur_target="${cur_target_major}.${cur_target_minor}" |
| + if test ${cur_target_major} -eq 10 && \ |
| + test ${cur_target_minor} -ge 3 && \ |
| + test ${cur_target_minor} -le 5 |
| + then |
| + # OS X 10.3 through 10.5 |
| + cur_target=10.3 |
| + if test ${enable_universalsdk} |
| + then |
| + case "$UNIVERSAL_ARCHS" in |
| + all|3-way|intel|64-bit) |
| + # These configurations were first supported in 10.5 |
| + cur_target='10.5' |
| + ;; |
| + esac |
| + else |
| + if test `/usr/bin/arch` = "i386" |
| + then |
| + # 10.4 was the first release to support Intel archs |
| + cur_target="10.4" |
| + fi |
| + fi |
| + fi |
| + CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}} |
| + |
| + # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the |
| + # environment with a value that is the same as what we'll use |
| + # in the Makefile to ensure that we'll get the same compiler |
| + # environment during configure and build time. |
| + MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" |
| + export MACOSX_DEPLOYMENT_TARGET |
| + EXPORT_MACOSX_DEPLOYMENT_TARGET='' |
| + AC_MSG_RESULT($MACOSX_DEPLOYMENT_TARGET) |
| + |
| + AC_MSG_CHECKING(if specified universal architectures work) |
| + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[printf("%d", 42);]])], |
| + [AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| + AC_MSG_ERROR(check config.log and use the '--with-universal-archs' option) |
| + ]) |
| + |
| + # end of Darwin* tests |
| + ;; |
| + esac |
| + ;; |
| + |
| +*) |
| + case $ac_sys_system in |
| + OpenUNIX*|UnixWare*) |
| + BASECFLAGS="$BASECFLAGS -K pentium,host,inline,loop_unroll,alloca " |
| + ;; |
| + SCO_SV*) |
| + BASECFLAGS="$BASECFLAGS -belf -Ki486 -DSCO5" |
| + ;; |
| + esac |
| + ;; |
| +esac |
| + |
| +case "$CC" in |
| +*icc*) |
| + # ICC needs -fp-model strict or floats behave badly |
| + CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict" |
| + ;; |
| +*xlc*) |
| + CFLAGS_NODIST="$CFLAGS_NODIST -qalias=noansi -qmaxmem=-1" |
| + ;; |
| +esac |
| + |
| +if test "$assertions" = 'true'; then |
| + : |
| +else |
| + OPT="-DNDEBUG $OPT" |
| +fi |
| + |
| +if test "$ac_arch_flags" |
| +then |
| + BASECFLAGS="$BASECFLAGS $ac_arch_flags" |
| +fi |
| + |
| +# On some compilers, pthreads are available without further options |
| +# (e.g. MacOS X). On some of these systems, the compiler will not |
| +# complain if unaccepted options are passed (e.g. gcc on Mac OS X). |
| +# So we have to see first whether pthreads are available without |
| +# options before we can check whether -Kpthread improves anything. |
| +AC_MSG_CHECKING(whether pthreads are available without options) |
| +AC_CACHE_VAL(ac_cv_pthread_is_default, |
| +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| +]])],[ |
| + ac_cv_pthread_is_default=yes |
| + ac_cv_kthread=no |
| + ac_cv_pthread=no |
| +],[ac_cv_pthread_is_default=no],[ac_cv_pthread_is_default=no]) |
| +]) |
| +AC_MSG_RESULT($ac_cv_pthread_is_default) |
| + |
| + |
| +if test $ac_cv_pthread_is_default = yes |
| +then |
| + ac_cv_kpthread=no |
| +else |
| +# -Kpthread, if available, provides the right #defines |
| +# and linker options to make pthread_create available |
| +# Some compilers won't report that they do not support -Kpthread, |
| +# so we need to run a program to see whether it really made the |
| +# function available. |
| +AC_MSG_CHECKING(whether $CC accepts -Kpthread) |
| +AC_CACHE_VAL(ac_cv_kpthread, |
| +[ac_save_cc="$CC" |
| +CC="$CC -Kpthread" |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| +]])],[ac_cv_kpthread=yes],[ac_cv_kpthread=no],[ac_cv_kpthread=no]) |
| +CC="$ac_save_cc"]) |
| +AC_MSG_RESULT($ac_cv_kpthread) |
| +fi |
| + |
| +if test $ac_cv_kpthread = no -a $ac_cv_pthread_is_default = no |
| +then |
| +# -Kthread, if available, provides the right #defines |
| +# and linker options to make pthread_create available |
| +# Some compilers won't report that they do not support -Kthread, |
| +# so we need to run a program to see whether it really made the |
| +# function available. |
| +AC_MSG_CHECKING(whether $CC accepts -Kthread) |
| +AC_CACHE_VAL(ac_cv_kthread, |
| +[ac_save_cc="$CC" |
| +CC="$CC -Kthread" |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| +]])],[ac_cv_kthread=yes],[ac_cv_kthread=no],[ac_cv_kthread=no]) |
| +CC="$ac_save_cc"]) |
| +AC_MSG_RESULT($ac_cv_kthread) |
| +fi |
| + |
| +if test $ac_cv_kthread = no -a $ac_cv_pthread_is_default = no |
| +then |
| +# -pthread, if available, provides the right #defines |
| +# and linker options to make pthread_create available |
| +# Some compilers won't report that they do not support -pthread, |
| +# so we need to run a program to see whether it really made the |
| +# function available. |
| +AC_MSG_CHECKING(whether $CC accepts -pthread) |
| +AC_CACHE_VAL(ac_cv_pthread, |
| +[ac_save_cc="$CC" |
| +CC="$CC -pthread" |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void* routine(void* p){return NULL;} |
| + |
| +int main(){ |
| + pthread_t p; |
| + if(pthread_create(&p,NULL,routine,NULL)!=0) |
| + return 1; |
| + (void)pthread_detach(p); |
| + return 0; |
| +} |
| +]])],[ac_cv_pthread=yes],[ac_cv_pthread=no],[ac_cv_pthread=no]) |
| +CC="$ac_save_cc"]) |
| +AC_MSG_RESULT($ac_cv_pthread) |
| +fi |
| + |
| +# If we have set a CC compiler flag for thread support then |
| +# check if it works for CXX, too. |
| +ac_cv_cxx_thread=no |
| +if test ! -z "$CXX" |
| +then |
| +AC_MSG_CHECKING(whether $CXX also accepts flags for thread support) |
| +ac_save_cxx="$CXX" |
| + |
| +if test "$ac_cv_kpthread" = "yes" |
| +then |
| + CXX="$CXX -Kpthread" |
| + ac_cv_cxx_thread=yes |
| +elif test "$ac_cv_kthread" = "yes" |
| +then |
| + CXX="$CXX -Kthread" |
| + ac_cv_cxx_thread=yes |
| +elif test "$ac_cv_pthread" = "yes" |
| +then |
| + CXX="$CXX -pthread" |
| + ac_cv_cxx_thread=yes |
| +fi |
| + |
| +if test $ac_cv_cxx_thread = yes |
| +then |
| + echo 'void foo();int main(){foo();}void foo(){}' > conftest.$ac_ext |
| + $CXX -c conftest.$ac_ext 2>&5 |
| + if $CXX -o conftest$ac_exeext conftest.$ac_objext 2>&5 \ |
| + && test -s conftest$ac_exeext && ./conftest$ac_exeext |
| + then |
| + ac_cv_cxx_thread=yes |
| + else |
| + ac_cv_cxx_thread=no |
| + fi |
| + rm -fr conftest* |
| +fi |
| +AC_MSG_RESULT($ac_cv_cxx_thread) |
| +fi |
| +CXX="$ac_save_cxx" |
| + |
| +dnl # check for ANSI or K&R ("traditional") preprocessor |
| +dnl AC_MSG_CHECKING(for C preprocessor type) |
| +dnl AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +dnl #define spam(name, doc) {#name, &name, #name "() -- " doc} |
| +dnl int foo; |
| +dnl struct {char *name; int *addr; char *doc;} desc = spam(foo, "something"); |
| +dnl ]], [[;]])],[cpp_type=ansi],[AC_DEFINE(HAVE_OLD_CPP) cpp_type=traditional]) |
| +dnl AC_MSG_RESULT($cpp_type) |
| + |
| +# checks for header files |
| +AC_HEADER_STDC |
| +AC_CHECK_HEADERS(asm/types.h crypt.h conio.h direct.h dlfcn.h errno.h \ |
| +fcntl.h grp.h \ |
| +ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ |
| +sched.h shadow.h signal.h stropts.h termios.h \ |
| +utime.h \ |
| +poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ |
| +sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ |
| +sys/kern_control.h sys/loadavg.h sys/lock.h sys/mkdev.h sys/modem.h \ |
| +sys/param.h sys/random.h sys/select.h sys/sendfile.h sys/socket.h sys/statvfs.h \ |
| +sys/stat.h sys/syscall.h sys/sys_domain.h sys/termio.h sys/time.h \ |
| +sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \ |
| +libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ |
| +linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \ |
| +sys/endian.h sys/sysmacros.h linux/auxvec.h sys/auxv.h linux/memfd.h linux/wait.h sys/memfd.h \ |
| +sys/mman.h sys/eventfd.h) |
| +AC_HEADER_DIRENT |
| +AC_HEADER_MAJOR |
| + |
| +# bluetooth/bluetooth.h has been known to not compile with -std=c99. |
| +# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294 |
| +SAVE_CFLAGS=$CFLAGS |
| +CFLAGS="-std=c99 $CFLAGS" |
| +AC_CHECK_HEADERS(bluetooth/bluetooth.h) |
| +CFLAGS=$SAVE_CFLAGS |
| + |
| +# On Darwin (OS X) net/if.h requires sys/socket.h to be imported first. |
| +AC_CHECK_HEADERS([net/if.h], [], [], |
| +[#include <stdio.h> |
| +#ifdef STDC_HEADERS |
| +# include <stdlib.h> |
| +# include <stddef.h> |
| +#else |
| +# ifdef HAVE_STDLIB_H |
| +# include <stdlib.h> |
| +# endif |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +# include <sys/socket.h> |
| +#endif |
| +]) |
| + |
| +# On Linux, netlink.h requires asm/types.h |
| +AC_CHECK_HEADERS(linux/netlink.h,,,[ |
| +#ifdef HAVE_ASM_TYPES_H |
| +#include <asm/types.h> |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| +]) |
| + |
| +# On Linux, qrtr.h requires asm/types.h |
| +AC_CHECK_HEADERS(linux/qrtr.h,,,[ |
| +#ifdef HAVE_ASM_TYPES_H |
| +#include <asm/types.h> |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| +]) |
| + |
| +AC_CHECK_HEADERS(linux/vm_sockets.h,,,[ |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| +]) |
| + |
| +# On Linux, can.h, can/bcm.h, can/j1939.h, can/raw.h require sys/socket.h |
| +AC_CHECK_HEADERS(linux/can.h linux/can/bcm.h linux/can/j1939.h linux/can/raw.h,,,[ |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| +]) |
| + |
| +# checks for typedefs |
| +was_it_defined=no |
| +AC_MSG_CHECKING(for clock_t in time.h) |
| +AC_EGREP_HEADER(clock_t, time.h, was_it_defined=yes, [ |
| + AC_DEFINE(clock_t, long, [Define to 'long' if <time.h> doesn't define.]) |
| +]) |
| +AC_MSG_RESULT($was_it_defined) |
| + |
| +AC_MSG_CHECKING(for makedev) |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#if defined(MAJOR_IN_MKDEV) |
| +#include <sys/mkdev.h> |
| +#elif defined(MAJOR_IN_SYSMACROS) |
| +#include <sys/sysmacros.h> |
| +#else |
| +#include <sys/types.h> |
| +#endif |
| +]], [[ |
| + makedev(0, 0) ]]) |
| +],[ac_cv_has_makedev=yes],[ac_cv_has_makedev=no]) |
| +AC_MSG_RESULT($ac_cv_has_makedev) |
| +if test "$ac_cv_has_makedev" = "yes"; then |
| + AC_DEFINE(HAVE_MAKEDEV, 1, [Define this if you have the makedev macro.]) |
| +fi |
| + |
| +# byte swapping |
| +AC_MSG_CHECKING(for le64toh) |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#ifdef HAVE_ENDIAN_H |
| +#include <endian.h> |
| +#elif defined(HAVE_SYS_ENDIAN_H) |
| +#include <sys/endian.h> |
| +#endif |
| +]], [[ |
| + le64toh(1) ]]) |
| +],[ac_cv_has_le64toh=yes],[ac_cv_has_le64toh=no]) |
| +AC_MSG_RESULT($ac_cv_has_le64toh) |
| +if test "$ac_cv_has_le64toh" = "yes"; then |
| + AC_DEFINE(HAVE_HTOLE64, 1, [Define this if you have le64toh()]) |
| +fi |
| + |
| +use_lfs=yes |
| +# Don't use largefile support for GNU/Hurd |
| +case $ac_sys_system in GNU*) |
| + use_lfs=no |
| +esac |
| + |
| +if test "$use_lfs" = "yes"; then |
| +# Two defines needed to enable largefile support on various platforms |
| +# These may affect some typedefs |
| +case $ac_sys_system/$ac_sys_release in |
| +AIX*) |
| + AC_DEFINE(_LARGE_FILES, 1, |
| + [This must be defined on AIX systems to enable large file support.]) |
| + ;; |
| +esac |
| +AC_DEFINE(_LARGEFILE_SOURCE, 1, |
| +[This must be defined on some systems to enable large file support.]) |
| +AC_DEFINE(_FILE_OFFSET_BITS, 64, |
| +[This must be set to 64 on some systems to enable large file support.]) |
| +fi |
| + |
| +# Add some code to confdefs.h so that the test for off_t works on SCO |
| +cat >> confdefs.h <<\EOF |
| +#if defined(SCO_DS) |
| +#undef _OFF_T |
| +#endif |
| +EOF |
| + |
| +# Type availability checks |
| +AC_TYPE_MODE_T |
| +AC_TYPE_OFF_T |
| +AC_TYPE_PID_T |
| +AC_DEFINE_UNQUOTED([RETSIGTYPE],[void],[assume C89 semantics that RETSIGTYPE is always void]) |
| +AC_TYPE_SIZE_T |
| +AC_TYPE_UID_T |
| + |
| +AC_CHECK_TYPE(ssize_t, |
| + AC_DEFINE(HAVE_SSIZE_T, 1, [Define if your compiler provides ssize_t]),,) |
| +AC_CHECK_TYPE(__uint128_t, |
| + AC_DEFINE(HAVE_GCC_UINT128_T, 1, [Define if your compiler provides __uint128_t]),,) |
| + |
| +# Sizes and alignments of various common basic types |
| +# ANSI C requires sizeof(char) == 1, so no need to check it |
| +AC_CHECK_SIZEOF(int, 4) |
| +AC_CHECK_SIZEOF(long, 4) |
| +AC_CHECK_ALIGNOF(long) |
| +AC_CHECK_SIZEOF(long long, 8) |
| +AC_CHECK_SIZEOF(void *, 4) |
| +AC_CHECK_SIZEOF(short, 2) |
| +AC_CHECK_SIZEOF(float, 4) |
| +AC_CHECK_SIZEOF(double, 8) |
| +AC_CHECK_SIZEOF(fpos_t, 4) |
| +AC_CHECK_SIZEOF(size_t, 4) |
| +AC_CHECK_ALIGNOF(size_t) |
| +AC_CHECK_SIZEOF(pid_t, 4) |
| +AC_CHECK_SIZEOF(uintptr_t) |
| + |
| +AC_TYPE_LONG_DOUBLE |
| +AC_CHECK_SIZEOF(long double, 16) |
| + |
| +AC_CHECK_SIZEOF(_Bool, 1) |
| + |
| +AC_CHECK_SIZEOF(off_t, [], [ |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| +]) |
| + |
| +AC_MSG_CHECKING(whether to enable large file support) |
| +if test "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \ |
| + "$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then |
| + AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1, |
| + [Defined to enable large file support when an off_t is bigger than a long |
| + and long long is at least as big as an off_t. You may need |
| + to add some flags for configuration and compilation to enable this mode. |
| + (For Solaris and Linux, the necessary defines are already defined.)]) |
| + AC_MSG_RESULT(yes) |
| +else |
| + AC_MSG_RESULT(no) |
| +fi |
| + |
| +AC_CHECK_SIZEOF(time_t, [], [ |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| +#ifdef HAVE_TIME_H |
| +#include <time.h> |
| +#endif |
| +]) |
| + |
| +# if have pthread_t then define SIZEOF_PTHREAD_T |
| +ac_save_cc="$CC" |
| +if test "$ac_cv_kpthread" = "yes" |
| +then CC="$CC -Kpthread" |
| +elif test "$ac_cv_kthread" = "yes" |
| +then CC="$CC -Kthread" |
| +elif test "$ac_cv_pthread" = "yes" |
| +then CC="$CC -pthread" |
| +fi |
| + |
| +AC_MSG_CHECKING(for pthread_t) |
| +have_pthread_t=no |
| +AC_COMPILE_IFELSE([ |
| + AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_t x; x = *(pthread_t*)0;]]) |
| +],[have_pthread_t=yes],[]) |
| +AC_MSG_RESULT($have_pthread_t) |
| +if test "$have_pthread_t" = yes ; then |
| + AC_CHECK_SIZEOF(pthread_t, [], [ |
| +#ifdef HAVE_PTHREAD_H |
| +#include <pthread.h> |
| +#endif |
| + ]) |
| +fi |
| + |
| +# Issue #25658: POSIX hasn't defined that pthread_key_t is compatible with int. |
| +# This checking will be unnecessary after removing deprecated TLS API. |
| +AC_CHECK_SIZEOF(pthread_key_t, [], [[#include <pthread.h>]]) |
| +AC_MSG_CHECKING(whether pthread_key_t is compatible with int) |
| +if test "$ac_cv_sizeof_pthread_key_t" -eq "$ac_cv_sizeof_int" ; then |
| + AC_COMPILE_IFELSE( |
| + [AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_key_t k; k * 1;]])], |
| + [ac_pthread_key_t_is_arithmetic_type=yes], |
| + [ac_pthread_key_t_is_arithmetic_type=no] |
| + ) |
| + AC_MSG_RESULT($ac_pthread_key_t_is_arithmetic_type) |
| + if test "$ac_pthread_key_t_is_arithmetic_type" = yes ; then |
| + AC_DEFINE(PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT, 1, |
| + [Define if pthread_key_t is compatible with int.]) |
| + fi |
| +else |
| + AC_MSG_RESULT(no) |
| +fi |
| +CC="$ac_save_cc" |
| + |
| +AC_SUBST(OTHER_LIBTOOL_OPT) |
| +case $ac_sys_system/$ac_sys_release in |
| + Darwin/@<:@01567@:>@\..*) |
| + OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000" |
| + ;; |
| + Darwin/*) |
| + OTHER_LIBTOOL_OPT="" |
| + ;; |
| +esac |
| + |
| + |
| +AC_SUBST(LIBTOOL_CRUFT) |
| +case $ac_sys_system/$ac_sys_release in |
| + Darwin/@<:@01567@:>@\..*) |
| + LIBTOOL_CRUFT="-framework System -lcc_dynamic" |
| + if test "${enable_universalsdk}"; then |
| + : |
| + else |
| + LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `/usr/bin/arch`" |
| + fi |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; |
| + Darwin/*) |
| + gcc_version=`gcc -dumpversion` |
| + if test ${gcc_version} '<' 4.0 |
| + then |
| + LIBTOOL_CRUFT="-lcc_dynamic" |
| + else |
| + LIBTOOL_CRUFT="" |
| + fi |
| + AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| + #include <unistd.h> |
| + int main(int argc, char*argv[]) |
| + { |
| + if (sizeof(long) == 4) { |
| + return 0; |
| + } else { |
| + return 1; |
| + } |
| + } |
| + ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes]) |
| + |
| + if test "${ac_osx_32bit}" = "yes"; then |
| + case `/usr/bin/arch` in |
| + i386) |
| + MACOSX_DEFAULT_ARCH="i386" |
| + ;; |
| + ppc) |
| + MACOSX_DEFAULT_ARCH="ppc" |
| + ;; |
| + *) |
| + AC_MSG_ERROR([Unexpected output of 'arch' on macOS]) |
| + ;; |
| + esac |
| + else |
| + case `/usr/bin/arch` in |
| + i386) |
| + MACOSX_DEFAULT_ARCH="x86_64" |
| + ;; |
| + ppc) |
| + MACOSX_DEFAULT_ARCH="ppc64" |
| + ;; |
| + arm64) |
| + MACOSX_DEFAULT_ARCH="arm64" |
| + ;; |
| + *) |
| + AC_MSG_ERROR([Unexpected output of 'arch' on macOS]) |
| + ;; |
| + esac |
| + |
| + fi |
| + |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs -arch_only ${MACOSX_DEFAULT_ARCH}" |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; |
| +esac |
| +AC_MSG_CHECKING(for --enable-framework) |
| +if test "$enable_framework" |
| +then |
| + BASECFLAGS="$BASECFLAGS -fno-common -dynamic" |
| + # -F. is needed to allow linking to the framework while |
| + # in the build location. |
| + AC_DEFINE(WITH_NEXT_FRAMEWORK, 1, |
| + [Define if you want to produce an OpenStep/Rhapsody framework |
| + (shared library plus accessory files).]) |
| + AC_MSG_RESULT(yes) |
| + if test $enable_shared = "yes" |
| + then |
| + AC_MSG_ERROR([Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead]) |
| + fi |
| +else |
| + AC_MSG_RESULT(no) |
| +fi |
| + |
| +AC_MSG_CHECKING(for dyld) |
| +case $ac_sys_system/$ac_sys_release in |
| + Darwin/*) |
| + AC_DEFINE(WITH_DYLD, 1, |
| + [Define if you want to use the new-style (Openstep, Rhapsody, MacOS) |
| + dynamic linker (dyld) instead of the old-style (NextStep) dynamic |
| + linker (rld). Dyld is necessary to support frameworks.]) |
| + AC_MSG_RESULT(always on for Darwin) |
| + ;; |
| + *) |
| + AC_MSG_RESULT(no) |
| + ;; |
| +esac |
| + |
| +AC_MSG_CHECKING(for --with-address-sanitizer) |
| +AC_ARG_WITH(address_sanitizer, |
| + AS_HELP_STRING([--with-address-sanitizer], |
| + [enable AddressSanitizer memory error detector, 'asan' (default is no)]), |
| +[ |
| +AC_MSG_RESULT($withval) |
| +BASECFLAGS="-fsanitize=address -fno-omit-frame-pointer $BASECFLAGS" |
| +LDFLAGS="-fsanitize=address $LDFLAGS" |
| +# ASan works by controlling memory allocation, our own malloc interferes. |
| +with_pymalloc="no" |
| +], |
| +[AC_MSG_RESULT(no)]) |
| + |
| +AC_MSG_CHECKING(for --with-memory-sanitizer) |
| +AC_ARG_WITH(memory_sanitizer, |
| + AS_HELP_STRING([--with-memory-sanitizer], |
| + [enable MemorySanitizer allocation error detector, 'msan' (default is no)]), |
| +[ |
| +AC_MSG_RESULT($withval) |
| +AX_CHECK_COMPILE_FLAG([-fsanitize=memory],[ |
| +BASECFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer $BASECFLAGS" |
| +LDFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 $LDFLAGS" |
| +],[AC_MSG_ERROR([The selected compiler doesn't support memory sanitizer])]) |
| +# MSan works by controlling memory allocation, our own malloc interferes. |
| +with_pymalloc="no" |
| +], |
| +[AC_MSG_RESULT(no)]) |
| + |
| +AC_MSG_CHECKING(for --with-undefined-behavior-sanitizer) |
| +AC_ARG_WITH(undefined_behavior_sanitizer, |
| + AS_HELP_STRING([--with-undefined-behavior-sanitizer], |
| + [enable UndefinedBehaviorSanitizer undefined behaviour detector, 'ubsan' (default is no)]), |
| +[ |
| +AC_MSG_RESULT($withval) |
| +BASECFLAGS="-fsanitize=undefined $BASECFLAGS" |
| +LDFLAGS="-fsanitize=undefined $LDFLAGS" |
| +with_ubsan="yes" |
| +], |
| +[ |
| +AC_MSG_RESULT(no) |
| +with_ubsan="no" |
| +]) |
| + |
| +# Set info about shared libraries. |
| +AC_SUBST(SHLIB_SUFFIX) |
| +AC_SUBST(LDSHARED) |
| +AC_SUBST(LDCXXSHARED) |
| +AC_SUBST(BLDSHARED) |
| +AC_SUBST(CCSHARED) |
| +AC_SUBST(LINKFORSHARED) |
| + |
| +# SHLIB_SUFFIX is the extension of shared libraries `(including the dot!) |
| +# -- usually .so, .sl on HP-UX, .dll on Cygwin |
| +AC_MSG_CHECKING(the extension of shared libraries) |
| +if test -z "$SHLIB_SUFFIX"; then |
| + case $ac_sys_system in |
| + hp*|HP*) |
| + case `uname -m` in |
| + ia64) SHLIB_SUFFIX=.so;; |
| + *) SHLIB_SUFFIX=.sl;; |
| + esac |
| + ;; |
| + CYGWIN*) SHLIB_SUFFIX=.dll;; |
| + *) SHLIB_SUFFIX=.so;; |
| + esac |
| +fi |
| +AC_MSG_RESULT($SHLIB_SUFFIX) |
| + |
| +# LDSHARED is the ld *command* used to create shared library |
| +# -- "cc -G" on SunOS 5.x. |
| +# (Shared libraries in this instance are shared modules to be loaded into |
| +# Python, as opposed to building Python itself as a shared library.) |
| +AC_MSG_CHECKING(LDSHARED) |
| +if test -z "$LDSHARED" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + AIX*) |
| + BLDSHARED="Modules/ld_so_aix \$(CC) -bI:Modules/python.exp" |
| + LDSHARED="\$(LIBPL)/ld_so_aix \$(CC) -bI:\$(LIBPL)/python.exp" |
| + ;; |
| + SunOS/5*) |
| + if test "$GCC" = "yes" ; then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED='$(CC) -G' |
| + LDCXXSHARED='$(CXX) -G' |
| + fi ;; |
| + hp*|HP*) |
| + if test "$GCC" = "yes" ; then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED='$(CC) -b' |
| + LDCXXSHARED='$(CXX) -b' |
| + fi ;; |
| + Darwin/1.3*) |
| + LDSHARED='$(CC) -bundle' |
| + LDCXXSHARED='$(CXX) -bundle' |
| + if test "$enable_framework" ; then |
| + # Link against the framework. All externals should be defined. |
| + BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + else |
| + # No framework. Ignore undefined symbols, assuming they come from Python |
| + LDSHARED="$LDSHARED -undefined suppress" |
| + LDCXXSHARED="$LDCXXSHARED -undefined suppress" |
| + fi ;; |
| + Darwin/1.4*|Darwin/5.*|Darwin/6.*) |
| + LDSHARED='$(CC) -bundle' |
| + LDCXXSHARED='$(CXX) -bundle' |
| + if test "$enable_framework" ; then |
| + # Link against the framework. All externals should be defined. |
| + BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + else |
| + # No framework, use the Python app as bundle-loader |
| + BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)' |
| + LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)' |
| + LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)' |
| + fi ;; |
| + Darwin/*) |
| + # Use -undefined dynamic_lookup whenever possible (10.3 and later). |
| + # This allows an extension to be used in any Python |
| + |
| + dep_target_major=`echo ${MACOSX_DEPLOYMENT_TARGET} | \ |
| + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` |
| + dep_target_minor=`echo ${MACOSX_DEPLOYMENT_TARGET} | \ |
| + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` |
| + if test ${dep_target_major} -eq 10 && \ |
| + test ${dep_target_minor} -le 2 |
| + then |
| + # building for OS X 10.0 through 10.2 |
| + AC_MSG_ERROR([MACOSX_DEPLOYMENT_TARGET too old ($MACOSX_DEPLOYMENT_TARGET), only 10.3 or later is supported]) |
| + else |
| + # building for OS X 10.3 and later |
| + LDSHARED='$(CC) -bundle -undefined dynamic_lookup' |
| + LDCXXSHARED='$(CXX) -bundle -undefined dynamic_lookup' |
| + BLDSHARED="$LDSHARED" |
| + fi |
| + ;; |
| + Linux*|GNU*|QNX*|VxWorks*) |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared';; |
| + FreeBSD*) |
| + if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]] |
| + then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED="ld -Bshareable" |
| + fi;; |
| + OpenBSD*) |
| + if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]] |
| + then |
| + LDSHARED='$(CC) -shared $(CCSHARED)' |
| + LDCXXSHARED='$(CXX) -shared $(CCSHARED)' |
| + else |
| + case `uname -r` in |
| + [[01]].* | 2.[[0-7]] | 2.[[0-7]].*) |
| + LDSHARED="ld -Bshareable ${LDFLAGS}" |
| + ;; |
| + *) |
| + LDSHARED='$(CC) -shared $(CCSHARED)' |
| + LDCXXSHARED='$(CXX) -shared $(CCSHARED)' |
| + ;; |
| + esac |
| + fi;; |
| + NetBSD*|DragonFly*) |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared';; |
| + OpenUNIX*|UnixWare*) |
| + if test "$GCC" = "yes" ; then |
| + LDSHARED='$(CC) -shared' |
| + LDCXXSHARED='$(CXX) -shared' |
| + else |
| + LDSHARED='$(CC) -G' |
| + LDCXXSHARED='$(CXX) -G' |
| + fi;; |
| + SCO_SV*) |
| + LDSHARED='$(CC) -Wl,-G,-Bexport' |
| + LDCXXSHARED='$(CXX) -Wl,-G,-Bexport';; |
| + CYGWIN*) |
| + LDSHARED="gcc -shared -Wl,--enable-auto-image-base" |
| + LDCXXSHARED="g++ -shared -Wl,--enable-auto-image-base";; |
| + *) LDSHARED="ld";; |
| + esac |
| +fi |
| +AC_MSG_RESULT($LDSHARED) |
| +LDCXXSHARED=${LDCXXSHARED-$LDSHARED} |
| +BLDSHARED=${BLDSHARED-$LDSHARED} |
| +# CCSHARED are the C *flags* used to create objects to go into a shared |
| +# library (module) -- this is only needed for a few systems |
| +AC_MSG_CHECKING(CCSHARED) |
| +if test -z "$CCSHARED" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + SunOS*) if test "$GCC" = yes; |
| + then CCSHARED="-fPIC"; |
| + elif test `uname -p` = sparc; |
| + then CCSHARED="-xcode=pic32"; |
| + else CCSHARED="-Kpic"; |
| + fi;; |
| + hp*|HP*) if test "$GCC" = yes; |
| + then CCSHARED="-fPIC"; |
| + else CCSHARED="+z"; |
| + fi;; |
| + Linux-android*) ;; |
| + Linux*|GNU*) CCSHARED="-fPIC";; |
| + FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";; |
| + OpenUNIX*|UnixWare*) |
| + if test "$GCC" = "yes" |
| + then CCSHARED="-fPIC" |
| + else CCSHARED="-KPIC" |
| + fi;; |
| + SCO_SV*) |
| + if test "$GCC" = "yes" |
| + then CCSHARED="-fPIC" |
| + else CCSHARED="-Kpic -belf" |
| + fi;; |
| + VxWorks*) |
| + CCSHARED="-fpic -D__SO_PICABILINUX__ -ftls-model=global-dynamic" |
| + esac |
| +fi |
| +AC_MSG_RESULT($CCSHARED) |
| +# LINKFORSHARED are the flags passed to the $(CC) command that links |
| +# the python executable -- this is only needed for a few systems |
| +AC_MSG_CHECKING(LINKFORSHARED) |
| +if test -z "$LINKFORSHARED" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + AIX*) LINKFORSHARED='-Wl,-bE:Modules/python.exp -lld';; |
| + hp*|HP*) |
| + LINKFORSHARED="-Wl,-E -Wl,+s";; |
| +# LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; |
| + Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; |
| + Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; |
| + # -u libsys_s pulls in all symbols in libsys |
| + Darwin/*) |
| + LINKFORSHARED="$extra_undefs -framework CoreFoundation" |
| + |
| + # Issue #18075: the default maximum stack size (8MBytes) is too |
| + # small for the default recursion limit. Increase the stack size |
| + # to ensure that tests don't crash |
| + stack_size="1000000" # 16 MB |
| + if test "$with_ubsan" = "yes" |
| + then |
| + # Undefined behavior sanitizer requires an even deeper stack |
| + stack_size="4000000" # 64 MB |
| + fi |
| + |
| + LINKFORSHARED="-Wl,-stack_size,$stack_size $LINKFORSHARED" |
| + |
| + AC_DEFINE_UNQUOTED(THREAD_STACK_SIZE, |
| + 0x$stack_size, |
| + [Custom thread stack size depending on chosen sanitizer runtimes.]) |
| + |
| + if test "$enable_framework" |
| + then |
| + LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| + fi |
| + LINKFORSHARED="$LINKFORSHARED";; |
| + OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";; |
| + SCO_SV*) LINKFORSHARED="-Wl,-Bexport";; |
| + ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";; |
| + FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) |
| + if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]] |
| + then |
| + LINKFORSHARED="-Wl,--export-dynamic" |
| + fi;; |
| + SunOS/5*) case $CC in |
| + *gcc*) |
| + if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null |
| + then |
| + LINKFORSHARED="-Xlinker --export-dynamic" |
| + fi;; |
| + esac;; |
| + CYGWIN*) |
| + if test $enable_shared = "no" |
| + then |
| + LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)' |
| + fi;; |
| + QNX*) |
| + # -Wl,-E causes the symbols to be added to the dynamic |
| + # symbol table so that they can be found when a module |
| + # is loaded. -N 2048K causes the stack size to be set |
| + # to 2048 kilobytes so that the stack doesn't overflow |
| + # when running test_compile.py. |
| + LINKFORSHARED='-Wl,-E -N 2048K';; |
| + VxWorks*) |
| + LINKFORSHARED='-Wl,-export-dynamic';; |
| + esac |
| +fi |
| +AC_MSG_RESULT($LINKFORSHARED) |
| + |
| + |
| +AC_SUBST(CFLAGSFORSHARED) |
| +AC_MSG_CHECKING(CFLAGSFORSHARED) |
| +if test ! "$LIBRARY" = "$LDLIBRARY" |
| +then |
| + case $ac_sys_system in |
| + CYGWIN*) |
| + # Cygwin needs CCSHARED when building extension DLLs |
| + # but not when building the interpreter DLL. |
| + CFLAGSFORSHARED='';; |
| + *) |
| + CFLAGSFORSHARED='$(CCSHARED)' |
| + esac |
| +fi |
| +AC_MSG_RESULT($CFLAGSFORSHARED) |
| + |
| +# SHLIBS are libraries (except -lc and -lm) to link to the python shared |
| +# library (with --enable-shared). |
| +# For platforms on which shared libraries are not allowed to have unresolved |
| +# symbols, this must be set to $(LIBS) (expanded by make). We do this even |
| +# if it is not required, since it creates a dependency of the shared library |
| +# to LIBS. This, in turn, means that applications linking the shared libpython |
| +# don't need to link LIBS explicitly. The default should be only changed |
| +# on systems where this approach causes problems. |
| +AC_SUBST(SHLIBS) |
| +AC_MSG_CHECKING(SHLIBS) |
| +case "$ac_sys_system" in |
| + *) |
| + SHLIBS='$(LIBS)';; |
| +esac |
| +AC_MSG_RESULT($SHLIBS) |
| + |
| + |
| +# checks for libraries |
| +AC_CHECK_LIB(sendfile, sendfile) |
| +AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV |
| +AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX |
| + |
| +# checks for uuid.h location |
| +AC_CHECK_HEADERS([uuid/uuid.h uuid.h]) |
| + |
| +AC_MSG_CHECKING(for uuid_generate_time_safe) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uuid/uuid.h>]], [[ |
| +#ifndef uuid_generate_time_safe |
| +void *x = uuid_generate_time_safe |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE, 1, Define if uuid_generate_time_safe() exists.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +# check for libuuid from util-linux |
| +save_LIBS=$LIBS |
| +AC_CHECK_LIB([uuid], [uuid_generate_time]) |
| +LIBS=$save_LIBS |
| + |
| +# AIX provides support for RFC4122 (uuid) in libc.a starting with AIX 6.1 (anno 2007) |
| +# FreeBSD and OpenBSD provides support in libc as well. |
| +AC_MSG_CHECKING(for uuid_create) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uuid.h>]], [[ |
| +#ifndef uuid_create |
| +void *x = uuid_create |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_UUID_CREATE, 1, Define if uuid_create() exists.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +# Little-endian FreeBSD, OpenBSD and NetBSD needs encoding into an octet |
| +# stream in big-endian byte-order |
| +AC_MSG_CHECKING(for uuid_enc_be) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uuid.h>]], [[ |
| +#ifndef uuid_enc_be |
| +void *x = uuid_enc_be |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_UUID_ENC_BE, 1, Define if uuid_enc_be() exists.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +# 'Real Time' functions on Solaris |
| +# posix4 on Solaris 2.6 |
| +# pthread (first!) on Linux |
| +AC_SEARCH_LIBS(sem_init, pthread rt posix4) |
| + |
| +# check if we need libintl for locale functions |
| +AC_CHECK_LIB(intl, textdomain, |
| + [AC_DEFINE(WITH_LIBINTL, 1, |
| + [Define to 1 if libintl is needed for locale functions.]) |
| + LIBS="-lintl $LIBS"]) |
| + |
| +# checks for system dependent C++ extensions support |
| +case "$ac_sys_system" in |
| + AIX*) AC_MSG_CHECKING(for genuine AIX C++ extensions support) |
| + AC_LINK_IFELSE([ |
| + AC_LANG_PROGRAM([[#include <load.h>]], |
| + [[loadAndInit("", 0, "")]]) |
| + ],[ |
| + AC_DEFINE(AIX_GENUINE_CPLUSPLUS, 1, |
| + [Define for AIX if your compiler is a genuine IBM xlC/xlC_r |
| + and you want support for AIX C++ shared extension modules.]) |
| + AC_MSG_RESULT(yes) |
| + ],[ |
| + AC_MSG_RESULT(no) |
| + ]) |
| +dnl The AIX_BUILDDATE is obtained from the kernel fileset - bos.mp64 |
| +# BUILD_GNU_TYPE + AIX_BUILDDATE are used to construct the platform_tag |
| +# of the AIX system used to build/package Python executable. This tag serves |
| +# as a baseline for bdist module packages |
| + AC_MSG_CHECKING(for the system builddate) |
| + AIX_BUILDDATE=$(lslpp -Lcq bos.mp64 | awk -F: '{ print $NF }') |
| + AC_DEFINE_UNQUOTED([AIX_BUILDDATE], [$AIX_BUILDDATE], |
| + [BUILD_GNU_TYPE + AIX_BUILDDATE are used to construct the PEP425 tag of the build system.]) |
| + AC_MSG_RESULT($AIX_BUILDDATE) |
| + ;; |
| + *) ;; |
| +esac |
| + |
| +# check for systems that require aligned memory access |
| +AC_MSG_CHECKING(aligned memory access is required) |
| +AC_CACHE_VAL(ac_cv_aligned_required, |
| +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +int main() |
| +{ |
| + char s[16]; |
| + int i, *p1, *p2; |
| + for (i=0; i < 16; i++) |
| + s[i] = i; |
| + p1 = (int*)(s+1); |
| + p2 = (int*)(s+2); |
| + if (*p1 == *p2) |
| + return 1; |
| + return 0; |
| +}]])], |
| +[ac_cv_aligned_required=no], |
| +[ac_cv_aligned_required=yes], |
| +[ac_cv_aligned_required=yes]) |
| +]) |
| +AC_MSG_RESULT($ac_cv_aligned_required) |
| +if test "$ac_cv_aligned_required" = yes ; then |
| + AC_DEFINE([HAVE_ALIGNED_REQUIRED], [1], |
| + [Define if aligned memory access is required]) |
| +fi |
| + |
| +# str, bytes and memoryview hash algorithm |
| +AH_TEMPLATE(Py_HASH_ALGORITHM, |
| + [Define hash algorithm for str, bytes and memoryview. |
| + SipHash24: 1, FNV: 2, externally defined: 0]) |
| + |
| +AC_MSG_CHECKING(for --with-hash-algorithm) |
| +dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output |
| +AC_ARG_WITH(hash_algorithm, |
| + AS_HELP_STRING([--with-hash-algorithm=@<:@fnv|siphash24@:>@], |
| + [select hash algorithm for use in Python/pyhash.c (default is SipHash24)]), |
| +[ |
| +AC_MSG_RESULT($withval) |
| +case "$withval" in |
| + siphash24) |
| + AC_DEFINE(Py_HASH_ALGORITHM, 1) |
| + ;; |
| + fnv) |
| + AC_DEFINE(Py_HASH_ALGORITHM, 2) |
| + ;; |
| + *) |
| + AC_MSG_ERROR([unknown hash algorithm '$withval']) |
| + ;; |
| +esac |
| +], |
| +[AC_MSG_RESULT(default)]) |
| + |
| +validate_tzpath() { |
| + # Checks that each element of hte path is an absolute path |
| + if test -z "$1"; then |
| + # Empty string is allowed: it indicates no system TZPATH |
| + return 0 |
| + fi |
| + |
| + # Bad paths are those that don't start with / |
| + dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output |
| + if ( echo $1 | grep '\(^\|:\)\(@<:@^/@:>@\|$\)' > /dev/null); then |
| + AC_MSG_ERROR([--with-tzpath must contain only absolute paths, not $1]) |
| + return 1; |
| + fi |
| +} |
| + |
| +TZPATH="/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo" |
| +AC_MSG_CHECKING(for --with-tzpath) |
| +AC_ARG_WITH(tzpath, |
| + AS_HELP_STRING([--with-tzpath=<list of absolute paths separated by pathsep>] |
| + [Select the default time zone search path for zoneinfo.TZPATH]), |
| +[ |
| +case "$withval" in |
| + yes) |
| + AC_MSG_ERROR([--with-tzpath requires a value]) |
| + ;; |
| + *) |
| + validate_tzpath "$withval" |
| + TZPATH="$withval" |
| + AC_MSG_RESULT("$withval") |
| + ;; |
| +esac |
| +], |
| +[validate_tzpath "$TZPATH" |
| + AC_MSG_RESULT("$TZPATH")]) |
| +AC_SUBST(TZPATH) |
| + |
| +# Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl. |
| +AC_CHECK_LIB(nsl, t_open, [LIBS="-lnsl $LIBS"]) # SVR4 |
| +AC_CHECK_LIB(socket, socket, [LIBS="-lsocket $LIBS"], [], $LIBS) # SVR4 sockets |
| + |
| +AC_MSG_CHECKING(for --with-libs) |
| +AC_ARG_WITH(libs, |
| + AS_HELP_STRING([--with-libs='lib1 ...'], [link against additional libs (default is no)]), |
| +[ |
| +AC_MSG_RESULT($withval) |
| +LIBS="$withval $LIBS" |
| +], |
| +[AC_MSG_RESULT(no)]) |
| + |
| +PKG_PROG_PKG_CONFIG |
| + |
| +# Check for use of the system expat library |
| +AC_MSG_CHECKING(for --with-system-expat) |
| +AC_ARG_WITH(system_expat, |
| + AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]), |
| + [], |
| + [with_system_expat="no"]) |
| + |
| +AC_MSG_RESULT($with_system_expat) |
| + |
| +# Check for use of the system libffi library |
| +AC_MSG_CHECKING(for --with-system-ffi) |
| +AC_ARG_WITH(system_ffi, |
| + AS_HELP_STRING([--with-system-ffi], [build _ctypes module using an installed ffi library, see Doc/library/ctypes.rst (default is system-dependent)]),,,) |
| + |
| +if test "$ac_sys_system" = "Darwin" |
| +then |
| + case "$with_system_ffi" in |
| + "") |
| + with_system_ffi="no" |
| + ;; |
| + yes|no) |
| + ;; |
| + *) |
| + AC_MSG_ERROR([--with-system-ffi accepts no arguments]) |
| + ;; |
| + esac |
| + AC_MSG_RESULT($with_system_ffi) |
| +else |
| + AC_MSG_RESULT(yes) |
| + if test "$with_system_ffi" != "" |
| + then |
| + AC_MSG_WARN([--with(out)-system-ffi is ignored on this platform]) |
| + fi |
| + with_system_ffi="yes" |
| +fi |
| + |
| +if test "$with_system_ffi" = "yes" && test -n "$PKG_CONFIG"; then |
| + LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" |
| +else |
| + LIBFFI_INCLUDEDIR="" |
| +fi |
| +AC_SUBST(LIBFFI_INCLUDEDIR) |
| + |
| +# Check for use of the system libmpdec library |
| +AC_MSG_CHECKING(for --with-system-libmpdec) |
| +AC_ARG_WITH(system_libmpdec, |
| + AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library, see Doc/library/decimal.rst (default is no)]), |
| + [], |
| + [with_system_libmpdec="no"]) |
| + |
| +AC_MSG_RESULT($with_system_libmpdec) |
| + |
| +# Check whether _decimal should use a coroutine-local or thread-local context |
| +AC_MSG_CHECKING(for --with-decimal-contextvar) |
| +AC_ARG_WITH(decimal_contextvar, |
| + AS_HELP_STRING([--with-decimal-contextvar], [build _decimal module using a coroutine-local rather than a thread-local context (default is yes)]), |
| + [], |
| + [with_decimal_contextvar="yes"]) |
| + |
| +if test "$with_decimal_contextvar" != "no" |
| +then |
| + AC_DEFINE(WITH_DECIMAL_CONTEXTVAR, 1, |
| + [Define if you want build the _decimal module using a coroutine-local rather than a thread-local context]) |
| +fi |
| + |
| +AC_MSG_RESULT($with_decimal_contextvar) |
| + |
| +# Check for support for loadable sqlite extensions |
| +AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) |
| +AC_ARG_ENABLE(loadable-sqlite-extensions, |
| + AS_HELP_STRING([--enable-loadable-sqlite-extensions], |
| + [support loadable extensions in _sqlite module, see Doc/library/sqlite3.rst (default is no)]), |
| + [], |
| + [enable_loadable_sqlite_extensions="no"]) |
| + |
| +AC_MSG_RESULT($enable_loadable_sqlite_extensions) |
| + |
| +# Check for --with-tcltk-includes=path and --with-tcltk-libs=path |
| +AC_SUBST(TCLTK_INCLUDES) |
| +AC_SUBST(TCLTK_LIBS) |
| +AC_MSG_CHECKING(for --with-tcltk-includes) |
| +AC_ARG_WITH(tcltk-includes, |
| + AS_HELP_STRING([--with-tcltk-includes='-I...'], [override search for Tcl and Tk include files]), |
| + [], |
| + [with_tcltk_includes="default"]) |
| +AC_MSG_RESULT($with_tcltk_includes) |
| +AC_MSG_CHECKING(for --with-tcltk-libs) |
| +AC_ARG_WITH(tcltk-libs, |
| + AS_HELP_STRING([--with-tcltk-libs='-L...'], [override search for Tcl and Tk libs]), |
| + [], |
| + [with_tcltk_libs="default"]) |
| +AC_MSG_RESULT($with_tcltk_libs) |
| +if test "x$with_tcltk_includes" = xdefault || test "x$with_tcltk_libs" = xdefault |
| +then |
| + if test "x$with_tcltk_includes" != "x$with_tcltk_libs" |
| + then |
| + AC_MSG_ERROR([use both --with-tcltk-includes='...' and --with-tcltk-libs='...' or neither]) |
| + fi |
| + if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists tcl tk; then |
| + TCLTK_INCLUDES="`"$PKG_CONFIG" tcl tk --cflags-only-I 2>/dev/null`" |
| + TCLTK_LIBS="`"$PKG_CONFIG" tcl tk --libs 2>/dev/null`" |
| + else |
| + TCLTK_INCLUDES="" |
| + TCLTK_LIBS="" |
| + fi |
| +else |
| + TCLTK_INCLUDES="$with_tcltk_includes" |
| + TCLTK_LIBS="$with_tcltk_libs" |
| +fi |
| + |
| +# Check for --with-dbmliborder |
| +AC_MSG_CHECKING(for --with-dbmliborder) |
| +AC_ARG_WITH(dbmliborder, |
| + AS_HELP_STRING([--with-dbmliborder=db1:db2:...], [override order to check db backends for dbm; a valid value is a colon separated string with the backend names `ndbm', `gdbm' and `bdb'.]), |
| +[ |
| +if test x$with_dbmliborder = xyes |
| +then |
| +AC_MSG_ERROR([proper usage is --with-dbmliborder=db1:db2:...]) |
| +else |
| + for db in `echo $with_dbmliborder | sed 's/:/ /g'`; do |
| + if test x$db != xndbm && test x$db != xgdbm && test x$db != xbdb |
| + then |
| + AC_MSG_ERROR([proper usage is --with-dbmliborder=db1:db2:...]) |
| + fi |
| + done |
| +fi]) |
| +AC_MSG_RESULT($with_dbmliborder) |
| + |
| +# Templates for things AC_DEFINEd more than once. |
| +# For a single AC_DEFINE, no template is needed. |
| +AH_TEMPLATE(_REENTRANT, |
| + [Define to force use of thread-safe errno, h_errno, and other functions]) |
| + |
| +if test "$ac_cv_pthread_is_default" = yes |
| +then |
| + # Defining _REENTRANT on system with POSIX threads should not hurt. |
| + AC_DEFINE(_REENTRANT) |
| + posix_threads=yes |
| + if test "$ac_sys_system" = "SunOS"; then |
| + CFLAGS="$CFLAGS -D_REENTRANT" |
| + fi |
| +elif test "$ac_cv_kpthread" = "yes" |
| +then |
| + CC="$CC -Kpthread" |
| + if test "$ac_cv_cxx_thread" = "yes"; then |
| + CXX="$CXX -Kpthread" |
| + fi |
| + posix_threads=yes |
| +elif test "$ac_cv_kthread" = "yes" |
| +then |
| + CC="$CC -Kthread" |
| + if test "$ac_cv_cxx_thread" = "yes"; then |
| + CXX="$CXX -Kthread" |
| + fi |
| + posix_threads=yes |
| +elif test "$ac_cv_pthread" = "yes" |
| +then |
| + CC="$CC -pthread" |
| + if test "$ac_cv_cxx_thread" = "yes"; then |
| + CXX="$CXX -pthread" |
| + fi |
| + posix_threads=yes |
| +else |
| + if test ! -z "$withval" -a -d "$withval" |
| + then LDFLAGS="$LDFLAGS -L$withval" |
| + fi |
| + |
| + # According to the POSIX spec, a pthreads implementation must |
| + # define _POSIX_THREADS in unistd.h. Some apparently don't |
| + # (e.g. gnu pth with pthread emulation) |
| + AC_MSG_CHECKING(for _POSIX_THREADS in unistd.h) |
| + AC_EGREP_CPP(yes, |
| + [ |
| +#include <unistd.h> |
| +#ifdef _POSIX_THREADS |
| +yes |
| +#endif |
| + ], unistd_defines_pthreads=yes, unistd_defines_pthreads=no) |
| + AC_MSG_RESULT($unistd_defines_pthreads) |
| + |
| + AC_DEFINE(_REENTRANT) |
| + # Just looking for pthread_create in libpthread is not enough: |
| + # on HP/UX, pthread.h renames pthread_create to a different symbol name. |
| + # So we really have to include pthread.h, and then link. |
| + _libs=$LIBS |
| + LIBS="$LIBS -lpthread" |
| + AC_MSG_CHECKING([for pthread_create in -lpthread]) |
| + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <stdio.h> |
| +#include <pthread.h> |
| + |
| +void * start_routine (void *arg) { exit (0); }]], [[ |
| +pthread_create (NULL, NULL, start_routine, NULL)]])],[ |
| + AC_MSG_RESULT(yes) |
| + posix_threads=yes |
| + ],[ |
| + LIBS=$_libs |
| + AC_CHECK_FUNC(pthread_detach, [ |
| + posix_threads=yes |
| + ],[ |
| + AC_CHECK_LIB(pthreads, pthread_create, [ |
| + posix_threads=yes |
| + LIBS="$LIBS -lpthreads" |
| + ], [ |
| + AC_CHECK_LIB(c_r, pthread_create, [ |
| + posix_threads=yes |
| + LIBS="$LIBS -lc_r" |
| + ], [ |
| + AC_CHECK_LIB(pthread, __pthread_create_system, [ |
| + posix_threads=yes |
| + LIBS="$LIBS -lpthread" |
| + ], [ |
| + AC_CHECK_LIB(cma, pthread_create, [ |
| + posix_threads=yes |
| + LIBS="$LIBS -lcma" |
| + ],[ |
| + AC_MSG_ERROR([could not find pthreads on your system]) |
| + ]) |
| + ])])])])]) |
| + |
| + AC_CHECK_LIB(mpc, usconfig, [ |
| + LIBS="$LIBS -lmpc" |
| + ]) |
| + |
| +fi |
| + |
| +if test "$posix_threads" = "yes"; then |
| + if test "$unistd_defines_pthreads" = "no"; then |
| + AC_DEFINE(_POSIX_THREADS, 1, |
| + [Define if you have POSIX threads, |
| + and your system does not define that.]) |
| + fi |
| + |
| + # Bug 662787: Using semaphores causes unexplicable hangs on Solaris 8. |
| + case $ac_sys_system/$ac_sys_release in |
| + SunOS/5.6) AC_DEFINE(HAVE_PTHREAD_DESTRUCTOR, 1, |
| + [Defined for Solaris 2.6 bug in pthread header.]) |
| + ;; |
| + SunOS/5.8) AC_DEFINE(HAVE_BROKEN_POSIX_SEMAPHORES, 1, |
| + [Define if the Posix semaphores do not work on your system]) |
| + ;; |
| + AIX/*) AC_DEFINE(HAVE_BROKEN_POSIX_SEMAPHORES, 1, |
| + [Define if the Posix semaphores do not work on your system]) |
| + ;; |
| + esac |
| + |
| + AC_MSG_CHECKING(if PTHREAD_SCOPE_SYSTEM is supported) |
| + AC_CACHE_VAL(ac_cv_pthread_system_supported, |
| + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| + #include <stdio.h> |
| + #include <pthread.h> |
| + void *foo(void *parm) { |
| + return NULL; |
| + } |
| + main() { |
| + pthread_attr_t attr; |
| + pthread_t id; |
| + if (pthread_attr_init(&attr)) return (-1); |
| + if (pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM)) return (-1); |
| + if (pthread_create(&id, &attr, foo, NULL)) return (-1); |
| + return (0); |
| + }]])], |
| + [ac_cv_pthread_system_supported=yes], |
| + [ac_cv_pthread_system_supported=no], |
| + [ac_cv_pthread_system_supported=no]) |
| + ]) |
| + AC_MSG_RESULT($ac_cv_pthread_system_supported) |
| + if test "$ac_cv_pthread_system_supported" = "yes"; then |
| + AC_DEFINE(PTHREAD_SYSTEM_SCHED_SUPPORTED, 1, [Defined if PTHREAD_SCOPE_SYSTEM supported.]) |
| + fi |
| + AC_CHECK_FUNCS(pthread_sigmask, |
| + [case $ac_sys_system in |
| + CYGWIN*) |
| + AC_DEFINE(HAVE_BROKEN_PTHREAD_SIGMASK, 1, |
| + [Define if pthread_sigmask() does not work on your system.]) |
| + ;; |
| + esac]) |
| + AC_CHECK_FUNCS(pthread_getcpuclockid) |
| +fi |
| + |
| + |
| +# Check for enable-ipv6 |
| +AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) |
| +AC_MSG_CHECKING([if --enable-ipv6 is specified]) |
| +AC_ARG_ENABLE(ipv6, |
| + AS_HELP_STRING([--enable-ipv6], |
| + [enable ipv6 (with ipv4) support, see Doc/library/socket.rst (default is yes if supported)]), |
| +[ case "$enableval" in |
| + no) |
| + AC_MSG_RESULT(no) |
| + ipv6=no |
| + ;; |
| + *) AC_MSG_RESULT(yes) |
| + AC_DEFINE(ENABLE_IPV6) |
| + ipv6=yes |
| + ;; |
| + esac ], |
| + |
| +[ |
| +dnl the check does not work on cross compilation case... |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ /* AF_INET6 available check */ |
| +#include <sys/types.h> |
| +#include <sys/socket.h>]], |
| +[[int domain = AF_INET6;]])],[ |
| + AC_MSG_RESULT(yes) |
| + ipv6=yes |
| +],[ |
| + AC_MSG_RESULT(no) |
| + ipv6=no |
| +]) |
| + |
| +if test "$ipv6" = "yes"; then |
| + AC_MSG_CHECKING(if RFC2553 API is available) |
| + AC_COMPILE_IFELSE([ |
| + AC_LANG_PROGRAM([[#include <sys/types.h> |
| +#include <netinet/in.h>]], |
| + [[struct sockaddr_in6 x; |
| + x.sin6_scope_id;]]) |
| + ],[ |
| + AC_MSG_RESULT(yes) |
| + ipv6=yes |
| + ],[ |
| + AC_MSG_RESULT(no, IPv6 disabled) |
| + ipv6=no |
| + ]) |
| +fi |
| + |
| +if test "$ipv6" = "yes"; then |
| + AC_DEFINE(ENABLE_IPV6) |
| +fi |
| +]) |
| + |
| +ipv6type=unknown |
| +ipv6lib=none |
| +ipv6trylibc=no |
| + |
| +if test "$ipv6" = "yes"; then |
| + AC_MSG_CHECKING([ipv6 stack type]) |
| + for i in inria kame linux-glibc linux-inet6 solaris toshiba v6d zeta; |
| + do |
| + case $i in |
| + inria) |
| + dnl http://www.kame.net/ |
| + AC_EGREP_CPP(yes, [ |
| +#include <netinet/in.h> |
| +#ifdef IPV6_INRIA_VERSION |
| +yes |
| +#endif], |
| + [ipv6type=$i]) |
| + ;; |
| + kame) |
| + dnl http://www.kame.net/ |
| + AC_EGREP_CPP(yes, [ |
| +#include <netinet/in.h> |
| +#ifdef __KAME__ |
| +yes |
| +#endif], |
| + [ipv6type=$i; |
| + ipv6lib=inet6 |
| + ipv6libdir=/usr/local/v6/lib |
| + ipv6trylibc=yes]) |
| + ;; |
| + linux-glibc) |
| + dnl http://www.v6.linux.or.jp/ |
| + AC_EGREP_CPP(yes, [ |
| +#include <features.h> |
| +#if defined(__GLIBC__) && ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)) |
| +yes |
| +#endif], |
| + [ipv6type=$i; |
| + ipv6trylibc=yes]) |
| + ;; |
| + linux-inet6) |
| + dnl http://www.v6.linux.or.jp/ |
| + if test -d /usr/inet6; then |
| + ipv6type=$i |
| + ipv6lib=inet6 |
| + ipv6libdir=/usr/inet6/lib |
| + BASECFLAGS="-I/usr/inet6/include $BASECFLAGS" |
| + fi |
| + ;; |
| + solaris) |
| + if test -f /etc/netconfig; then |
| + if $GREP -q tcp6 /etc/netconfig; then |
| + ipv6type=$i |
| + ipv6trylibc=yes |
| + fi |
| + fi |
| + ;; |
| + toshiba) |
| + AC_EGREP_CPP(yes, [ |
| +#include <sys/param.h> |
| +#ifdef _TOSHIBA_INET6 |
| +yes |
| +#endif], |
| + [ipv6type=$i; |
| + ipv6lib=inet6; |
| + ipv6libdir=/usr/local/v6/lib]) |
| + ;; |
| + v6d) |
| + AC_EGREP_CPP(yes, [ |
| +#include </usr/local/v6/include/sys/v6config.h> |
| +#ifdef __V6D__ |
| +yes |
| +#endif], |
| + [ipv6type=$i; |
| + ipv6lib=v6; |
| + ipv6libdir=/usr/local/v6/lib; |
| + BASECFLAGS="-I/usr/local/v6/include $BASECFLAGS"]) |
| + ;; |
| + zeta) |
| + AC_EGREP_CPP(yes, [ |
| +#include <sys/param.h> |
| +#ifdef _ZETA_MINAMI_INET6 |
| +yes |
| +#endif], |
| + [ipv6type=$i; |
| + ipv6lib=inet6; |
| + ipv6libdir=/usr/local/v6/lib]) |
| + ;; |
| + esac |
| + if test "$ipv6type" != "unknown"; then |
| + break |
| + fi |
| + done |
| + AC_MSG_RESULT($ipv6type) |
| +fi |
| + |
| +if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then |
| + if test -d $ipv6libdir -a -f $ipv6libdir/lib$ipv6lib.a; then |
| + LIBS="-L$ipv6libdir -l$ipv6lib $LIBS" |
| + echo "using lib$ipv6lib" |
| + else |
| + if test $ipv6trylibc = "yes"; then |
| + echo "using libc" |
| + else |
| + echo 'Fatal: no $ipv6lib library found. cannot continue.' |
| + echo "You need to fetch lib$ipv6lib.a from appropriate" |
| + echo 'ipv6 kit and compile beforehand.' |
| + exit 1 |
| + fi |
| + fi |
| +fi |
| + |
| +AC_MSG_CHECKING(for CAN_RAW_FD_FRAMES) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ /* CAN_RAW_FD_FRAMES available check */ |
| +#include <linux/can/raw.h>]], |
| +[[int can_raw_fd_frames = CAN_RAW_FD_FRAMES;]])],[ |
| + AC_DEFINE(HAVE_LINUX_CAN_RAW_FD_FRAMES, 1, [Define if compiling using Linux 3.6 or later.]) |
| + AC_MSG_RESULT(yes) |
| +],[ |
| + AC_MSG_RESULT(no) |
| +]) |
| + |
| +AC_MSG_CHECKING(for CAN_RAW_JOIN_FILTERS) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <linux/can/raw.h>]], |
| +[[int can_raw_join_filters = CAN_RAW_JOIN_FILTERS;]])],[ |
| + AC_DEFINE(HAVE_LINUX_CAN_RAW_JOIN_FILTERS, 1, [Define if compiling using Linux 4.1 or later.]) |
| + AC_MSG_RESULT(yes) |
| +],[ |
| + AC_MSG_RESULT(no) |
| +]) |
| + |
| +# Check for --with-doc-strings |
| +AC_MSG_CHECKING(for --with-doc-strings) |
| +AC_ARG_WITH(doc-strings, |
| + AS_HELP_STRING([--with-doc-strings], [enable documentation strings (default is yes)])) |
| + |
| +if test -z "$with_doc_strings" |
| +then with_doc_strings="yes" |
| +fi |
| +if test "$with_doc_strings" != "no" |
| +then |
| + AC_DEFINE(WITH_DOC_STRINGS, 1, |
| + [Define if you want documentation strings in extension modules]) |
| +fi |
| +AC_MSG_RESULT($with_doc_strings) |
| + |
| +# Check for Python-specific malloc support |
| +AC_MSG_CHECKING(for --with-pymalloc) |
| +AC_ARG_WITH(pymalloc, |
| + AS_HELP_STRING([--with-pymalloc], [enable specialized mallocs (default is yes)])) |
| + |
| +if test -z "$with_pymalloc" |
| +then |
| + with_pymalloc="yes" |
| +fi |
| +if test "$with_pymalloc" != "no" |
| +then |
| + AC_DEFINE(WITH_PYMALLOC, 1, |
| + [Define if you want to compile in Python-specific mallocs]) |
| +fi |
| +AC_MSG_RESULT($with_pymalloc) |
| + |
| +# Check for --with-c-locale-coercion |
| +AC_MSG_CHECKING(for --with-c-locale-coercion) |
| +AC_ARG_WITH(c-locale-coercion, |
| + AS_HELP_STRING([--with-c-locale-coercion], |
| + [enable C locale coercion to a UTF-8 based locale (default is yes)])) |
| + |
| +if test -z "$with_c_locale_coercion" |
| +then |
| + with_c_locale_coercion="yes" |
| +fi |
| +if test "$with_c_locale_coercion" != "no" |
| +then |
| + AC_DEFINE(PY_COERCE_C_LOCALE, 1, |
| + [Define if you want to coerce the C locale to a UTF-8 based locale]) |
| +fi |
| +AC_MSG_RESULT($with_c_locale_coercion) |
| + |
| +# Check for Valgrind support |
| +AC_MSG_CHECKING([for --with-valgrind]) |
| +AC_ARG_WITH([valgrind], |
| + AS_HELP_STRING([--with-valgrind], [enable Valgrind support (default is no)]),, |
| + with_valgrind=no) |
| +AC_MSG_RESULT([$with_valgrind]) |
| +if test "$with_valgrind" != no; then |
| + AC_CHECK_HEADER([valgrind/valgrind.h], |
| + [AC_DEFINE([WITH_VALGRIND], 1, [Define if you want pymalloc to be disabled when running under valgrind])], |
| + [AC_MSG_ERROR([Valgrind support requested but headers not available])] |
| + ) |
| + OPT="-DDYNAMIC_ANNOTATIONS_ENABLED=1 $OPT" |
| +fi |
| + |
| +# Check for DTrace support |
| +AC_MSG_CHECKING(for --with-dtrace) |
| +AC_ARG_WITH(dtrace, |
| + AS_HELP_STRING([--with-dtrace],[enable DTrace support (default is no)]),, |
| + with_dtrace=no) |
| +AC_MSG_RESULT($with_dtrace) |
| + |
| +AC_SUBST(DTRACE) |
| +AC_SUBST(DFLAGS) |
| +AC_SUBST(DTRACE_HEADERS) |
| +AC_SUBST(DTRACE_OBJS) |
| +DTRACE= |
| +DTRACE_HEADERS= |
| +DTRACE_OBJS= |
| + |
| +if test "$with_dtrace" = "yes" |
| +then |
| + AC_PATH_PROG(DTRACE, [dtrace], [not found]) |
| + if test "$DTRACE" = "not found"; then |
| + AC_MSG_ERROR([dtrace command not found on \$PATH]) |
| + fi |
| + AC_DEFINE(WITH_DTRACE, 1, [Define if you want to compile in DTrace support]) |
| + DTRACE_HEADERS="Include/pydtrace_probes.h" |
| + |
| + # On OS X, DTrace providers do not need to be explicitly compiled and |
| + # linked into the binary. Correspondingly, dtrace(1) is missing the ELF |
| + # generation flag '-G'. We check for presence of this flag, rather than |
| + # hardcoding support by OS, in the interest of robustness. |
| + AC_CACHE_CHECK([whether DTrace probes require linking], |
| + [ac_cv_dtrace_link], [dnl |
| + ac_cv_dtrace_link=no |
| + echo 'BEGIN{}' > conftest.d |
| + "$DTRACE" $DFLAGS -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ |
| + ac_cv_dtrace_link=yes |
| + ]) |
| + if test "$ac_cv_dtrace_link" = "yes"; then |
| + DTRACE_OBJS="Python/pydtrace.o" |
| + fi |
| +fi |
| + |
| +# -I${DLINCLDIR} is added to the compile rule for importdl.o |
| +AC_SUBST(DLINCLDIR) |
| +DLINCLDIR=. |
| + |
| +# the dlopen() function means we might want to use dynload_shlib.o. some |
| +# platforms have dlopen(), but don't want to use it. |
| +AC_CHECK_FUNCS(dlopen) |
| + |
| +# DYNLOADFILE specifies which dynload_*.o file we will use for dynamic |
| +# loading of modules. |
| +AC_SUBST(DYNLOADFILE) |
| +AC_MSG_CHECKING(DYNLOADFILE) |
| +if test -z "$DYNLOADFILE" |
| +then |
| + case $ac_sys_system/$ac_sys_release in |
| + hp*|HP*) DYNLOADFILE="dynload_hpux.o";; |
| + *) |
| + # use dynload_shlib.c and dlopen() if we have it; otherwise stub |
| + # out any dynamic loading |
| + if test "$ac_cv_func_dlopen" = yes |
| + then DYNLOADFILE="dynload_shlib.o" |
| + else DYNLOADFILE="dynload_stub.o" |
| + fi |
| + ;; |
| + esac |
| +fi |
| +AC_MSG_RESULT($DYNLOADFILE) |
| +if test "$DYNLOADFILE" != "dynload_stub.o" |
| +then |
| + AC_DEFINE(HAVE_DYNAMIC_LOADING, 1, |
| + [Defined when any dynamic module loading is enabled.]) |
| +fi |
| + |
| +# MACHDEP_OBJS can be set to platform-specific object files needed by Python |
| + |
| +AC_SUBST(MACHDEP_OBJS) |
| +AC_MSG_CHECKING(MACHDEP_OBJS) |
| +if test -z "$MACHDEP_OBJS" |
| +then |
| + MACHDEP_OBJS=$extra_machdep_objs |
| +else |
| + MACHDEP_OBJS="$MACHDEP_OBJS $extra_machdep_objs" |
| +fi |
| +if test -z "$MACHDEP_OBJS"; then |
| + AC_MSG_RESULT([none]) |
| +else |
| + AC_MSG_RESULT([$MACHDEP_OBJS]) |
| +fi |
| + |
| +# checks for library functions |
| +AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \ |
| + clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \ |
| + explicit_memset faccessat fchmod fchmodat fchown fchownat \ |
| + fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \ |
| + futimens futimes gai_strerror getentropy \ |
| + getgrgid_r getgrnam_r \ |
| + getgrouplist getgroups getlogin getloadavg getpeername getpgid getpid \ |
| + getpriority getresuid getresgid getpwent getpwnam_r getpwuid_r getspnam getspent getsid getwd \ |
| + if_nameindex \ |
| + initgroups kill killpg lchown lockf linkat lstat lutimes mmap \ |
| + memrchr mbrtowc mkdirat mkfifo \ |
| + madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \ |
| + posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \ |
| + pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \ |
| + readlink readlinkat readv realpath renameat \ |
| + sem_open sem_timedwait sem_clockwait sem_getvalue sem_unlink sendfile setegid seteuid \ |
| + setgid sethostname \ |
| + setlocale setregid setreuid setresuid setresgid setsid setpgid setpgrp setpriority setuid setvbuf \ |
| + sched_get_priority_max sched_setaffinity sched_setscheduler sched_setparam \ |
| + sched_rr_get_interval \ |
| + sigaction sigaltstack sigfillset siginterrupt sigpending sigrelse \ |
| + sigtimedwait sigwait sigwaitinfo snprintf splice strftime strlcpy strsignal symlinkat sync \ |
| + sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \ |
| + truncate uname unlinkat utimensat utimes vfork waitid waitpid wait3 wait4 \ |
| + wcscoll wcsftime wcsxfrm wmemcmp writev _getpty rtpSpawn) |
| + |
| +# Force lchmod off for Linux. Linux disallows changing the mode of symbolic |
| +# links. Some libc implementations have a stub lchmod implementation that always |
| +# returns an error. |
| +if test "$MACHDEP" != linux; then |
| + AC_CHECK_FUNCS(lchmod) |
| +fi |
| + |
| +AC_CHECK_DECL(dirfd, |
| + AC_DEFINE(HAVE_DIRFD, 1, |
| + Define if you have the 'dirfd' function or macro.), , |
| + [#include <sys/types.h> |
| + #include <dirent.h>]) |
| + |
| +# For some functions, having a definition is not sufficient, since |
| +# we want to take their address. |
| +AC_MSG_CHECKING(for chroot) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[void *x=chroot]])], |
| + [AC_DEFINE(HAVE_CHROOT, 1, Define if you have the 'chroot' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for link) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[void *x=link]])], |
| + [AC_DEFINE(HAVE_LINK, 1, Define if you have the 'link' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for symlink) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[void *x=symlink]])], |
| + [AC_DEFINE(HAVE_SYMLINK, 1, Define if you have the 'symlink' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for fchdir) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[void *x=fchdir]])], |
| + [AC_DEFINE(HAVE_FCHDIR, 1, Define if you have the 'fchdir' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for fsync) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[void *x=fsync]])], |
| + [AC_DEFINE(HAVE_FSYNC, 1, Define if you have the 'fsync' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for fdatasync) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[void *x=fdatasync]])], |
| + [AC_DEFINE(HAVE_FDATASYNC, 1, Define if you have the 'fdatasync' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for epoll) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/epoll.h>]], [[void *x=epoll_create]])], |
| + [AC_DEFINE(HAVE_EPOLL, 1, Define if you have the 'epoll' functions.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for epoll_create1) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/epoll.h>]], [[void *x=epoll_create1]])], |
| + [AC_DEFINE(HAVE_EPOLL_CREATE1, 1, Define if you have the 'epoll_create1' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for kqueue) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <sys/types.h> |
| +#include <sys/event.h> |
| + ]], [[int x=kqueue()]])], |
| + [AC_DEFINE(HAVE_KQUEUE, 1, Define if you have the 'kqueue' functions.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for prlimit) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <sys/time.h> |
| +#include <sys/resource.h> |
| + ]], [[void *x=prlimit]])], |
| + [AC_DEFINE(HAVE_PRLIMIT, 1, Define if you have the 'prlimit' functions.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| +AC_MSG_CHECKING(for _dyld_shared_cache_contains_path) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <mach-o/dyld.h>]], [[void *x=_dyld_shared_cache_contains_path]])], |
| + [AC_DEFINE(HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH, 1, Define if you have the '_dyld_shared_cache_contains_path' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +AC_MSG_CHECKING(for memfd_create) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#ifdef HAVE_SYS_MMAN_H |
| +#include <sys/mman.h> |
| +#endif |
| +#ifdef HAVE_SYS_MEMFD_H |
| +#include <sys/memfd.h> |
| +#endif |
| +]], [[void *x=memfd_create]])], |
| + [AC_DEFINE(HAVE_MEMFD_CREATE, 1, Define if you have the 'memfd_create' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +AC_MSG_CHECKING(for eventfd) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#ifdef HAVE_SYS_EVENTFD_H |
| +#include <sys/eventfd.h> |
| +#endif |
| +]], [[int x = eventfd(0, EFD_CLOEXEC)]])], |
| + [AC_DEFINE(HAVE_EVENTFD, 1, Define if you have the 'eventfd' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +# On some systems (eg. FreeBSD 5), we would find a definition of the |
| +# functions ctermid_r, setgroups in the library, but no prototype |
| +# (e.g. because we use _XOPEN_SOURCE). See whether we can take their |
| +# address to avoid compiler warnings and potential miscompilations |
| +# because of the missing prototypes. |
| + |
| +AC_MSG_CHECKING(for ctermid_r) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <stdio.h> |
| +]], [[void* p = ctermid_r]])], |
| + [AC_DEFINE(HAVE_CTERMID_R, 1, Define if you have the 'ctermid_r' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +AC_CACHE_CHECK([for flock declaration], [ac_cv_flock_decl], |
| + [AC_COMPILE_IFELSE( |
| + [AC_LANG_PROGRAM( |
| + [#include <sys/file.h>], |
| + [void* p = flock] |
| + )], |
| + [ac_cv_flock_decl=yes], |
| + [ac_cv_flock_decl=no] |
| + ) |
| +]) |
| +if test "x${ac_cv_flock_decl}" = xyes; then |
| + AC_CHECK_FUNCS(flock,, |
| + AC_CHECK_LIB(bsd,flock, |
| + [AC_DEFINE(HAVE_FLOCK) |
| + AC_DEFINE(FLOCK_NEEDS_LIBBSD, 1, Define if flock needs to be linked with bsd library.) |
| + ]) |
| + ) |
| +fi |
| + |
| +AC_MSG_CHECKING(for getpagesize) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <unistd.h> |
| +]], [[void* p = getpagesize]])], |
| + [AC_DEFINE(HAVE_GETPAGESIZE, 1, Define if you have the 'getpagesize' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +AC_MSG_CHECKING(for broken unsetenv) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <stdlib.h> |
| +]], [[int res = unsetenv("DUMMY")]])], |
| + [AC_MSG_RESULT(no)], |
| + [AC_DEFINE(HAVE_BROKEN_UNSETENV, 1, Define if `unsetenv` does not return an int.) |
| + AC_MSG_RESULT(yes) |
| +]) |
| + |
| +dnl check for true |
| +AC_CHECK_PROGS(TRUE, true, /bin/true) |
| + |
| +dnl On some systems (e.g. Solaris 9), hstrerror and inet_aton are in -lresolv |
| +dnl On others, they are in the C library, so we to take no action |
| +AC_CHECK_LIB(c, inet_aton, [$ac_cv_prog_TRUE], |
| + AC_CHECK_LIB(resolv, inet_aton) |
| +) |
| + |
| +# On Tru64, chflags seems to be present, but calling it will |
| +# exit Python |
| +AC_CACHE_CHECK([for chflags], [ac_cv_have_chflags], [dnl |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <sys/stat.h> |
| +#include <unistd.h> |
| +int main(int argc, char*argv[]) |
| +{ |
| + if(chflags(argv[0], 0) != 0) |
| + return 1; |
| + return 0; |
| +} |
| +]])], |
| +[ac_cv_have_chflags=yes], |
| +[ac_cv_have_chflags=no], |
| +[ac_cv_have_chflags=cross]) |
| +]) |
| +if test "$ac_cv_have_chflags" = cross ; then |
| + AC_CHECK_FUNC([chflags], [ac_cv_have_chflags="yes"], [ac_cv_have_chflags="no"]) |
| +fi |
| +if test "$ac_cv_have_chflags" = yes ; then |
| + AC_DEFINE(HAVE_CHFLAGS, 1, [Define to 1 if you have the 'chflags' function.]) |
| +fi |
| + |
| +AC_CACHE_CHECK([for lchflags], [ac_cv_have_lchflags], [dnl |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <sys/stat.h> |
| +#include <unistd.h> |
| +int main(int argc, char*argv[]) |
| +{ |
| + if(lchflags(argv[0], 0) != 0) |
| + return 1; |
| + return 0; |
| +} |
| +]])],[ac_cv_have_lchflags=yes],[ac_cv_have_lchflags=no],[ac_cv_have_lchflags=cross]) |
| +]) |
| +if test "$ac_cv_have_lchflags" = cross ; then |
| + AC_CHECK_FUNC([lchflags], [ac_cv_have_lchflags="yes"], [ac_cv_have_lchflags="no"]) |
| +fi |
| +if test "$ac_cv_have_lchflags" = yes ; then |
| + AC_DEFINE(HAVE_LCHFLAGS, 1, [Define to 1 if you have the 'lchflags' function.]) |
| +fi |
| + |
| +dnl Check if system zlib has *Copy() functions |
| +dnl |
| +dnl On MacOSX the linker will search for dylibs on the entire linker path |
| +dnl before searching for static libraries. setup.py adds -Wl,-search_paths_first |
| +dnl to revert to a more traditional unix behaviour and make it possible to |
| +dnl override the system libz with a local static library of libz. Temporarily |
| +dnl add that flag to our CFLAGS as well to ensure that we check the version |
| +dnl of libz that will be used by setup.py. |
| +dnl The -L/usr/local/lib is needed as wel to get the same compilation |
| +dnl environment as setup.py (and leaving it out can cause configure to use the |
| +dnl wrong version of the library) |
| +case $ac_sys_system/$ac_sys_release in |
| +Darwin/*) |
| + _CUR_CFLAGS="${CFLAGS}" |
| + _CUR_LDFLAGS="${LDFLAGS}" |
| + CFLAGS="${CFLAGS} -Wl,-search_paths_first" |
| + LDFLAGS="${LDFLAGS} -Wl,-search_paths_first -L/usr/local/lib" |
| + ;; |
| +esac |
| + |
| +AC_CHECK_LIB(z, inflateCopy, AC_DEFINE(HAVE_ZLIB_COPY, 1, [Define if the zlib library has inflateCopy])) |
| + |
| +case $ac_sys_system/$ac_sys_release in |
| +Darwin/*) |
| + CFLAGS="${_CUR_CFLAGS}" |
| + LDFLAGS="${_CUR_LDFLAGS}" |
| + ;; |
| +esac |
| + |
| +AC_MSG_CHECKING(for hstrerror) |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <netdb.h> |
| +]], [[void* p = hstrerror; hstrerror(0)]])], |
| + [AC_DEFINE(HAVE_HSTRERROR, 1, Define if you have the 'hstrerror' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +AC_MSG_CHECKING(for inet_aton) |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +#include <netinet/in.h> |
| +#include <arpa/inet.h> |
| +]], [[void* p = inet_aton;inet_aton(0,0)]])], |
| + [AC_DEFINE(HAVE_INET_ATON, 1, Define if you have the 'inet_aton' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +AC_MSG_CHECKING(for inet_pton) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +#include <netinet/in.h> |
| +#include <arpa/inet.h> |
| +]], [[void* p = inet_pton]])], |
| + [AC_DEFINE(HAVE_INET_PTON, 1, Define if you have the 'inet_pton' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +# On some systems, setgroups is in unistd.h, on others, in grp.h |
| +AC_MSG_CHECKING(for setgroups) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <unistd.h> |
| +#ifdef HAVE_GRP_H |
| +#include <grp.h> |
| +#endif |
| +]], [[void* p = setgroups]])], |
| + [AC_DEFINE(HAVE_SETGROUPS, 1, Define if you have the 'setgroups' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no) |
| +]) |
| + |
| +# check for openpty and forkpty |
| + |
| +AC_CHECK_FUNCS(openpty,, |
| + AC_CHECK_LIB(util,openpty, |
| + [AC_DEFINE(HAVE_OPENPTY) LIBS="$LIBS -lutil"], |
| + AC_CHECK_LIB(bsd,openpty, [AC_DEFINE(HAVE_OPENPTY) LIBS="$LIBS -lbsd"]) |
| + ) |
| +) |
| +AC_CHECK_FUNCS(forkpty,, |
| + AC_CHECK_LIB(util,forkpty, |
| + [AC_DEFINE(HAVE_FORKPTY) LIBS="$LIBS -lutil"], |
| + AC_CHECK_LIB(bsd,forkpty, [AC_DEFINE(HAVE_FORKPTY) LIBS="$LIBS -lbsd"]) |
| + ) |
| +) |
| + |
| +# check for long file support functions |
| +AC_CHECK_FUNCS(fseek64 fseeko fstatvfs ftell64 ftello statvfs) |
| + |
| +AC_REPLACE_FUNCS(dup2) |
| +AC_CHECK_FUNCS(getpgrp, |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[getpgrp(0);]])], |
| + [AC_DEFINE(GETPGRP_HAVE_ARG, 1, [Define if getpgrp() must be called as getpgrp(0).])], |
| + []) |
| +) |
| +AC_CHECK_FUNCS(setpgrp, |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[setpgrp(0,0);]])], |
| + [AC_DEFINE(SETPGRP_HAVE_ARG, 1, [Define if setpgrp() must be called as setpgrp(0, 0).])], |
| + []) |
| +) |
| + |
| +# We search for both crypt and crypt_r as one or the other may be defined |
| +# This gets us our -lcrypt in LIBS when required on the target platform. |
| +AC_SEARCH_LIBS(crypt, crypt) |
| +AC_SEARCH_LIBS(crypt_r, crypt) |
| + |
| +AC_CHECK_FUNC(crypt_r, |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#define _GNU_SOURCE /* Required for crypt_r()'s prototype in glibc. */ |
| +#include <crypt.h> |
| +]], [[ |
| +struct crypt_data d; |
| +char *r = crypt_r("", "", &d); |
| +]])], |
| + [AC_DEFINE(HAVE_CRYPT_R, 1, [Define if you have the crypt_r() function.])], |
| + []) |
| +) |
| + |
| +AC_CHECK_FUNCS(clock_gettime, [], [ |
| + AC_CHECK_LIB(rt, clock_gettime, [ |
| + LIBS="$LIBS -lrt" |
| + AC_DEFINE(HAVE_CLOCK_GETTIME, 1) |
| + AC_DEFINE(TIMEMODULE_LIB, [rt], |
| + [Library needed by timemodule.c: librt may be needed for clock_gettime()]) |
| + ]) |
| +]) |
| + |
| +AC_CHECK_FUNCS(clock_getres, [], [ |
| + AC_CHECK_LIB(rt, clock_getres, [ |
| + AC_DEFINE(HAVE_CLOCK_GETRES, 1) |
| + ]) |
| +]) |
| + |
| +AC_CHECK_FUNCS(clock_settime, [], [ |
| + AC_CHECK_LIB(rt, clock_settime, [ |
| + AC_DEFINE(HAVE_CLOCK_SETTIME, 1) |
| + ]) |
| +]) |
| + |
| +AC_MSG_CHECKING(for major, minor, and makedev) |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#if defined(MAJOR_IN_MKDEV) |
| +#include <sys/mkdev.h> |
| +#elif defined(MAJOR_IN_SYSMACROS) |
| +#include <sys/sysmacros.h> |
| +#else |
| +#include <sys/types.h> |
| +#endif |
| +]], [[ |
| + makedev(major(0),minor(0)); |
| +]])],[ |
| + AC_DEFINE(HAVE_DEVICE_MACROS, 1, |
| + [Define to 1 if you have the device macros.]) |
| + AC_MSG_RESULT(yes) |
| +],[ |
| + AC_MSG_RESULT(no) |
| +]) |
| + |
| +# On OSF/1 V5.1, getaddrinfo is available, but a define |
| +# for [no]getaddrinfo in netdb.h. |
| +AC_MSG_CHECKING(for getaddrinfo) |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +#include <netdb.h> |
| +#include <stdio.h> |
| +]], [[getaddrinfo(NULL, NULL, NULL, NULL);]])], |
| +[have_getaddrinfo=yes], |
| +[have_getaddrinfo=no]) |
| +AC_MSG_RESULT($have_getaddrinfo) |
| +if test $have_getaddrinfo = yes |
| +then |
| + AC_MSG_CHECKING(getaddrinfo bug) |
| + AC_CACHE_VAL(ac_cv_buggy_getaddrinfo, |
| + AC_RUN_IFELSE([AC_LANG_SOURCE([[[ |
| +#include <stdio.h> |
| +#include <sys/types.h> |
| +#include <netdb.h> |
| +#include <string.h> |
| +#include <sys/socket.h> |
| +#include <netinet/in.h> |
| + |
| +int main() |
| +{ |
| + int passive, gaierr, inet4 = 0, inet6 = 0; |
| + struct addrinfo hints, *ai, *aitop; |
| + char straddr[INET6_ADDRSTRLEN], strport[16]; |
| + |
| + for (passive = 0; passive <= 1; passive++) { |
| + memset(&hints, 0, sizeof(hints)); |
| + hints.ai_family = AF_UNSPEC; |
| + hints.ai_flags = passive ? AI_PASSIVE : 0; |
| + hints.ai_socktype = SOCK_STREAM; |
| + hints.ai_protocol = IPPROTO_TCP; |
| + if ((gaierr = getaddrinfo(NULL, "54321", &hints, &aitop)) != 0) { |
| + (void)gai_strerror(gaierr); |
| + goto bad; |
| + } |
| + for (ai = aitop; ai; ai = ai->ai_next) { |
| + if (ai->ai_addr == NULL || |
| + ai->ai_addrlen == 0 || |
| + getnameinfo(ai->ai_addr, ai->ai_addrlen, |
| + straddr, sizeof(straddr), strport, sizeof(strport), |
| + NI_NUMERICHOST|NI_NUMERICSERV) != 0) { |
| + goto bad; |
| + } |
| + switch (ai->ai_family) { |
| + case AF_INET: |
| + if (strcmp(strport, "54321") != 0) { |
| + goto bad; |
| + } |
| + if (passive) { |
| + if (strcmp(straddr, "0.0.0.0") != 0) { |
| + goto bad; |
| + } |
| + } else { |
| + if (strcmp(straddr, "127.0.0.1") != 0) { |
| + goto bad; |
| + } |
| + } |
| + inet4++; |
| + break; |
| + case AF_INET6: |
| + if (strcmp(strport, "54321") != 0) { |
| + goto bad; |
| + } |
| + if (passive) { |
| + if (strcmp(straddr, "::") != 0) { |
| + goto bad; |
| + } |
| + } else { |
| + if (strcmp(straddr, "::1") != 0) { |
| + goto bad; |
| + } |
| + } |
| + inet6++; |
| + break; |
| + case AF_UNSPEC: |
| + goto bad; |
| + break; |
| + default: |
| + /* another family support? */ |
| + break; |
| + } |
| + } |
| + freeaddrinfo(aitop); |
| + aitop = NULL; |
| + } |
| + |
| + if (!(inet4 == 0 || inet4 == 2)) |
| + goto bad; |
| + if (!(inet6 == 0 || inet6 == 2)) |
| + goto bad; |
| + |
| + if (aitop) |
| + freeaddrinfo(aitop); |
| + return 0; |
| + |
| + bad: |
| + if (aitop) |
| + freeaddrinfo(aitop); |
| + return 1; |
| +} |
| +]]])], |
| +[ac_cv_buggy_getaddrinfo=no], |
| +[ac_cv_buggy_getaddrinfo=yes], |
| +[ |
| +if test "${enable_ipv6+set}" = set; then |
| + ac_cv_buggy_getaddrinfo="no -- configured with --(en|dis)able-ipv6" |
| +else |
| + ac_cv_buggy_getaddrinfo=yes |
| +fi])) |
| +fi |
| + |
| +AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) |
| + |
| +if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes |
| +then |
| + if test $ipv6 = yes |
| + then |
| + echo 'Fatal: You must get working getaddrinfo() function.' |
| + echo ' or you can specify "--disable-ipv6"'. |
| + exit 1 |
| + fi |
| +else |
| + AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if you have the getaddrinfo function.]) |
| +fi |
| + |
| +AC_CHECK_FUNCS(getnameinfo) |
| + |
| +# checks for structures |
| +AC_HEADER_TIME |
| +AC_STRUCT_TM |
| +AC_STRUCT_TIMEZONE |
| +AC_CHECK_MEMBERS([struct stat.st_rdev]) |
| +AC_CHECK_MEMBERS([struct stat.st_blksize]) |
| +AC_CHECK_MEMBERS([struct stat.st_flags]) |
| +AC_CHECK_MEMBERS([struct stat.st_gen]) |
| +AC_CHECK_MEMBERS([struct stat.st_birthtime]) |
| +AC_CHECK_MEMBERS([struct stat.st_blocks]) |
| +AC_CHECK_MEMBERS([struct passwd.pw_gecos, struct passwd.pw_passwd], [], [], [[ |
| + #include <sys/types.h> |
| + #include <pwd.h> |
| +]]) |
| +# Issue #21085: In Cygwin, siginfo_t does not have si_band field. |
| +AC_CHECK_MEMBERS([siginfo_t.si_band], [], [], [[#include <signal.h>]]) |
| + |
| +AC_MSG_CHECKING(for time.h that defines altzone) |
| +AC_CACHE_VAL(ac_cv_header_time_altzone,[ |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[return altzone;]])], |
| + [ac_cv_header_time_altzone=yes], |
| + [ac_cv_header_time_altzone=no]) |
| + ]) |
| +AC_MSG_RESULT($ac_cv_header_time_altzone) |
| +if test $ac_cv_header_time_altzone = yes; then |
| + AC_DEFINE(HAVE_ALTZONE, 1, [Define this if your time.h defines altzone.]) |
| +fi |
| + |
| +was_it_defined=no |
| +AC_MSG_CHECKING(whether sys/select.h and sys/time.h may both be included) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <sys/types.h> |
| +#include <sys/select.h> |
| +#include <sys/time.h> |
| +]], [[;]])],[ |
| + AC_DEFINE(SYS_SELECT_WITH_SYS_TIME, 1, |
| + [Define if you can safely include both <sys/select.h> and <sys/time.h> |
| + (which you can't on SCO ODT 3.0).]) |
| + was_it_defined=yes |
| +],[]) |
| +AC_MSG_RESULT($was_it_defined) |
| + |
| +AC_MSG_CHECKING(for addrinfo) |
| +AC_CACHE_VAL(ac_cv_struct_addrinfo, |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[struct addrinfo a]])], |
| + [ac_cv_struct_addrinfo=yes], |
| + [ac_cv_struct_addrinfo=no])) |
| +AC_MSG_RESULT($ac_cv_struct_addrinfo) |
| +if test $ac_cv_struct_addrinfo = yes; then |
| + AC_DEFINE(HAVE_ADDRINFO, 1, [struct addrinfo (netdb.h)]) |
| +fi |
| + |
| +AC_MSG_CHECKING(for sockaddr_storage) |
| +AC_CACHE_VAL(ac_cv_struct_sockaddr_storage, |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +# include <sys/types.h> |
| +# include <sys/socket.h>]], [[struct sockaddr_storage s]])], |
| + [ac_cv_struct_sockaddr_storage=yes], |
| + [ac_cv_struct_sockaddr_storage=no])) |
| +AC_MSG_RESULT($ac_cv_struct_sockaddr_storage) |
| +if test $ac_cv_struct_sockaddr_storage = yes; then |
| + AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1, [struct sockaddr_storage (sys/socket.h)]) |
| +fi |
| + |
| +AC_MSG_CHECKING(for sockaddr_alg) |
| +AC_CACHE_VAL(ac_cv_struct_sockaddr_alg, |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +# include <sys/types.h> |
| +# include <sys/socket.h> |
| +# include <linux/if_alg.h>]], [[struct sockaddr_alg s]])], |
| + [ac_cv_struct_sockaddr_alg=yes], |
| + [ac_cv_struct_sockaddr_alg=no])) |
| +AC_MSG_RESULT($ac_cv_struct_sockaddr_alg) |
| +if test $ac_cv_struct_sockaddr_alg = yes; then |
| + AC_DEFINE(HAVE_SOCKADDR_ALG, 1, [struct sockaddr_alg (linux/if_alg.h)]) |
| +fi |
| + |
| +# checks for compiler characteristics |
| + |
| +AC_C_CONST |
| + |
| +works=no |
| +AC_MSG_CHECKING(for working signed char) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[signed char c;]])], |
| + [works=yes], |
| + [AC_DEFINE(signed, , [Define to empty if the keyword does not work.])] |
| +) |
| +AC_MSG_RESULT($works) |
| + |
| +have_prototypes=no |
| +AC_MSG_CHECKING(for prototypes) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int foo(int x) { return 0; }]], [[return foo(10);]])], |
| + [AC_DEFINE(HAVE_PROTOTYPES, 1, |
| + [Define if your compiler supports function prototype]) |
| + have_prototypes=yes], |
| + [] |
| +) |
| +AC_MSG_RESULT($have_prototypes) |
| + |
| +works=no |
| +AC_MSG_CHECKING(for variable length prototypes and stdarg.h) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <stdarg.h> |
| +int foo(int x, ...) { |
| + va_list va; |
| + va_start(va, x); |
| + va_arg(va, int); |
| + va_arg(va, char *); |
| + va_arg(va, double); |
| + return 0; |
| +} |
| +]], [[return foo(10, "", 3.14);]])],[ |
| + AC_DEFINE(HAVE_STDARG_PROTOTYPES, 1, |
| + [Define if your compiler supports variable length function prototypes |
| + (e.g. void fprintf(FILE *, char *, ...);) *and* <stdarg.h>]) |
| + works=yes |
| +],[]) |
| +AC_MSG_RESULT($works) |
| + |
| +# check for socketpair |
| +AC_MSG_CHECKING(for socketpair) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <sys/types.h> |
| +#include <sys/socket.h> |
| +]], [[void *x=socketpair]])], |
| + [AC_DEFINE(HAVE_SOCKETPAIR, 1, [Define if you have the 'socketpair' function.]) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +# check if sockaddr has sa_len member |
| +AC_MSG_CHECKING(if sockaddr has sa_len member) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
| +#include <sys/socket.h>]], [[struct sockaddr x; |
| +x.sa_len = 0;]])], |
| + [AC_MSG_RESULT(yes) |
| + AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if sockaddr has sa_len member])], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +# sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments :-( |
| +AH_TEMPLATE(HAVE_GETHOSTBYNAME_R, |
| + [Define this if you have some version of gethostbyname_r()]) |
| + |
| +AC_CHECK_FUNC(gethostbyname_r, [ |
| + AC_DEFINE(HAVE_GETHOSTBYNAME_R) |
| + AC_MSG_CHECKING([gethostbyname_r with 6 args]) |
| + OLD_CFLAGS=$CFLAGS |
| + CFLAGS="$CFLAGS $MY_CPPFLAGS $MY_THREAD_CPPFLAGS $MY_CFLAGS" |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +# include <netdb.h> |
| + ]], [[ |
| + char *name; |
| + struct hostent *he, *res; |
| + char buffer[2048]; |
| + int buflen = 2048; |
| + int h_errnop; |
| + |
| + (void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop) |
| + ]])],[ |
| + AC_DEFINE(HAVE_GETHOSTBYNAME_R) |
| + AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARG, 1, |
| + [Define this if you have the 6-arg version of gethostbyname_r().]) |
| + AC_MSG_RESULT(yes) |
| + ],[ |
| + AC_MSG_RESULT(no) |
| + AC_MSG_CHECKING([gethostbyname_r with 5 args]) |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +# include <netdb.h> |
| + ]], [[ |
| + char *name; |
| + struct hostent *he; |
| + char buffer[2048]; |
| + int buflen = 2048; |
| + int h_errnop; |
| + |
| + (void) gethostbyname_r(name, he, buffer, buflen, &h_errnop) |
| + ]])], |
| + [ |
| + AC_DEFINE(HAVE_GETHOSTBYNAME_R) |
| + AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARG, 1, |
| + [Define this if you have the 5-arg version of gethostbyname_r().]) |
| + AC_MSG_RESULT(yes) |
| + ], [ |
| + AC_MSG_RESULT(no) |
| + AC_MSG_CHECKING([gethostbyname_r with 3 args]) |
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +# include <netdb.h> |
| + ]], [[ |
| + char *name; |
| + struct hostent *he; |
| + struct hostent_data data; |
| + |
| + (void) gethostbyname_r(name, he, &data); |
| + ]])], |
| + [ |
| + AC_DEFINE(HAVE_GETHOSTBYNAME_R) |
| + AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARG, 1, |
| + [Define this if you have the 3-arg version of gethostbyname_r().]) |
| + AC_MSG_RESULT(yes) |
| + ], [ |
| + AC_MSG_RESULT(no) |
| + ]) |
| + ]) |
| + ]) |
| + CFLAGS=$OLD_CFLAGS |
| +], [ |
| + AC_CHECK_FUNCS(gethostbyname) |
| +]) |
| +AC_SUBST(HAVE_GETHOSTBYNAME_R_6_ARG) |
| +AC_SUBST(HAVE_GETHOSTBYNAME_R_5_ARG) |
| +AC_SUBST(HAVE_GETHOSTBYNAME_R_3_ARG) |
| +AC_SUBST(HAVE_GETHOSTBYNAME_R) |
| +AC_SUBST(HAVE_GETHOSTBYNAME) |
| + |
| +# checks for system services |
| +# (none yet) |
| + |
| +# Linux requires this for correct f.p. operations |
| +AC_CHECK_FUNC(__fpu_control, |
| + [], |
| + [AC_CHECK_LIB(ieee, __fpu_control) |
| +]) |
| + |
| +# check for --with-libm=... |
| +AC_SUBST(LIBM) |
| +case $ac_sys_system in |
| +Darwin) ;; |
| +*) LIBM=-lm |
| +esac |
| +AC_MSG_CHECKING(for --with-libm=STRING) |
| +AC_ARG_WITH(libm, |
| + AS_HELP_STRING([--with-libm=STRING], [override libm math library to STRING (default is system-dependent)]), |
| +[ |
| +if test "$withval" = no |
| +then LIBM= |
| + AC_MSG_RESULT(force LIBM empty) |
| +elif test "$withval" != yes |
| +then LIBM=$withval |
| + AC_MSG_RESULT(set LIBM="$withval") |
| +else AC_MSG_ERROR([proper usage is --with-libm=STRING]) |
| +fi], |
| +[AC_MSG_RESULT(default LIBM="$LIBM")]) |
| + |
| +# check for --with-libc=... |
| +AC_SUBST(LIBC) |
| +AC_MSG_CHECKING(for --with-libc=STRING) |
| +AC_ARG_WITH(libc, |
| + AS_HELP_STRING([--with-libc=STRING], [override libc C library to STRING (default is system-dependent)]), |
| +[ |
| +if test "$withval" = no |
| +then LIBC= |
| + AC_MSG_RESULT(force LIBC empty) |
| +elif test "$withval" != yes |
| +then LIBC=$withval |
| + AC_MSG_RESULT(set LIBC="$withval") |
| +else AC_MSG_ERROR([proper usage is --with-libc=STRING]) |
| +fi], |
| +[AC_MSG_RESULT(default LIBC="$LIBC")]) |
| + |
| +# ************************************** |
| +# * Check for gcc x64 inline assembler * |
| +# ************************************** |
| + |
| +AC_MSG_CHECKING(for x64 gcc inline assembler) |
| +AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[ |
| + __asm__ __volatile__ ("movq %rcx, %rax"); |
| +]])],[have_gcc_asm_for_x64=yes],[have_gcc_asm_for_x64=no]) |
| +AC_MSG_RESULT($have_gcc_asm_for_x64) |
| +if test "$have_gcc_asm_for_x64" = yes |
| +then |
| + AC_DEFINE(HAVE_GCC_ASM_FOR_X64, 1, |
| + [Define if we can use x64 gcc inline assembler]) |
| +fi |
| + |
| +# ************************************************** |
| +# * Check for various properties of floating point * |
| +# ************************************************** |
| + |
| +AX_C_FLOAT_WORDS_BIGENDIAN |
| +if test "$ax_cv_c_float_words_bigendian" = "yes" |
| +then |
| + AC_DEFINE(DOUBLE_IS_BIG_ENDIAN_IEEE754, 1, |
| + [Define if C doubles are 64-bit IEEE 754 binary format, stored |
| + with the most significant byte first]) |
| +elif test "$ax_cv_c_float_words_bigendian" = "no" |
| +then |
| + AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1, |
| + [Define if C doubles are 64-bit IEEE 754 binary format, stored |
| + with the least significant byte first]) |
| +else |
| + # Some ARM platforms use a mixed-endian representation for doubles. |
| + # While Python doesn't currently have full support for these platforms |
| + # (see e.g., issue 1762561), we can at least make sure that float <-> string |
| + # conversions work. |
| + # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big |
| + # or little, then it must be this? |
| + AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1, |
| + [Define if C doubles are 64-bit IEEE 754 binary format, stored |
| + in ARM mixed-endian order (byte order 45670123)]) |
| +fi |
| + |
| +# The short float repr introduced in Python 3.1 requires the |
| +# correctly-rounded string <-> double conversion functions from |
| +# Python/dtoa.c, which in turn require that the FPU uses 53-bit |
| +# rounding; this is a problem on x86, where the x87 FPU has a default |
| +# rounding precision of 64 bits. For gcc/x86, we can fix this by |
| +# using inline assembler to get and set the x87 FPU control word. |
| + |
| +# This inline assembler syntax may also work for suncc and icc, |
| +# so we try it on all platforms. |
| + |
| +AC_MSG_CHECKING(whether we can use gcc inline assembler to get and set x87 control word) |
| +AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[ |
| + unsigned short cw; |
| + __asm__ __volatile__ ("fnstcw %0" : "=m" (cw)); |
| + __asm__ __volatile__ ("fldcw %0" : : "m" (cw)); |
| +]])],[have_gcc_asm_for_x87=yes],[have_gcc_asm_for_x87=no]) |
| +AC_MSG_RESULT($have_gcc_asm_for_x87) |
| +if test "$have_gcc_asm_for_x87" = yes |
| +then |
| + AC_DEFINE(HAVE_GCC_ASM_FOR_X87, 1, |
| + [Define if we can use gcc inline assembler to get and set x87 control word]) |
| +fi |
| + |
| +AC_MSG_CHECKING(whether we can use gcc inline assembler to get and set mc68881 fpcr) |
| +AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[ |
| + unsigned int fpcr; |
| + __asm__ __volatile__ ("fmove.l %%fpcr,%0" : "=g" (fpcr)); |
| + __asm__ __volatile__ ("fmove.l %0,%%fpcr" : : "g" (fpcr)); |
| +]])],[have_gcc_asm_for_mc68881=yes],[have_gcc_asm_for_mc68881=no]) |
| +AC_MSG_RESULT($have_gcc_asm_for_mc68881) |
| +if test "$have_gcc_asm_for_mc68881" = yes |
| +then |
| + AC_DEFINE(HAVE_GCC_ASM_FOR_MC68881, 1, |
| + [Define if we can use gcc inline assembler to get and set mc68881 fpcr]) |
| +fi |
| + |
| +# Detect whether system arithmetic is subject to x87-style double |
| +# rounding issues. The result of this test has little meaning on non |
| +# IEEE 754 platforms. On IEEE 754, test should return 1 if rounding |
| +# mode is round-to-nearest and double rounding issues are present, and |
| +# 0 otherwise. See https://github.com/python/cpython/issues/47186 for more info. |
| +AC_MSG_CHECKING(for x87-style double rounding) |
| +# $BASECFLAGS may affect the result |
| +ac_save_cc="$CC" |
| +CC="$CC $BASECFLAGS" |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdlib.h> |
| +#include <math.h> |
| +int main() { |
| + volatile double x, y, z; |
| + /* 1./(1-2**-53) -> 1+2**-52 (correct), 1.0 (double rounding) */ |
| + x = 0.99999999999999989; /* 1-2**-53 */ |
| + y = 1./x; |
| + if (y != 1.) |
| + exit(0); |
| + /* 1e16+2.99999 -> 1e16+2. (correct), 1e16+4. (double rounding) */ |
| + x = 1e16; |
| + y = 2.99999; |
| + z = x + y; |
| + if (z != 1e16+4.) |
| + exit(0); |
| + /* both tests show evidence of double rounding */ |
| + exit(1); |
| +} |
| +]])], |
| +[ac_cv_x87_double_rounding=no], |
| +[ac_cv_x87_double_rounding=yes], |
| +[ac_cv_x87_double_rounding=no]) |
| +CC="$ac_save_cc" |
| +AC_MSG_RESULT($ac_cv_x87_double_rounding) |
| +if test "$ac_cv_x87_double_rounding" = yes |
| +then |
| + AC_DEFINE(X87_DOUBLE_ROUNDING, 1, |
| + [Define if arithmetic is subject to x87-style double rounding issue]) |
| +fi |
| + |
| +# ************************************ |
| +# * Check for mathematical functions * |
| +# ************************************ |
| + |
| +LIBS_SAVE=$LIBS |
| +LIBS="$LIBS $LIBM" |
| + |
| +AC_CHECK_FUNCS([acosh asinh atanh copysign erf erfc expm1 finite gamma]) |
| +AC_CHECK_FUNCS([hypot lgamma log1p log2 round tgamma]) |
| +AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include <math.h>]]) |
| + |
| +# For multiprocessing module, check that sem_open |
| +# actually works. For FreeBSD versions <= 7.2, |
| +# the kernel module that provides POSIX semaphores |
| +# isn't loaded by default, so an attempt to call |
| +# sem_open results in a 'Signal 12' error. |
| +AC_MSG_CHECKING(whether POSIX semaphores are enabled) |
| +AC_CACHE_VAL(ac_cv_posix_semaphores_enabled, |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <unistd.h> |
| +#include <fcntl.h> |
| +#include <stdio.h> |
| +#include <semaphore.h> |
| +#include <sys/stat.h> |
| + |
| +int main(void) { |
| + sem_t *a = sem_open("/autoconf", O_CREAT, S_IRUSR|S_IWUSR, 0); |
| + if (a == SEM_FAILED) { |
| + perror("sem_open"); |
| + return 1; |
| + } |
| + sem_close(a); |
| + sem_unlink("/autoconf"); |
| + return 0; |
| +} |
| +]])], |
| +[ac_cv_posix_semaphores_enabled=yes], |
| +[ac_cv_posix_semaphores_enabled=no], |
| +[ac_cv_posix_semaphores_enabled=yes]) |
| +) |
| +AC_MSG_RESULT($ac_cv_posix_semaphores_enabled) |
| +if test $ac_cv_posix_semaphores_enabled = no |
| +then |
| + AC_DEFINE(POSIX_SEMAPHORES_NOT_ENABLED, 1, |
| + [Define if POSIX semaphores aren't enabled on your system]) |
| +fi |
| + |
| +# Multiprocessing check for broken sem_getvalue |
| +AC_MSG_CHECKING(for broken sem_getvalue) |
| +AC_CACHE_VAL(ac_cv_broken_sem_getvalue, |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <unistd.h> |
| +#include <fcntl.h> |
| +#include <stdio.h> |
| +#include <semaphore.h> |
| +#include <sys/stat.h> |
| + |
| +int main(void){ |
| + sem_t *a = sem_open("/autocftw", O_CREAT, S_IRUSR|S_IWUSR, 0); |
| + int count; |
| + int res; |
| + if(a==SEM_FAILED){ |
| + perror("sem_open"); |
| + return 1; |
| + |
| + } |
| + res = sem_getvalue(a, &count); |
| + sem_close(a); |
| + sem_unlink("/autocftw"); |
| + return res==-1 ? 1 : 0; |
| +} |
| +]])], |
| +[ac_cv_broken_sem_getvalue=no], |
| +[ac_cv_broken_sem_getvalue=yes], |
| +[ac_cv_broken_sem_getvalue=yes]) |
| +) |
| +AC_MSG_RESULT($ac_cv_broken_sem_getvalue) |
| +if test $ac_cv_broken_sem_getvalue = yes |
| +then |
| + AC_DEFINE(HAVE_BROKEN_SEM_GETVALUE, 1, |
| + [define to 1 if your sem_getvalue is broken.]) |
| +fi |
| + |
| +AC_CHECK_DECLS([RTLD_LAZY, RTLD_NOW, RTLD_GLOBAL, RTLD_LOCAL, RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND, RTLD_MEMBER], [], [], [[#include <dlfcn.h>]]) |
| + |
| +# determine what size digit to use for Python's longs |
| +AC_MSG_CHECKING([digit size for Python's longs]) |
| +AC_ARG_ENABLE(big-digits, |
| +AS_HELP_STRING([--enable-big-digits@<:@=15|30@:>@],[use big digits (30 or 15 bits) for Python longs (default is system-dependent)]]), |
| +[case $enable_big_digits in |
| +yes) |
| + enable_big_digits=30 ;; |
| +no) |
| + enable_big_digits=15 ;; |
| +[15|30]) |
| + ;; |
| +*) |
| + AC_MSG_ERROR([bad value $enable_big_digits for --enable-big-digits; value should be 15 or 30]) ;; |
| +esac |
| +AC_MSG_RESULT($enable_big_digits) |
| +AC_DEFINE_UNQUOTED(PYLONG_BITS_IN_DIGIT, $enable_big_digits, [Define as the preferred size in bits of long digits]) |
| +], |
| +[AC_MSG_RESULT(no value specified)]) |
| + |
| +# check for wchar.h |
| +AC_CHECK_HEADER(wchar.h, [ |
| + AC_DEFINE(HAVE_WCHAR_H, 1, |
| + [Define if the compiler provides a wchar.h header file.]) |
| + wchar_h="yes" |
| +], |
| +wchar_h="no" |
| +) |
| + |
| +# determine wchar_t size |
| +if test "$wchar_h" = yes |
| +then |
| + AC_CHECK_SIZEOF(wchar_t, 4, [#include <wchar.h>]) |
| +fi |
| + |
| +AC_MSG_CHECKING(for UCS-4 tcl) |
| +have_ucs4_tcl=no |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <tcl.h> |
| +#if TCL_UTF_MAX != 6 |
| +# error "NOT UCS4_TCL" |
| +#endif]], [[]])],[ |
| + AC_DEFINE(HAVE_UCS4_TCL, 1, [Define this if you have tcl and TCL_UTF_MAX==6]) |
| + have_ucs4_tcl=yes |
| +],[]) |
| +AC_MSG_RESULT($have_ucs4_tcl) |
| + |
| +# check whether wchar_t is signed or not |
| +if test "$wchar_h" = yes |
| +then |
| + # check whether wchar_t is signed or not |
| + AC_MSG_CHECKING(whether wchar_t is signed) |
| + AC_CACHE_VAL(ac_cv_wchar_t_signed, [ |
| + AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| + #include <wchar.h> |
| + int main() |
| + { |
| + /* Success: exit code 0 */ |
| + return ((((wchar_t) -1) < ((wchar_t) 0)) ? 0 : 1); |
| + } |
| + ]])], |
| + [ac_cv_wchar_t_signed=yes], |
| + [ac_cv_wchar_t_signed=no], |
| + [ac_cv_wchar_t_signed=yes])]) |
| + AC_MSG_RESULT($ac_cv_wchar_t_signed) |
| +fi |
| + |
| +AC_MSG_CHECKING(whether wchar_t is usable) |
| +# wchar_t is only usable if it maps to an unsigned type |
| +if test "$ac_cv_sizeof_wchar_t" -ge 2 \ |
| + -a "$ac_cv_wchar_t_signed" = "no" |
| +then |
| + AC_DEFINE(HAVE_USABLE_WCHAR_T, 1, |
| + [Define if you have a useable wchar_t type defined in wchar.h; useable |
| + means wchar_t must be an unsigned type with at least 16 bits. (see |
| + Include/unicodeobject.h).]) |
| + AC_MSG_RESULT(yes) |
| +else |
| + AC_MSG_RESULT(no) |
| +fi |
| + |
| +case $ac_sys_system/$ac_sys_release in |
| +SunOS/*) |
| + if test -f /etc/os-release; then |
| + OS_NAME=$(awk -F= '/^NAME=/ {print substr($2,2,length($2)-2)}' /etc/os-release) |
| + if test "x$OS_NAME" = "xOracle Solaris"; then |
| + # bpo-43667: In Oracle Solaris, the internal form of wchar_t in |
| + # non-Unicode locales is not Unicode and hence cannot be used directly. |
| + # https://docs.oracle.com/cd/E37838_01/html/E61053/gmwke.html |
| + AC_DEFINE(HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION, 1, |
| + [Define if the internal form of wchar_t in non-Unicode locales |
| + is not Unicode.]) |
| + fi |
| + fi |
| + ;; |
| +esac |
| + |
| +# check for endianness |
| +AC_C_BIGENDIAN |
| + |
| +# ABI version string for Python extension modules. This appears between the |
| +# periods in shared library file names, e.g. foo.<SOABI>.so. It is calculated |
| +# from the following attributes which affect the ABI of this Python build (in |
| +# this order): |
| +# |
| +# * The Python implementation (always 'cpython-' for us) |
| +# * The major and minor version numbers |
| +# * --with-pydebug (adds a 'd') |
| +# |
| +# Thus for example, Python 3.2 built with wide unicode, pydebug, and pymalloc, |
| +# would get a shared library ABI version tag of 'cpython-32dmu' and shared |
| +# libraries would be named 'foo.cpython-32dmu.so'. |
| +# |
| +# In Python 3.2 and older, --with-wide-unicode added a 'u' flag. |
| +# In Python 3.7 and older, --with-pymalloc added a 'm' flag. |
| +AC_SUBST(SOABI) |
| +AC_MSG_CHECKING(ABIFLAGS) |
| +AC_MSG_RESULT($ABIFLAGS) |
| +AC_MSG_CHECKING(SOABI) |
| +SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} |
| +AC_MSG_RESULT($SOABI) |
| + |
| +# Release and debug (Py_DEBUG) ABI are compatible, but not Py_TRACE_REFS ABI |
| +if test "$Py_DEBUG" = 'true' -a "$with_trace_refs" != "yes"; then |
| + # Similar to SOABI but remove "d" flag from ABIFLAGS |
| + AC_SUBST(ALT_SOABI) |
| + ALT_SOABI='cpython-'`echo $VERSION | tr -d .``echo $ABIFLAGS | tr -d d`${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} |
| + AC_DEFINE_UNQUOTED(ALT_SOABI, "${ALT_SOABI}", |
| + [Alternative SOABI used in debug build to load C extensions built in release mode]) |
| +fi |
| + |
| +AC_SUBST(EXT_SUFFIX) |
| +EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX} |
| + |
| +AC_MSG_CHECKING(LDVERSION) |
| +LDVERSION='$(VERSION)$(ABIFLAGS)' |
| +AC_MSG_RESULT($LDVERSION) |
| + |
| +# On Android and Cygwin the shared libraries must be linked with libpython. |
| +AC_SUBST(LIBPYTHON) |
| +if test -n "$ANDROID_API_LEVEL" -o "$MACHDEP" = "cygwin"; then |
| + LIBPYTHON="-lpython${VERSION}${ABIFLAGS}" |
| +else |
| + LIBPYTHON='' |
| +fi |
| + |
| + |
| +AC_SUBST(BINLIBDEST) |
| +BINLIBDEST='$(LIBDIR)/python$(VERSION)' |
| + |
| + |
| +# Check for --with-platlibdir |
| +# /usr/$LIDIRNAME/python$VERSION |
| +AC_SUBST(PLATLIBDIR) |
| +PLATLIBDIR="lib" |
| +AC_MSG_CHECKING(for --with-platlibdir) |
| +AC_ARG_WITH(platlibdir, |
| + AS_HELP_STRING([--with-platlibdir=DIRNAME], |
| + [Python library directory name (default is "lib")]), |
| +[ |
| +# ignore 3 options: |
| +# --with-platlibdir |
| +# --with-platlibdir= |
| +# --without-platlibdir |
| +if test -n "$withval" -a "$withval" != yes -a "$withval" != no |
| +then |
| + AC_MSG_RESULT(yes) |
| + PLATLIBDIR="$withval" |
| + BINLIBDEST='${exec_prefix}/${PLATLIBDIR}/python$(VERSION)' |
| +else |
| + AC_MSG_RESULT(no) |
| +fi], |
| +[AC_MSG_RESULT(no)]) |
| + |
| + |
| +dnl define LIBPL after ABIFLAGS and LDVERSION is defined. |
| +AC_SUBST(PY_ENABLE_SHARED) |
| +if test x$PLATFORM_TRIPLET = x; then |
| + LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}" |
| +else |
| + LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" |
| +fi |
| +AC_SUBST(LIBPL) |
| + |
| +# Check for --with-wheel-pkg-dir=PATH |
| +AC_SUBST(WHEEL_PKG_DIR) |
| +WHEEL_PKG_DIR="" |
| +AC_MSG_CHECKING(for --with-wheel-pkg-dir) |
| +AC_ARG_WITH(wheel-pkg-dir, |
| + AS_HELP_STRING([--with-wheel-pkg-dir=PATH], |
| + [Directory of wheel packages used by ensurepip (default: none)]), |
| +[ |
| +if test -n "$withval"; then |
| + AC_MSG_RESULT(yes) |
| + WHEEL_PKG_DIR="$withval" |
| +else |
| + AC_MSG_RESULT(no) |
| +fi], |
| +[AC_MSG_RESULT(no)]) |
| + |
| +# Check whether right shifting a negative integer extends the sign bit |
| +# or fills with zeros (like the Cray J90, according to Tim Peters). |
| +AC_MSG_CHECKING(whether right shift extends the sign bit) |
| +AC_CACHE_VAL(ac_cv_rshift_extends_sign, [ |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +int main() |
| +{ |
| + return (((-1)>>3 == -1) ? 0 : 1); |
| +} |
| +]])], |
| +[ac_cv_rshift_extends_sign=yes], |
| +[ac_cv_rshift_extends_sign=no], |
| +[ac_cv_rshift_extends_sign=yes])]) |
| +AC_MSG_RESULT($ac_cv_rshift_extends_sign) |
| +if test "$ac_cv_rshift_extends_sign" = no |
| +then |
| + AC_DEFINE(SIGNED_RIGHT_SHIFT_ZERO_FILLS, 1, |
| + [Define if i>>j for signed int i does not extend the sign bit |
| + when i < 0]) |
| +fi |
| + |
| +# check for getc_unlocked and related locking functions |
| +AC_MSG_CHECKING(for getc_unlocked() and friends) |
| +AC_CACHE_VAL(ac_cv_have_getc_unlocked, [ |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[ |
| + FILE *f = fopen("/dev/null", "r"); |
| + flockfile(f); |
| + getc_unlocked(f); |
| + funlockfile(f); |
| +]])],[ac_cv_have_getc_unlocked=yes],[ac_cv_have_getc_unlocked=no])]) |
| +AC_MSG_RESULT($ac_cv_have_getc_unlocked) |
| +if test "$ac_cv_have_getc_unlocked" = yes |
| +then |
| + AC_DEFINE(HAVE_GETC_UNLOCKED, 1, |
| + [Define this if you have flockfile(), getc_unlocked(), and funlockfile()]) |
| +fi |
| + |
| +AC_ARG_WITH([readline], |
| + [AS_HELP_STRING([--with(out)-readline@<:@=editline@:>@], |
| + [use Editline for backend or disable readline module])], |
| + [], |
| + [with_readline=yes]) |
| + |
| +# check where readline lives |
| +py_cv_lib_readline=no |
| +# save the value of LIBS so we don't actually link Python with readline |
| +LIBS_no_readline=$LIBS |
| + |
| +if test "$with_readline" != no; then |
| + case "$with_readline" in |
| + editline|edit) |
| + LIBREADLINE=edit |
| + AC_DEFINE(WITH_EDITLINE, 1, |
| + [Define to build the readline module against Editline.]) |
| + ;; |
| + yes|readline) |
| + LIBREADLINE=readline |
| + ;; |
| + *) |
| + AC_MSG_ERROR([proper usage is --with(out)-readline@<:@=editline@:>@]) |
| + ;; |
| + esac |
| + |
| + # On some systems we need to link readline to a termcap compatible |
| + # library. NOTE: Keep the precedence of listed libraries synchronised |
| + # with setup.py. |
| + AC_MSG_CHECKING([how to link readline libs]) |
| + for py_libtermcap in "" tinfo ncursesw ncurses curses termcap; do |
| + if test -z "$py_libtermcap"; then |
| + READLINE_LIBS="-l$LIBREADLINE" |
| + else |
| + READLINE_LIBS="-l$LIBREADLINE -l$py_libtermcap" |
| + fi |
| + LIBS="$READLINE_LIBS $LIBS_no_readline" |
| + AC_LINK_IFELSE( |
| + [AC_LANG_CALL([],[readline])], |
| + [py_cv_lib_readline=yes]) |
| + if test $py_cv_lib_readline = yes; then |
| + break |
| + fi |
| + done |
| + |
| + # Uncomment this line if you want to use READLINE_LIBS in Makefile or scripts |
| + #AC_SUBST([READLINE_LIBS]) |
| + if test $py_cv_lib_readline = no; then |
| + AC_MSG_RESULT([none]) |
| + else |
| + AC_MSG_RESULT([$READLINE_LIBS]) |
| + AC_DEFINE(HAVE_LIBREADLINE, 1, |
| + [Define to build the readline module.]) |
| + fi |
| +fi |
| + |
| +if test "$py_cv_lib_readline" = yes; then |
| + # check for readline 2.2 |
| + AC_CHECK_DECL(rl_completion_append_character, |
| + AC_DEFINE(HAVE_RL_COMPLETION_APPEND_CHARACTER, 1, |
| + [Define if you have readline 2.2]),, |
| + [ |
| +#include <stdio.h> /* Must be first for Gnu Readline */ |
| +#ifdef WITH_EDITLINE |
| +# include <editline/readline.h> |
| +#else |
| +# include <readline/readline.h> |
| +#endif |
| + ]) |
| + AC_CHECK_DECL(rl_completion_suppress_append, |
| + AC_DEFINE(HAVE_RL_COMPLETION_SUPPRESS_APPEND, 1, |
| + [Define if you have rl_completion_suppress_append]),, |
| + [ |
| +#include <stdio.h> /* Must be first for Gnu Readline */ |
| +#ifdef WITH_EDITLINE |
| +# include <editline/readline.h> |
| +#else |
| +# include <readline/readline.h> |
| +#endif |
| + ]) |
| + |
| + # check for readline 4.0 |
| + AC_CHECK_LIB($LIBREADLINE, rl_pre_input_hook, |
| + AC_DEFINE(HAVE_RL_PRE_INPUT_HOOK, 1, |
| + [Define if you have readline 4.0]),,$READLINE_LIBS) |
| + |
| + # also in 4.0 |
| + AC_CHECK_LIB($LIBREADLINE, rl_completion_display_matches_hook, |
| + AC_DEFINE(HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK, 1, |
| + [Define if you have readline 4.0]),,$READLINE_LIBS) |
| + |
| + # also in 4.0, but not in editline |
| + AC_CHECK_LIB($LIBREADLINE, rl_resize_terminal, |
| + AC_DEFINE(HAVE_RL_RESIZE_TERMINAL, 1, |
| + [Define if you have readline 4.0]),,$READLINE_LIBS) |
| + |
| + # check for readline 4.2 |
| + AC_CHECK_LIB($LIBREADLINE, rl_completion_matches, |
| + AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1, |
| + [Define if you have readline 4.2]),,$READLINE_LIBS) |
| + |
| + # also in readline 4.2 |
| + AC_CHECK_DECL(rl_catch_signals, |
| + AC_DEFINE(HAVE_RL_CATCH_SIGNAL, 1, |
| + [Define if you can turn off readline's signal handling.]),, |
| + [ |
| +#include <stdio.h> /* Must be first for Gnu Readline */ |
| +#ifdef WITH_EDITLINE |
| +# include <editline/readline.h> |
| +#else |
| +# include <readline/readline.h> |
| +#endif |
| + ]) |
| + |
| + AC_CHECK_LIB($LIBREADLINE, append_history, |
| + AC_DEFINE(HAVE_RL_APPEND_HISTORY, 1, |
| + [Define if readline supports append_history]),,$READLINE_LIBS) |
| +fi |
| + |
| +# End of readline checks: restore LIBS |
| +LIBS=$LIBS_no_readline |
| + |
| +AC_MSG_CHECKING(for broken nice()) |
| +AC_CACHE_VAL(ac_cv_broken_nice, [ |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdlib.h> |
| +#include <unistd.h> |
| +int main() |
| +{ |
| + int val1 = nice(1); |
| + if (val1 != -1 && val1 == nice(2)) |
| + exit(0); |
| + exit(1); |
| +} |
| +]])], |
| +[ac_cv_broken_nice=yes], |
| +[ac_cv_broken_nice=no], |
| +[ac_cv_broken_nice=no])]) |
| +AC_MSG_RESULT($ac_cv_broken_nice) |
| +if test "$ac_cv_broken_nice" = yes |
| +then |
| + AC_DEFINE(HAVE_BROKEN_NICE, 1, |
| + [Define if nice() returns success/failure instead of the new priority.]) |
| +fi |
| + |
| +AC_MSG_CHECKING(for broken poll()) |
| +AC_CACHE_VAL(ac_cv_broken_poll, |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <poll.h> |
| +#include <unistd.h> |
| + |
| +int main() |
| +{ |
| + struct pollfd poll_struct = { 42, POLLIN|POLLPRI|POLLOUT, 0 }; |
| + int poll_test; |
| + |
| + close (42); |
| + |
| + poll_test = poll(&poll_struct, 1, 0); |
| + if (poll_test < 0) |
| + return 0; |
| + else if (poll_test == 0 && poll_struct.revents != POLLNVAL) |
| + return 0; |
| + else |
| + return 1; |
| +} |
| +]])], |
| +[ac_cv_broken_poll=yes], |
| +[ac_cv_broken_poll=no], |
| +[ac_cv_broken_poll=no])) |
| +AC_MSG_RESULT($ac_cv_broken_poll) |
| +if test "$ac_cv_broken_poll" = yes |
| +then |
| + AC_DEFINE(HAVE_BROKEN_POLL, 1, |
| + [Define if poll() sets errno on invalid file descriptors.]) |
| +fi |
| + |
| +# check tzset(3) exists and works like we expect it to |
| +AC_MSG_CHECKING(for working tzset()) |
| +AC_CACHE_VAL(ac_cv_working_tzset, [ |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdlib.h> |
| +#include <time.h> |
| +#include <string.h> |
| + |
| +#if HAVE_TZNAME |
| +extern char *tzname[]; |
| +#endif |
| + |
| +int main() |
| +{ |
| + /* Note that we need to ensure that not only does tzset(3) |
| + do 'something' with localtime, but it works as documented |
| + in the library reference and as expected by the test suite. |
| + This includes making sure that tzname is set properly if |
| + tm->tm_zone does not exist since it is the alternative way |
| + of getting timezone info. |
| + |
| + Red Hat 6.2 doesn't understand the southern hemisphere |
| + after New Year's Day. |
| + */ |
| + |
| + time_t groundhogday = 1044144000; /* GMT-based */ |
| + time_t midyear = groundhogday + (365 * 24 * 3600 / 2); |
| + |
| + putenv("TZ=UTC+0"); |
| + tzset(); |
| + if (localtime(&groundhogday)->tm_hour != 0) |
| + exit(1); |
| +#if HAVE_TZNAME |
| + /* For UTC, tzname[1] is sometimes "", sometimes " " */ |
| + if (strcmp(tzname[0], "UTC") || |
| + (tzname[1][0] != 0 && tzname[1][0] != ' ')) |
| + exit(1); |
| +#endif |
| + |
| + putenv("TZ=EST+5EDT,M4.1.0,M10.5.0"); |
| + tzset(); |
| + if (localtime(&groundhogday)->tm_hour != 19) |
| + exit(1); |
| +#if HAVE_TZNAME |
| + if (strcmp(tzname[0], "EST") || strcmp(tzname[1], "EDT")) |
| + exit(1); |
| +#endif |
| + |
| + putenv("TZ=AEST-10AEDT-11,M10.5.0,M3.5.0"); |
| + tzset(); |
| + if (localtime(&groundhogday)->tm_hour != 11) |
| + exit(1); |
| +#if HAVE_TZNAME |
| + if (strcmp(tzname[0], "AEST") || strcmp(tzname[1], "AEDT")) |
| + exit(1); |
| +#endif |
| + |
| +#if HAVE_STRUCT_TM_TM_ZONE |
| + if (strcmp(localtime(&groundhogday)->tm_zone, "AEDT")) |
| + exit(1); |
| + if (strcmp(localtime(&midyear)->tm_zone, "AEST")) |
| + exit(1); |
| +#endif |
| + |
| + exit(0); |
| +} |
| +]])], |
| +[ac_cv_working_tzset=yes], |
| +[ac_cv_working_tzset=no], |
| +[ac_cv_working_tzset=no])]) |
| +AC_MSG_RESULT($ac_cv_working_tzset) |
| +if test "$ac_cv_working_tzset" = yes |
| +then |
| + AC_DEFINE(HAVE_WORKING_TZSET, 1, |
| + [Define if tzset() actually switches the local timezone in a meaningful way.]) |
| +fi |
| + |
| +# Look for subsecond timestamps in struct stat |
| +AC_MSG_CHECKING(for tv_nsec in struct stat) |
| +AC_CACHE_VAL(ac_cv_stat_tv_nsec, |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[ |
| +struct stat st; |
| +st.st_mtim.tv_nsec = 1; |
| +]])], |
| +[ac_cv_stat_tv_nsec=yes], |
| +[ac_cv_stat_tv_nsec=no])) |
| +AC_MSG_RESULT($ac_cv_stat_tv_nsec) |
| +if test "$ac_cv_stat_tv_nsec" = yes |
| +then |
| + AC_DEFINE(HAVE_STAT_TV_NSEC, 1, |
| + [Define if you have struct stat.st_mtim.tv_nsec]) |
| +fi |
| + |
| +# Look for BSD style subsecond timestamps in struct stat |
| +AC_MSG_CHECKING(for tv_nsec2 in struct stat) |
| +AC_CACHE_VAL(ac_cv_stat_tv_nsec2, |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[ |
| +struct stat st; |
| +st.st_mtimespec.tv_nsec = 1; |
| +]])], |
| +[ac_cv_stat_tv_nsec2=yes], |
| +[ac_cv_stat_tv_nsec2=no])) |
| +AC_MSG_RESULT($ac_cv_stat_tv_nsec2) |
| +if test "$ac_cv_stat_tv_nsec2" = yes |
| +then |
| + AC_DEFINE(HAVE_STAT_TV_NSEC2, 1, |
| + [Define if you have struct stat.st_mtimensec]) |
| +fi |
| + |
| +# first curses header check |
| +ac_save_cppflags="$CPPFLAGS" |
| +if test "$cross_compiling" = no; then |
| + CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" |
| +fi |
| + |
| +AC_CHECK_HEADERS(curses.h ncurses.h) |
| + |
| +# On Solaris, term.h requires curses.h |
| +AC_CHECK_HEADERS(term.h,,,[ |
| +#ifdef HAVE_CURSES_H |
| +#include <curses.h> |
| +#endif |
| +]) |
| + |
| +# On HP/UX 11.0, mvwdelch is a block with a return statement |
| +AC_MSG_CHECKING(whether mvwdelch is an expression) |
| +AC_CACHE_VAL(ac_cv_mvwdelch_is_expression, |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| + int rtn; |
| + rtn = mvwdelch(0,0,0); |
| +]])], |
| +[ac_cv_mvwdelch_is_expression=yes], |
| +[ac_cv_mvwdelch_is_expression=no])) |
| +AC_MSG_RESULT($ac_cv_mvwdelch_is_expression) |
| + |
| +if test "$ac_cv_mvwdelch_is_expression" = yes |
| +then |
| + AC_DEFINE(MVWDELCH_IS_EXPRESSION, 1, |
| + [Define if mvwdelch in curses.h is an expression.]) |
| +fi |
| + |
| +# Issue #25720: ncurses has introduced the NCURSES_OPAQUE symbol making opaque |
| +# structs since version 5.7. If the macro is defined as zero before including |
| +# [n]curses.h, ncurses will expose fields of the structs regardless of the |
| +# configuration. |
| +AC_MSG_CHECKING(whether WINDOW has _flags) |
| +AC_CACHE_VAL(ac_cv_window_has_flags, |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| + #define NCURSES_OPAQUE 0 |
| + #include <curses.h> |
| +]], [[ |
| + WINDOW *w; |
| + w->_flags = 0; |
| +]])], |
| +[ac_cv_window_has_flags=yes], |
| +[ac_cv_window_has_flags=no])) |
| +AC_MSG_RESULT($ac_cv_window_has_flags) |
| + |
| + |
| +if test "$ac_cv_window_has_flags" = yes |
| +then |
| + AC_DEFINE(WINDOW_HAS_FLAGS, 1, |
| + [Define if WINDOW in curses.h offers a field _flags.]) |
| +fi |
| + |
| +AC_MSG_CHECKING(for is_pad) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef is_pad |
| +void *x=is_pad |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_IS_PAD, 1, Define if you have the 'is_pad' function or macro.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for is_term_resized) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[void *x=is_term_resized]])], |
| + [AC_DEFINE(HAVE_CURSES_IS_TERM_RESIZED, 1, Define if you have the 'is_term_resized' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for resize_term) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[void *x=resize_term]])], |
| + [AC_DEFINE(HAVE_CURSES_RESIZE_TERM, 1, Define if you have the 'resize_term' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for resizeterm) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[void *x=resizeterm]])], |
| + [AC_DEFINE(HAVE_CURSES_RESIZETERM, 1, Define if you have the 'resizeterm' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for immedok) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef immedok |
| +void *x=immedok |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_IMMEDOK, 1, Define if you have the 'immedok' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for syncok) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef syncok |
| +void *x=syncok |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_SYNCOK, 1, Define if you have the 'syncok' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for wchgat) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef wchgat |
| +void *x=wchgat |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_WCHGAT, 1, Define if you have the 'wchgat' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for filter) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef filter |
| +void *x=filter |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_FILTER, 1, Define if you have the 'filter' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for has_key) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef has_key |
| +void *x=has_key |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_HAS_KEY, 1, Define if you have the 'has_key' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for typeahead) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef typeahead |
| +void *x=typeahead |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_TYPEAHEAD, 1, Define if you have the 'typeahead' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| + |
| +AC_MSG_CHECKING(for use_env) |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[ |
| +#ifndef use_env |
| +void *x=use_env |
| +#endif |
| +]])], |
| + [AC_DEFINE(HAVE_CURSES_USE_ENV, 1, Define if you have the 'use_env' function.) |
| + AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)] |
| +) |
| +# last curses configure check |
| +CPPFLAGS=$ac_save_cppflags |
| + |
| +AC_MSG_NOTICE([checking for device files]) |
| + |
| +dnl NOTE: Inform user how to proceed with files when cross compiling. |
| +if test "x$cross_compiling" = xyes; then |
| + if test "${ac_cv_file__dev_ptmx+set}" != set; then |
| + AC_MSG_CHECKING([for /dev/ptmx]) |
| + AC_MSG_RESULT([not set]) |
| + AC_MSG_ERROR([set ac_cv_file__dev_ptmx to yes/no in your CONFIG_SITE file when cross compiling]) |
| + fi |
| + if test "${ac_cv_file__dev_ptc+set}" != set; then |
| + AC_MSG_CHECKING([for /dev/ptc]) |
| + AC_MSG_RESULT([not set]) |
| + AC_MSG_ERROR([set ac_cv_file__dev_ptc to yes/no in your CONFIG_SITE file when cross compiling]) |
| + fi |
| +fi |
| + |
| +AC_CHECK_FILE(/dev/ptmx, [], []) |
| +if test "x$ac_cv_file__dev_ptmx" = xyes; then |
| + AC_DEFINE(HAVE_DEV_PTMX, 1, |
| + [Define to 1 if you have the /dev/ptmx device file.]) |
| +fi |
| +AC_CHECK_FILE(/dev/ptc, [], []) |
| +if test "x$ac_cv_file__dev_ptc" = xyes; then |
| + AC_DEFINE(HAVE_DEV_PTC, 1, |
| + [Define to 1 if you have the /dev/ptc device file.]) |
| +fi |
| + |
| +if test $ac_sys_system = Darwin |
| +then |
| + LIBS="$LIBS -framework CoreFoundation" |
| +fi |
| + |
| +AC_CACHE_CHECK([for %zd printf() format support], ac_cv_have_size_t_format, [dnl |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdio.h> |
| +#include <stddef.h> |
| +#include <string.h> |
| + |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| + |
| +#ifdef HAVE_SSIZE_T |
| +typedef ssize_t Py_ssize_t; |
| +#elif SIZEOF_VOID_P == SIZEOF_LONG |
| +typedef long Py_ssize_t; |
| +#else |
| +typedef int Py_ssize_t; |
| +#endif |
| + |
| +int main() |
| +{ |
| + char buffer[256]; |
| + |
| + if(sprintf(buffer, "%zd", (size_t)123) < 0) |
| + return 1; |
| + |
| + if (strcmp(buffer, "123")) |
| + return 1; |
| + |
| + if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0) |
| + return 1; |
| + |
| + if (strcmp(buffer, "-123")) |
| + return 1; |
| + |
| + return 0; |
| +} |
| +]])], |
| + [ac_cv_have_size_t_format=yes], |
| + [ac_cv_have_size_t_format=no], |
| + [ac_cv_have_size_t_format="cross -- assuming yes" |
| +])]) |
| +if test "$ac_cv_have_size_t_format" != no ; then |
| + AC_DEFINE(PY_FORMAT_SIZE_T, "z", |
| + [Define to printf format modifier for Py_ssize_t]) |
| +fi |
| + |
| +AC_CHECK_TYPE(socklen_t,, |
| + AC_DEFINE(socklen_t,int, |
| + [Define to `int' if <sys/socket.h> does not define.]),[ |
| +#ifdef HAVE_SYS_TYPES_H |
| +#include <sys/types.h> |
| +#endif |
| +#ifdef HAVE_SYS_SOCKET_H |
| +#include <sys/socket.h> |
| +#endif |
| +]) |
| + |
| +AC_MSG_CHECKING(for broken mbstowcs) |
| +AC_CACHE_VAL(ac_cv_broken_mbstowcs, |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdio.h> |
| +#include<stdlib.h> |
| +int main() { |
| + size_t len = -1; |
| + const char *str = "text"; |
| + len = mbstowcs(NULL, str, 0); |
| + return (len != 4); |
| +} |
| +]])], |
| +[ac_cv_broken_mbstowcs=no], |
| +[ac_cv_broken_mbstowcs=yes], |
| +[ac_cv_broken_mbstowcs=no])) |
| +AC_MSG_RESULT($ac_cv_broken_mbstowcs) |
| +if test "$ac_cv_broken_mbstowcs" = yes |
| +then |
| + AC_DEFINE(HAVE_BROKEN_MBSTOWCS, 1, |
| + [Define if mbstowcs(NULL, "text", 0) does not return the number of |
| + wide chars that would be converted.]) |
| +fi |
| + |
| +# Check for --with-computed-gotos |
| +AC_MSG_CHECKING(for --with-computed-gotos) |
| +AC_ARG_WITH(computed-gotos, |
| + AS_HELP_STRING([--with-computed-gotos], |
| + [enable computed gotos in evaluation loop (enabled by default on supported compilers)]), |
| +[ |
| +if test "$withval" = yes |
| +then |
| + AC_DEFINE(USE_COMPUTED_GOTOS, 1, |
| + [Define if you want to use computed gotos in ceval.c.]) |
| + AC_MSG_RESULT(yes) |
| +fi |
| +if test "$withval" = no |
| +then |
| + AC_DEFINE(USE_COMPUTED_GOTOS, 0, |
| + [Define if you want to use computed gotos in ceval.c.]) |
| + AC_MSG_RESULT(no) |
| +fi |
| +], |
| +[AC_MSG_RESULT(no value specified)]) |
| + |
| +AC_MSG_CHECKING(whether $CC supports computed gotos) |
| +AC_CACHE_VAL(ac_cv_computed_gotos, |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[[ |
| +int main(int argc, char **argv) |
| +{ |
| + static void *targets[1] = { &&LABEL1 }; |
| + goto LABEL2; |
| +LABEL1: |
| + return 0; |
| +LABEL2: |
| + goto *targets[0]; |
| + return 1; |
| +} |
| +]]])], |
| +[ac_cv_computed_gotos=yes], |
| +[ac_cv_computed_gotos=no], |
| +[if test "${with_computed_gotos+set}" = set; then |
| + ac_cv_computed_gotos="$with_computed_gotos -- configured --with(out)-computed-gotos" |
| + else |
| + ac_cv_computed_gotos=no |
| + fi])) |
| +AC_MSG_RESULT($ac_cv_computed_gotos) |
| +case "$ac_cv_computed_gotos" in yes*) |
| + AC_DEFINE(HAVE_COMPUTED_GOTOS, 1, |
| + [Define if the C compiler supports computed gotos.]) |
| +esac |
| + |
| +case $ac_sys_system in |
| +AIX*) |
| + AC_DEFINE(HAVE_BROKEN_PIPE_BUF, 1, [Define if the system reports an invalid PIPE_BUF value.]) ;; |
| +esac |
| + |
| + |
| +AC_SUBST(THREADHEADERS) |
| + |
| +for h in `(cd $srcdir;echo Python/thread_*.h)` |
| +do |
| + THREADHEADERS="$THREADHEADERS \$(srcdir)/$h" |
| +done |
| + |
| +AC_SUBST(SRCDIRS) |
| +SRCDIRS="Parser Objects Python Modules Modules/_io Programs" |
| +AC_MSG_CHECKING(for build directories) |
| +for dir in $SRCDIRS; do |
| + if test ! -d $dir; then |
| + mkdir $dir |
| + fi |
| +done |
| +AC_MSG_RESULT(done) |
| + |
| +# Availability of -O2: |
| +AC_MSG_CHECKING(for -O2) |
| +saved_cflags="$CFLAGS" |
| +CFLAGS="-O2" |
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ |
| +]])],[have_O2=yes],[have_O2=no]) |
| +AC_MSG_RESULT($have_O2) |
| +CFLAGS="$saved_cflags" |
| + |
| +# _FORTIFY_SOURCE wrappers for memmove and bcopy are incorrect: |
| +# http://sourceware.org/ml/libc-alpha/2010-12/msg00009.html |
| +AC_MSG_CHECKING(for glibc _FORTIFY_SOURCE/memmove bug) |
| +saved_cflags="$CFLAGS" |
| +CFLAGS="-O2 -D_FORTIFY_SOURCE=2" |
| +if test "$have_O2" = no; then |
| + CFLAGS="" |
| +fi |
| +AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| +#include <stdio.h> |
| +#include <stdlib.h> |
| +#include <string.h> |
| +void foo(void *p, void *q) { memmove(p, q, 19); } |
| +int main() { |
| + char a[32] = "123456789000000000"; |
| + foo(&a[9], a); |
| + if (strcmp(a, "123456789123456789000000000") != 0) |
| + return 1; |
| + foo(a, &a[9]); |
| + if (strcmp(a, "123456789000000000") != 0) |
| + return 1; |
| + return 0; |
| +} |
| +]])], |
| +[have_glibc_memmove_bug=no], |
| +[have_glibc_memmove_bug=yes], |
| +[have_glibc_memmove_bug=undefined]) |
| +CFLAGS="$saved_cflags" |
| +AC_MSG_RESULT($have_glibc_memmove_bug) |
| +if test "$have_glibc_memmove_bug" = yes; then |
| + AC_DEFINE(HAVE_GLIBC_MEMMOVE_BUG, 1, |
| + [Define if glibc has incorrect _FORTIFY_SOURCE wrappers |
| + for memmove and bcopy.]) |
| +fi |
| + |
| +if test "$have_gcc_asm_for_x87" = yes; then |
| + # Some versions of gcc miscompile inline asm: |
| + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 |
| + # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html |
| + case $CC in |
| + *gcc*) |
| + AC_MSG_CHECKING(for gcc ipa-pure-const bug) |
| + saved_cflags="$CFLAGS" |
| + CFLAGS="-O2" |
| + AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| + __attribute__((noinline)) int |
| + foo(int *p) { |
| + int r; |
| + asm ( "movl \$6, (%1)\n\t" |
| + "xorl %0, %0\n\t" |
| + : "=r" (r) : "r" (p) : "memory" |
| + ); |
| + return r; |
| + } |
| + int main() { |
| + int p = 8; |
| + if ((foo(&p) ? : p) != 6) |
| + return 1; |
| + return 0; |
| + } |
| + ]])], |
| + [have_ipa_pure_const_bug=no], |
| + [have_ipa_pure_const_bug=yes], |
| + [have_ipa_pure_const_bug=undefined]) |
| + CFLAGS="$saved_cflags" |
| + AC_MSG_RESULT($have_ipa_pure_const_bug) |
| + if test "$have_ipa_pure_const_bug" = yes; then |
| + AC_DEFINE(HAVE_IPA_PURE_CONST_BUG, 1, |
| + [Define if gcc has the ipa-pure-const bug.]) |
| + fi |
| + ;; |
| + esac |
| +fi |
| + |
| +# Check for stdatomic.h |
| +AC_MSG_CHECKING(for stdatomic.h) |
| +AC_LINK_IFELSE( |
| +[ |
| + AC_LANG_SOURCE([[ |
| + #include <stdatomic.h> |
| + atomic_int int_var; |
| + atomic_uintptr_t uintptr_var; |
| + int main() { |
| + atomic_store_explicit(&int_var, 5, memory_order_relaxed); |
| + atomic_store_explicit(&uintptr_var, 0, memory_order_relaxed); |
| + int loaded_value = atomic_load_explicit(&int_var, memory_order_seq_cst); |
| + return 0; |
| + } |
| + ]]) |
| +],[have_stdatomic_h=yes],[have_stdatomic_h=no]) |
| + |
| +AC_MSG_RESULT($have_stdatomic_h) |
| + |
| +if test "$have_stdatomic_h" = yes; then |
| + AC_DEFINE(HAVE_STD_ATOMIC, 1, |
| + [Has stdatomic.h with atomic_int and atomic_uintptr_t]) |
| +fi |
| + |
| +# Check for GCC >= 4.7 and clang __atomic builtin functions |
| +AC_MSG_CHECKING(for builtin __atomic_load_n and __atomic_store_n functions) |
| +AC_LINK_IFELSE( |
| +[ |
| + AC_LANG_SOURCE([[ |
| + int val; |
| + int main() { |
| + __atomic_store_n(&val, 1, __ATOMIC_SEQ_CST); |
| + (void)__atomic_load_n(&val, __ATOMIC_SEQ_CST); |
| + return 0; |
| + } |
| + ]]) |
| +],[have_builtin_atomic=yes],[have_builtin_atomic=no]) |
| + |
| +AC_MSG_RESULT($have_builtin_atomic) |
| + |
| +if test "$have_builtin_atomic" = yes; then |
| + AC_DEFINE(HAVE_BUILTIN_ATOMIC, 1, [Has builtin __atomic_load_n() and __atomic_store_n() functions]) |
| +fi |
| + |
| +# ensurepip option |
| +AC_MSG_CHECKING(for ensurepip) |
| +AC_ARG_WITH(ensurepip, |
| + [AS_HELP_STRING([--with-ensurepip@<:@=install|upgrade|no@:>@], |
| + ["install" or "upgrade" using bundled pip (default is upgrade)])], |
| + [], |
| + [with_ensurepip=upgrade]) |
| +AS_CASE($with_ensurepip, |
| + [yes|upgrade],[ENSUREPIP=upgrade], |
| + [install],[ENSUREPIP=install], |
| + [no],[ENSUREPIP=no], |
| + [AC_MSG_ERROR([--with-ensurepip=upgrade|install|no])]) |
| +AC_MSG_RESULT($ENSUREPIP) |
| +AC_SUBST(ENSUREPIP) |
| + |
| +# check if the dirent structure of a d_type field and DT_UNKNOWN is defined |
| +AC_MSG_CHECKING(if the dirent structure of a d_type field) |
| +AC_LINK_IFELSE( |
| +[ |
| + AC_LANG_SOURCE([[ |
| + #include <dirent.h> |
| + |
| + int main() { |
| + struct dirent entry; |
| + return entry.d_type == DT_UNKNOWN; |
| + } |
| + ]]) |
| +],[have_dirent_d_type=yes],[have_dirent_d_type=no]) |
| +AC_MSG_RESULT($have_dirent_d_type) |
| + |
| +if test "$have_dirent_d_type" = yes; then |
| + AC_DEFINE(HAVE_DIRENT_D_TYPE, 1, |
| + [Define to 1 if the dirent structure has a d_type field]) |
| +fi |
| + |
| +# check if the Linux getrandom() syscall is available |
| +AC_MSG_CHECKING(for the Linux getrandom() syscall) |
| +AC_LINK_IFELSE( |
| +[ |
| + AC_LANG_SOURCE([[ |
| + #include <unistd.h> |
| + #include <sys/syscall.h> |
| + #include <linux/random.h> |
| + |
| + int main() { |
| + char buffer[1]; |
| + const size_t buflen = sizeof(buffer); |
| + const int flags = GRND_NONBLOCK; |
| + /* ignore the result, Python checks for ENOSYS and EAGAIN at runtime */ |
| + (void)syscall(SYS_getrandom, buffer, buflen, flags); |
| + return 0; |
| + } |
| + ]]) |
| +],[have_getrandom_syscall=yes],[have_getrandom_syscall=no]) |
| +AC_MSG_RESULT($have_getrandom_syscall) |
| + |
| +if test "$have_getrandom_syscall" = yes; then |
| + AC_DEFINE(HAVE_GETRANDOM_SYSCALL, 1, |
| + [Define to 1 if the Linux getrandom() syscall is available]) |
| +fi |
| + |
| +# check if the getrandom() function is available |
| +# the test was written for the Solaris function of <sys/random.h> |
| +AC_MSG_CHECKING(for the getrandom() function) |
| +AC_LINK_IFELSE( |
| +[ |
| + AC_LANG_SOURCE([[ |
| + #include <sys/random.h> |
| + |
| + int main() { |
| + char buffer[1]; |
| + const size_t buflen = sizeof(buffer); |
| + const int flags = 0; |
| + /* ignore the result, Python checks for ENOSYS at runtime */ |
| + (void)getrandom(buffer, buflen, flags); |
| + return 0; |
| + } |
| + ]]) |
| +],[have_getrandom=yes],[have_getrandom=no]) |
| +AC_MSG_RESULT($have_getrandom) |
| + |
| +if test "$have_getrandom" = yes; then |
| + AC_DEFINE(HAVE_GETRANDOM, 1, |
| + [Define to 1 if the getrandom() function is available]) |
| +fi |
| + |
| +# checks for POSIX shared memory, used by Modules/_multiprocessing/posixshmem.c |
| +# shm_* may only be available if linking against librt |
| +save_LIBS="$LIBS" |
| +save_includes_default="$ac_includes_default" |
| +AC_SEARCH_LIBS(shm_open, rt) |
| +if test "$ac_cv_search_shm_open" = "-lrt"; then |
| + AC_DEFINE(SHM_NEEDS_LIBRT, 1, |
| + [Define to 1 if you must link with -lrt for shm_open().]) |
| +fi |
| +AC_CHECK_HEADERS(sys/mman.h) |
| +# temporarily override ac_includes_default for AC_CHECK_FUNCS below |
| +ac_includes_default="\ |
| +${ac_includes_default} |
| +#ifndef __cplusplus |
| +# ifdef HAVE_SYS_MMAN_H |
| +# include <sys/mman.h> |
| +# endif |
| +#endif |
| +" |
| +AC_CHECK_FUNCS([shm_open shm_unlink]) |
| +# we don't want to link with librt always, restore LIBS |
| +LIBS="$save_LIBS" |
| +ac_includes_default="$save_includes_default" |
| + |
| +# Check for usable OpenSSL |
| +AX_CHECK_OPENSSL([have_openssl=yes],[have_openssl=no]) |
| + |
| +# rpath to libssl and libcrypto |
| +AC_MSG_CHECKING(for --with-openssl-rpath) |
| +AC_ARG_WITH(openssl-rpath, |
| + AS_HELP_STRING([--with-openssl-rpath=@<:@DIR|auto|no@:>@], |
| + [Set runtime library directory (rpath) for OpenSSL libraries, |
| + no (default): don't set rpath, |
| + auto: auto-detect rpath from --with-openssl and pkg-config, |
| + DIR: set an explicit rpath |
| + ]), |
| + [], |
| + [with_openssl_rpath=no] |
| +) |
| +AS_CASE($with_openssl_rpath, |
| + [auto|yes],[OPENSSL_RPATH=auto], |
| + [no],[OPENSSL_RPATH=], |
| + [AS_IF( |
| + [test -d "$with_openssl_rpath"], |
| + [OPENSSL_RPATH="$with_openssl_rpath"], |
| + AC_MSG_ERROR([--with-openssl-rpath "$with_openssl_rpath" is not a directory])) |
| + ] |
| +) |
| +AC_MSG_RESULT($OPENSSL_RPATH) |
| +AC_SUBST([OPENSSL_RPATH]) |
| + |
| +# check if OpenSSL libraries work as expected |
| +AC_MSG_CHECKING(whether OpenSSL provides required APIs) |
| +save_LIBS="$LIBS" |
| +save_CFLAGS="$CFLAGS" |
| +save_LDFLAGS="$LDFLAGS" |
| +LIBS="$LIBS $OPENSSL_LIBS" |
| +CFLAGS="$CFLAGS_NODIST $OPENSSL_INCLUDES" |
| +LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" |
| + |
| +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <openssl/opensslv.h> |
| +#include <openssl/evp.h> |
| +#include <openssl/ssl.h> |
| + |
| +#if OPENSSL_VERSION_NUMBER < 0x10101000L |
| +#error "OpenSSL >= 1.1.1 is required" |
| +#endif |
| + |
| +static void keylog_cb(const SSL *ssl, const char *line) {} |
| +]], [[ |
| +/* SSL APIs */ |
| +SSL_CTX *ctx = SSL_CTX_new(TLS_client_method()); |
| +SSL_CTX_set_keylog_callback(ctx, keylog_cb); |
| +SSL *ssl = SSL_new(ctx); |
| +X509_VERIFY_PARAM *param = SSL_get0_param(ssl); |
| +X509_VERIFY_PARAM_set1_host(param, "python.org", 0); |
| +SSL_free(ssl); |
| +SSL_CTX_free(ctx); |
| + |
| +/* hashlib APIs */ |
| +OBJ_nid2sn(NID_md5); |
| +OBJ_nid2sn(NID_sha1); |
| +OBJ_nid2sn(NID_sha3_512); |
| +OBJ_nid2sn(NID_blake2b512); |
| +EVP_PBE_scrypt(NULL, 0, NULL, 0, 2, 8, 1, 0, NULL, 0); |
| +]])], |
| + [AC_MSG_RESULT(yes)], |
| + [AC_MSG_RESULT(no)]) |
| +LIBS="$save_LIBS" |
| +CFLAGS="$save_CFLAGS" |
| +LDFLAGS="$save_LDFLAGS" |
| + |
| +# ssl module default cipher suite string |
| +AH_TEMPLATE(PY_SSL_DEFAULT_CIPHERS, |
| + [Default cipher suites list for ssl module. |
| + 1: Python's preferred selection, 2: leave OpenSSL defaults untouched, 0: custom string]) |
| +AH_TEMPLATE(PY_SSL_DEFAULT_CIPHER_STRING, |
| + [Cipher suite string for PY_SSL_DEFAULT_CIPHERS=0] |
| +) |
| + |
| +AC_MSG_CHECKING(for --with-ssl-default-suites) |
| +AC_ARG_WITH(ssl-default-suites, |
| + AS_HELP_STRING([--with-ssl-default-suites=@<:@python|openssl|STRING@:>@], |
| + [override default cipher suites string, |
| + python: use Python's preferred selection (default), |
| + openssl: leave OpenSSL's defaults untouched, |
| + STRING: use a custom string, |
| + python and STRING also set TLS 1.2 as minimum TLS version]), |
| +[ |
| +AC_MSG_RESULT($withval) |
| +case "$withval" in |
| + python) |
| + AC_DEFINE(PY_SSL_DEFAULT_CIPHERS, 1) |
| + ;; |
| + openssl) |
| + AC_DEFINE(PY_SSL_DEFAULT_CIPHERS, 2) |
| + ;; |
| + *) |
| + AC_DEFINE(PY_SSL_DEFAULT_CIPHERS, 0) |
| + AC_DEFINE_UNQUOTED(PY_SSL_DEFAULT_CIPHER_STRING, "$withval") |
| + ;; |
| +esac |
| +], |
| +[ |
| +AC_MSG_RESULT(python) |
| +AC_DEFINE(PY_SSL_DEFAULT_CIPHERS, 1) |
| +]) |
| + |
| +# builtin hash modules |
| +default_hashlib_hashes="md5,sha1,sha256,sha512,sha3,blake2" |
| +AC_DEFINE([PY_BUILTIN_HASHLIB_HASHES], [], [enabled builtin hash modules] |
| +) |
| +AC_MSG_CHECKING(for --with-builtin-hashlib-hashes) |
| +AC_ARG_WITH(builtin-hashlib-hashes, |
| + AS_HELP_STRING([--with-builtin-hashlib-hashes=md5,sha1,sha256,sha512,sha3,blake2], |
| + [builtin hash modules, |
| + md5, sha1, sha256, sha512, sha3 (with shake), blake2]), |
| +[ |
| +case "$withval" in |
| + yes) |
| + withval=$default_hashlib_hashes |
| + ;; |
| + no) |
| + withval="" |
| + ;; |
| +esac |
| +AC_MSG_RESULT($withval) |
| +AC_DEFINE_UNQUOTED(PY_BUILTIN_HASHLIB_HASHES, "$withval") |
| +], |
| +[ |
| +AC_MSG_RESULT($default_hashlib_hashes); |
| +AC_DEFINE_UNQUOTED(PY_BUILTIN_HASHLIB_HASHES, "$default_hashlib_hashes") |
| +]) |
| + |
| +# --with-experimental-isolated-subinterpreters |
| +AH_TEMPLATE(EXPERIMENTAL_ISOLATED_SUBINTERPRETERS, |
| + [Better isolate subinterpreters, experimental build mode.]) |
| +AC_MSG_CHECKING(for --with-experimental-isolated-subinterpreters) |
| +AC_ARG_WITH(experimental-isolated-subinterpreters, |
| + AS_HELP_STRING([--with-experimental-isolated-subinterpreters], |
| + [better isolate subinterpreters, experimental build mode (default is no)]), |
| +[ |
| +if test "$withval" != no |
| +then |
| + AC_MSG_RESULT(yes); |
| + AC_DEFINE(EXPERIMENTAL_ISOLATED_SUBINTERPRETERS) |
| +else |
| + AC_MSG_RESULT(no); |
| +fi], |
| +[AC_MSG_RESULT(no)]) |
| + |
| +# --with-static-libpython |
| +STATIC_LIBPYTHON=1 |
| +AC_MSG_CHECKING(for --with-static-libpython) |
| +AC_ARG_WITH(static-libpython, |
| + AS_HELP_STRING([--without-static-libpython], |
| + [do not build libpythonMAJOR.MINOR.a and do not install python.o (default is yes)]), |
| +[ |
| +if test "$withval" = no |
| +then |
| + AC_MSG_RESULT(no); |
| + STATIC_LIBPYTHON=0 |
| +else |
| + AC_MSG_RESULT(yes); |
| +fi], |
| +[AC_MSG_RESULT(yes)]) |
| +LIBRARY_DEPS='$(PY3LIBRARY) $(EXPORTSYMS)' |
| +if test "$PY_ENABLE_SHARED" = 1 || test "$enable_framework" ; then |
| + LIBRARY_DEPS="\$(LDLIBRARY) $LIBRARY_DEPS" |
| + if test "$STATIC_LIBPYTHON" = 1; then |
| + LIBRARY_DEPS="\$(LIBRARY) $LIBRARY_DEPS" |
| + fi |
| +else |
| + LIBRARY_DEPS="\$(LIBRARY) $LIBRARY_DEPS" |
| +fi |
| +AC_SUBST(STATIC_LIBPYTHON) |
| +AC_SUBST(LIBRARY_DEPS) |
| + |
| +# Check whether to disable test modules. Once set, setup.py will not build |
| +# test extension modules and "make install" will not install test suites. |
| +AC_MSG_CHECKING(for --disable-test-modules) |
| +AC_ARG_ENABLE(test-modules, |
| + AS_HELP_STRING([--disable-test-modules], [don't build nor install test modules])) |
| +if test "$enable_test_modules" = no; then |
| + TEST_MODULES=no |
| + AC_MSG_RESULT(yes) |
| +else |
| + TEST_MODULES=yes |
| + AC_MSG_RESULT(no) |
| +fi |
| +AC_SUBST(TEST_MODULES) |
| + |
| + |
| +# generate output files |
| +AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) |
| +AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) |
| +AC_OUTPUT |
| + |
| +echo "creating Modules/Setup.local" >&AS_MESSAGE_FD |
| +if test ! -f Modules/Setup.local |
| +then |
| + echo "# Edit this file for local setup changes" >Modules/Setup.local |
| +fi |
| + |
| +echo "creating Makefile" >&AS_MESSAGE_FD |
| +$SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \ |
| + -s Modules \ |
| + Modules/Setup.local $srcdir/Modules/Setup |
| +mv config.c Modules |
| + |
| +if test "$Py_OPT" = 'false' -a "$Py_DEBUG" != 'true'; then |
| + echo "" >&AS_MESSAGE_FD |
| + echo "" >&AS_MESSAGE_FD |
| + echo "If you want a release build with all stable optimizations active (PGO, etc)," >&AS_MESSAGE_FD |
| + echo "please run ./configure --enable-optimizations" >&AS_MESSAGE_FD |
| + echo "" >&AS_MESSAGE_FD |
| + echo "" >&AS_MESSAGE_FD |
| +fi |
| |
| |
| |
| |
| @@ -0,0 +1,2763 @@ |
| +# Autodetecting setup.py script for building the Python extensions |
| + |
| +import argparse |
| +import importlib._bootstrap |
| +import importlib.machinery |
| +import importlib.util |
| +import logging |
| +import os |
| +import re |
| +import sys |
| +import sysconfig |
| +import warnings |
| +from glob import glob, escape |
| +import _osx_support |
| + |
| + |
| +try: |
| + import subprocess |
| + del subprocess |
| + SUBPROCESS_BOOTSTRAP = False |
| +except ImportError: |
| + # Bootstrap Python: distutils.spawn uses subprocess to build C extensions, |
| + # subprocess requires C extensions built by setup.py like _posixsubprocess. |
| + # |
| + # Use _bootsubprocess which only uses the os module. |
| + # |
| + # It is dropped from sys.modules as soon as all C extension modules |
| + # are built. |
| + import _bootsubprocess |
| + sys.modules['subprocess'] = _bootsubprocess |
| + del _bootsubprocess |
| + SUBPROCESS_BOOTSTRAP = True |
| + |
| + |
| +with warnings.catch_warnings(): |
| + # bpo-41282 (PEP 632) deprecated distutils but setup.py still uses it |
| + warnings.filterwarnings( |
| + "ignore", |
| + "The distutils package is deprecated", |
| + DeprecationWarning |
| + ) |
| + warnings.filterwarnings( |
| + "ignore", |
| + "The distutils.sysconfig module is deprecated, use sysconfig instead", |
| + DeprecationWarning |
| + ) |
| + |
| + from distutils.command.build_ext import build_ext |
| + from distutils.command.build_scripts import build_scripts |
| + from distutils.command.install import install |
| + from distutils.command.install_lib import install_lib |
| + from distutils.core import Extension, setup |
| + from distutils.errors import CCompilerError, DistutilsError |
| + from distutils.spawn import find_executable |
| + |
| + |
| +# Compile extensions used to test Python? |
| +TEST_EXTENSIONS = (sysconfig.get_config_var('TEST_MODULES') == 'yes') |
| + |
| +# This global variable is used to hold the list of modules to be disabled. |
| +DISABLED_MODULE_LIST = [] |
| + |
| +# --list-module-names option used by Tools/scripts/generate_module_names.py |
| +LIST_MODULE_NAMES = False |
| + |
| + |
| +logging.basicConfig(format='%(message)s', level=logging.INFO) |
| +log = logging.getLogger('setup') |
| + |
| + |
| +def get_platform(): |
| + # Cross compiling |
| + if "_PYTHON_HOST_PLATFORM" in os.environ: |
| + return os.environ["_PYTHON_HOST_PLATFORM"] |
| + |
| + # Get value of sys.platform |
| + if sys.platform.startswith('osf1'): |
| + return 'osf1' |
| + return sys.platform |
| + |
| + |
| +CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ) |
| +HOST_PLATFORM = get_platform() |
| +MS_WINDOWS = (HOST_PLATFORM == 'win32') |
| +CYGWIN = (HOST_PLATFORM == 'cygwin') |
| +MACOS = (HOST_PLATFORM == 'darwin') |
| +AIX = (HOST_PLATFORM.startswith('aix')) |
| +VXWORKS = ('vxworks' in HOST_PLATFORM) |
| +CC = os.environ.get("CC") |
| +if not CC: |
| + CC = sysconfig.get_config_var("CC") |
| + |
| + |
| +SUMMARY = """ |
| +Python is an interpreted, interactive, object-oriented programming |
| +language. It is often compared to Tcl, Perl, Scheme or Java. |
| + |
| +Python combines remarkable power with very clear syntax. It has |
| +modules, classes, exceptions, very high level dynamic data types, and |
| +dynamic typing. There are interfaces to many system calls and |
| +libraries, as well as to various windowing systems (X11, Motif, Tk, |
| +Mac, MFC). New built-in modules are easily written in C or C++. Python |
| +is also usable as an extension language for applications that need a |
| +programmable interface. |
| + |
| +The Python implementation is portable: it runs on many brands of UNIX, |
| +on Windows, DOS, Mac, Amiga... If your favorite system isn't |
| +listed here, it may still be supported, if there's a C compiler for |
| +it. Ask around on comp.lang.python -- or just try compiling Python |
| +yourself. |
| +""" |
| + |
| +CLASSIFIERS = """ |
| +Development Status :: 6 - Mature |
| +License :: OSI Approved :: Python Software Foundation License |
| +Natural Language :: English |
| +Programming Language :: C |
| +Programming Language :: Python |
| +Topic :: Software Development |
| +""" |
| + |
| + |
| +def run_command(cmd): |
| + status = os.system(cmd) |
| + return os.waitstatus_to_exitcode(status) |
| + |
| + |
| +# Set common compiler and linker flags derived from the Makefile, |
| +# reserved for building the interpreter and the stdlib modules. |
| +# See bpo-21121 and bpo-35257 |
| +def set_compiler_flags(compiler_flags, compiler_py_flags_nodist): |
| + flags = sysconfig.get_config_var(compiler_flags) |
| + py_flags_nodist = sysconfig.get_config_var(compiler_py_flags_nodist) |
| + sysconfig.get_config_vars()[compiler_flags] = flags + ' ' + py_flags_nodist |
| + |
| + |
| +def add_dir_to_list(dirlist, dir): |
| + """Add the directory 'dir' to the list 'dirlist' (after any relative |
| + directories) if: |
| + |
| + 1) 'dir' is not already in 'dirlist' |
| + 2) 'dir' actually exists, and is a directory. |
| + """ |
| + if dir is None or not os.path.isdir(dir) or dir in dirlist: |
| + return |
| + for i, path in enumerate(dirlist): |
| + if not os.path.isabs(path): |
| + dirlist.insert(i + 1, dir) |
| + return |
| + dirlist.insert(0, dir) |
| + |
| + |
| +def sysroot_paths(make_vars, subdirs): |
| + """Get the paths of sysroot sub-directories. |
| + |
| + * make_vars: a sequence of names of variables of the Makefile where |
| + sysroot may be set. |
| + * subdirs: a sequence of names of subdirectories used as the location for |
| + headers or libraries. |
| + """ |
| + |
| + dirs = [] |
| + for var_name in make_vars: |
| + var = sysconfig.get_config_var(var_name) |
| + if var is not None: |
| + m = re.search(r'--sysroot=([^"]\S*|"[^"]+")', var) |
| + if m is not None: |
| + sysroot = m.group(1).strip('"') |
| + for subdir in subdirs: |
| + if os.path.isabs(subdir): |
| + subdir = subdir[1:] |
| + path = os.path.join(sysroot, subdir) |
| + if os.path.isdir(path): |
| + dirs.append(path) |
| + break |
| + return dirs |
| + |
| + |
| +MACOS_SDK_ROOT = None |
| +MACOS_SDK_SPECIFIED = None |
| + |
| +def macosx_sdk_root(): |
| + """Return the directory of the current macOS SDK. |
| + |
| + If no SDK was explicitly configured, call the compiler to find which |
| + include files paths are being searched by default. Use '/' if the |
| + compiler is searching /usr/include (meaning system header files are |
| + installed) or use the root of an SDK if that is being searched. |
| + (The SDK may be supplied via Xcode or via the Command Line Tools). |
| + The SDK paths used by Apple-supplied tool chains depend on the |
| + setting of various variables; see the xcrun man page for more info. |
| + Also sets MACOS_SDK_SPECIFIED for use by macosx_sdk_specified(). |
| + """ |
| + global MACOS_SDK_ROOT, MACOS_SDK_SPECIFIED |
| + |
| + # If already called, return cached result. |
| + if MACOS_SDK_ROOT: |
| + return MACOS_SDK_ROOT |
| + |
| + cflags = sysconfig.get_config_var('CFLAGS') |
| + m = re.search(r'-isysroot\s*(\S+)', cflags) |
| + if m is not None: |
| + MACOS_SDK_ROOT = m.group(1) |
| + MACOS_SDK_SPECIFIED = MACOS_SDK_ROOT != '/' |
| + else: |
| + MACOS_SDK_ROOT = _osx_support._default_sysroot( |
| + sysconfig.get_config_var('CC')) |
| + MACOS_SDK_SPECIFIED = False |
| + |
| + return MACOS_SDK_ROOT |
| + |
| + |
| +def macosx_sdk_specified(): |
| + """Returns true if an SDK was explicitly configured. |
| + |
| + True if an SDK was selected at configure time, either by specifying |
| + --enable-universalsdk=(something other than no or /) or by adding a |
| + -isysroot option to CFLAGS. In some cases, like when making |
| + decisions about macOS Tk framework paths, we need to be able to |
| + know whether the user explicitly asked to build with an SDK versus |
| + the implicit use of an SDK when header files are no longer |
| + installed on a running system by the Command Line Tools. |
| + """ |
| + global MACOS_SDK_SPECIFIED |
| + |
| + # If already called, return cached result. |
| + if MACOS_SDK_SPECIFIED: |
| + return MACOS_SDK_SPECIFIED |
| + |
| + # Find the sdk root and set MACOS_SDK_SPECIFIED |
| + macosx_sdk_root() |
| + return MACOS_SDK_SPECIFIED |
| + |
| + |
| +def is_macosx_sdk_path(path): |
| + """ |
| + Returns True if 'path' can be located in a macOS SDK |
| + """ |
| + return ( (path.startswith('/usr/') and not path.startswith('/usr/local')) |
| + or path.startswith('/System/Library') |
| + or path.startswith('/System/iOSSupport') ) |
| + |
| + |
| +def grep_headers_for(function, headers): |
| + for header in headers: |
| + with open(header, 'r', errors='surrogateescape') as f: |
| + if function in f.read(): |
| + return True |
| + return False |
| + |
| + |
| +def find_file(filename, std_dirs, paths): |
| + """Searches for the directory where a given file is located, |
| + and returns a possibly-empty list of additional directories, or None |
| + if the file couldn't be found at all. |
| + |
| + 'filename' is the name of a file, such as readline.h or libcrypto.a. |
| + 'std_dirs' is the list of standard system directories; if the |
| + file is found in one of them, no additional directives are needed. |
| + 'paths' is a list of additional locations to check; if the file is |
| + found in one of them, the resulting list will contain the directory. |
| + """ |
| + if MACOS: |
| + # Honor the MacOSX SDK setting when one was specified. |
| + # An SDK is a directory with the same structure as a real |
| + # system, but with only header files and libraries. |
| + sysroot = macosx_sdk_root() |
| + |
| + # Check the standard locations |
| + for dir_ in std_dirs: |
| + f = os.path.join(dir_, filename) |
| + |
| + if MACOS and is_macosx_sdk_path(dir_): |
| + f = os.path.join(sysroot, dir_[1:], filename) |
| + |
| + if os.path.exists(f): return [] |
| + |
| + # Check the additional directories |
| + for dir_ in paths: |
| + f = os.path.join(dir_, filename) |
| + |
| + if MACOS and is_macosx_sdk_path(dir_): |
| + f = os.path.join(sysroot, dir_[1:], filename) |
| + |
| + if os.path.exists(f): |
| + return [dir_] |
| + |
| + # Not found anywhere |
| + return None |
| + |
| + |
| +def find_library_file(compiler, libname, std_dirs, paths): |
| + result = compiler.find_library_file(std_dirs + paths, libname) |
| + if result is None: |
| + return None |
| + |
| + if MACOS: |
| + sysroot = macosx_sdk_root() |
| + |
| + # Check whether the found file is in one of the standard directories |
| + dirname = os.path.dirname(result) |
| + for p in std_dirs: |
| + # Ensure path doesn't end with path separator |
| + p = p.rstrip(os.sep) |
| + |
| + if MACOS and is_macosx_sdk_path(p): |
| + # Note that, as of Xcode 7, Apple SDKs may contain textual stub |
| + # libraries with .tbd extensions rather than the normal .dylib |
| + # shared libraries installed in /. The Apple compiler tool |
| + # chain handles this transparently but it can cause problems |
| + # for programs that are being built with an SDK and searching |
| + # for specific libraries. Distutils find_library_file() now |
| + # knows to also search for and return .tbd files. But callers |
| + # of find_library_file need to keep in mind that the base filename |
| + # of the returned SDK library file might have a different extension |
| + # from that of the library file installed on the running system, |
| + # for example: |
| + # /Applications/Xcode.app/Contents/Developer/Platforms/ |
| + # MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/ |
| + # usr/lib/libedit.tbd |
| + # vs |
| + # /usr/lib/libedit.dylib |
| + if os.path.join(sysroot, p[1:]) == dirname: |
| + return [ ] |
| + |
| + if p == dirname: |
| + return [ ] |
| + |
| + # Otherwise, it must have been in one of the additional directories, |
| + # so we have to figure out which one. |
| + for p in paths: |
| + # Ensure path doesn't end with path separator |
| + p = p.rstrip(os.sep) |
| + |
| + if MACOS and is_macosx_sdk_path(p): |
| + if os.path.join(sysroot, p[1:]) == dirname: |
| + return [ p ] |
| + |
| + if p == dirname: |
| + return [p] |
| + else: |
| + assert False, "Internal error: Path not found in std_dirs or paths" |
| + |
| + |
| +def validate_tzpath(): |
| + base_tzpath = sysconfig.get_config_var('TZPATH') |
| + if not base_tzpath: |
| + return |
| + |
| + tzpaths = base_tzpath.split(os.pathsep) |
| + bad_paths = [tzpath for tzpath in tzpaths if not os.path.isabs(tzpath)] |
| + if bad_paths: |
| + raise ValueError('TZPATH must contain only absolute paths, ' |
| + + f'found:\n{tzpaths!r}\nwith invalid paths:\n' |
| + + f'{bad_paths!r}') |
| + |
| + |
| +def find_module_file(module, dirlist): |
| + """Find a module in a set of possible folders. If it is not found |
| + return the unadorned filename""" |
| + dirs = find_file(module, [], dirlist) |
| + if not dirs: |
| + return module |
| + if len(dirs) > 1: |
| + log.info(f"WARNING: multiple copies of {module} found") |
| + return os.path.join(dirs[0], module) |
| + |
| + |
| +class PyBuildExt(build_ext): |
| + |
| + def __init__(self, dist): |
| + build_ext.__init__(self, dist) |
| + self.srcdir = None |
| + self.lib_dirs = None |
| + self.inc_dirs = None |
| + self.config_h_vars = None |
| + self.failed = [] |
| + self.failed_on_import = [] |
| + self.missing = [] |
| + self.disabled_configure = [] |
| + if '-j' in os.environ.get('MAKEFLAGS', ''): |
| + self.parallel = True |
| + |
| + def add(self, ext): |
| + self.extensions.append(ext) |
| + |
| + def set_srcdir(self): |
| + self.srcdir = sysconfig.get_config_var('srcdir') |
| + if not self.srcdir: |
| + # Maybe running on Windows but not using CYGWIN? |
| + raise ValueError("No source directory; cannot proceed.") |
| + self.srcdir = os.path.abspath(self.srcdir) |
| + |
| + def remove_disabled(self): |
| + # Remove modules that are present on the disabled list |
| + extensions = [ext for ext in self.extensions |
| + if ext.name not in DISABLED_MODULE_LIST] |
| + # move ctypes to the end, it depends on other modules |
| + ext_map = dict((ext.name, i) for i, ext in enumerate(extensions)) |
| + if "_ctypes" in ext_map: |
| + ctypes = extensions.pop(ext_map["_ctypes"]) |
| + extensions.append(ctypes) |
| + self.extensions = extensions |
| + |
| + def update_sources_depends(self): |
| + # Fix up the autodetected modules, prefixing all the source files |
| + # with Modules/. |
| + moddirlist = [os.path.join(self.srcdir, 'Modules')] |
| + |
| + # Fix up the paths for scripts, too |
| + self.distribution.scripts = [os.path.join(self.srcdir, filename) |
| + for filename in self.distribution.scripts] |
| + |
| + # Python header files |
| + headers = [sysconfig.get_config_h_filename()] |
| + headers += glob(os.path.join(escape(sysconfig.get_path('include')), "*.h")) |
| + |
| + for ext in self.extensions: |
| + ext.sources = [ find_module_file(filename, moddirlist) |
| + for filename in ext.sources ] |
| + if ext.depends is not None: |
| + ext.depends = [find_module_file(filename, moddirlist) |
| + for filename in ext.depends] |
| + else: |
| + ext.depends = [] |
| + # re-compile extensions if a header file has been changed |
| + ext.depends.extend(headers) |
| + |
| + def remove_configured_extensions(self): |
| + # The sysconfig variables built by makesetup that list the already |
| + # built modules and the disabled modules as configured by the Setup |
| + # files. |
| + sysconf_built = sysconfig.get_config_var('MODBUILT_NAMES').split() |
| + sysconf_dis = sysconfig.get_config_var('MODDISABLED_NAMES').split() |
| + |
| + mods_built = [] |
| + mods_disabled = [] |
| + for ext in self.extensions: |
| + # If a module has already been built or has been disabled in the |
| + # Setup files, don't build it here. |
| + if ext.name in sysconf_built: |
| + mods_built.append(ext) |
| + if ext.name in sysconf_dis: |
| + mods_disabled.append(ext) |
| + |
| + mods_configured = mods_built + mods_disabled |
| + if mods_configured: |
| + self.extensions = [x for x in self.extensions if x not in |
| + mods_configured] |
| + # Remove the shared libraries built by a previous build. |
| + for ext in mods_configured: |
| + fullpath = self.get_ext_fullpath(ext.name) |
| + if os.path.exists(fullpath): |
| + os.unlink(fullpath) |
| + |
| + return (mods_built, mods_disabled) |
| + |
| + def set_compiler_executables(self): |
| + # When you run "make CC=altcc" or something similar, you really want |
| + # those environment variables passed into the setup.py phase. Here's |
| + # a small set of useful ones. |
| + compiler = os.environ.get('CC') |
| + args = {} |
| + # unfortunately, distutils doesn't let us provide separate C and C++ |
| + # compilers |
| + if compiler is not None: |
| + (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS') |
| + args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags |
| + self.compiler.set_executables(**args) |
| + |
| + def build_extensions(self): |
| + self.set_srcdir() |
| + self.set_compiler_executables() |
| + self.configure_compiler() |
| + self.init_inc_lib_dirs() |
| + |
| + # Detect which modules should be compiled |
| + self.detect_modules() |
| + |
| + if not LIST_MODULE_NAMES: |
| + self.remove_disabled() |
| + |
| + self.update_sources_depends() |
| + mods_built, mods_disabled = self.remove_configured_extensions() |
| + |
| + if LIST_MODULE_NAMES: |
| + for ext in self.extensions: |
| + print(ext.name) |
| + for name in self.missing: |
| + print(name) |
| + return |
| + |
| + build_ext.build_extensions(self) |
| + |
| + if SUBPROCESS_BOOTSTRAP: |
| + # Drop our custom subprocess module: |
| + # use the newly built subprocess module |
| + del sys.modules['subprocess'] |
| + |
| + for ext in self.extensions: |
| + self.check_extension_import(ext) |
| + |
| + self.summary(mods_built, mods_disabled) |
| + |
| + def summary(self, mods_built, mods_disabled): |
| + longest = max([len(e.name) for e in self.extensions], default=0) |
| + if self.failed or self.failed_on_import: |
| + all_failed = self.failed + self.failed_on_import |
| + longest = max(longest, max([len(name) for name in all_failed])) |
| + |
| + def print_three_column(lst): |
| + lst.sort(key=str.lower) |
| + # guarantee zip() doesn't drop anything |
| + while len(lst) % 3: |
| + lst.append("") |
| + for e, f, g in zip(lst[::3], lst[1::3], lst[2::3]): |
| + print("%-*s %-*s %-*s" % (longest, e, longest, f, |
| + longest, g)) |
| + |
| + if self.missing: |
| + print() |
| + print("The necessary bits to build these optional modules were not " |
| + "found:") |
| + print_three_column(self.missing) |
| + print("To find the necessary bits, look in setup.py in" |
| + " detect_modules() for the module's name.") |
| + print() |
| + |
| + if mods_built: |
| + print() |
| + print("The following modules found by detect_modules() in" |
| + " setup.py, have been") |
| + print("built by the Makefile instead, as configured by the" |
| + " Setup files:") |
| + print_three_column([ext.name for ext in mods_built]) |
| + print() |
| + |
| + if mods_disabled: |
| + print() |
| + print("The following modules found by detect_modules() in" |
| + " setup.py have not") |
| + print("been built, they are *disabled* in the Setup files:") |
| + print_three_column([ext.name for ext in mods_disabled]) |
| + print() |
| + |
| + if self.disabled_configure: |
| + print() |
| + print("The following modules found by detect_modules() in" |
| + " setup.py have not") |
| + print("been built, they are *disabled* by configure:") |
| + print_three_column(self.disabled_configure) |
| + print() |
| + |
| + if self.failed: |
| + failed = self.failed[:] |
| + print() |
| + print("Failed to build these modules:") |
| + print_three_column(failed) |
| + print() |
| + |
| + if self.failed_on_import: |
| + failed = self.failed_on_import[:] |
| + print() |
| + print("Following modules built successfully" |
| + " but were removed because they could not be imported:") |
| + print_three_column(failed) |
| + print() |
| + |
| + if any('_ssl' in l |
| + for l in (self.missing, self.failed, self.failed_on_import)): |
| + print() |
| + print("Could not build the ssl module!") |
| + print("Python requires a OpenSSL 1.1.1 or newer") |
| + if sysconfig.get_config_var("OPENSSL_LDFLAGS"): |
| + print("Custom linker flags may require --with-openssl-rpath=auto") |
| + print() |
| + |
| + if os.environ.get("PYTHONSTRICTEXTENSIONBUILD") and (self.failed or self.failed_on_import): |
| + raise RuntimeError("Failed to build some stdlib modules") |
| + |
| + def build_extension(self, ext): |
| + |
| + if ext.name == '_ctypes': |
| + if not self.configure_ctypes(ext): |
| + self.failed.append(ext.name) |
| + return |
| + |
| + try: |
| + build_ext.build_extension(self, ext) |
| + except (CCompilerError, DistutilsError) as why: |
| + self.announce('WARNING: building of extension "%s" failed: %s' % |
| + (ext.name, why)) |
| + self.failed.append(ext.name) |
| + return |
| + |
| + def check_extension_import(self, ext): |
| + # Don't try to import an extension that has failed to compile |
| + if ext.name in self.failed: |
| + self.announce( |
| + 'WARNING: skipping import check for failed build "%s"' % |
| + ext.name, level=1) |
| + return |
| + |
| + # Workaround for Mac OS X: The Carbon-based modules cannot be |
| + # reliably imported into a command-line Python |
| + if 'Carbon' in ext.extra_link_args: |
| + self.announce( |
| + 'WARNING: skipping import check for Carbon-based "%s"' % |
| + ext.name) |
| + return |
| + |
| + if MACOS and ( |
| + sys.maxsize > 2**32 and '-arch' in ext.extra_link_args): |
| + # Don't bother doing an import check when an extension was |
| + # build with an explicit '-arch' flag on OSX. That's currently |
| + # only used to build 32-bit only extensions in a 4-way |
| + # universal build and loading 32-bit code into a 64-bit |
| + # process will fail. |
| + self.announce( |
| + 'WARNING: skipping import check for "%s"' % |
| + ext.name) |
| + return |
| + |
| + # Workaround for Cygwin: Cygwin currently has fork issues when many |
| + # modules have been imported |
| + if CYGWIN: |
| + self.announce('WARNING: skipping import check for Cygwin-based "%s"' |
| + % ext.name) |
| + return |
| + ext_filename = os.path.join( |
| + self.build_lib, |
| + self.get_ext_filename(self.get_ext_fullname(ext.name))) |
| + |
| + # If the build directory didn't exist when setup.py was |
| + # started, sys.path_importer_cache has a negative result |
| + # cached. Clear that cache before trying to import. |
| + sys.path_importer_cache.clear() |
| + |
| + # Don't try to load extensions for cross builds |
| + if CROSS_COMPILING: |
| + return |
| + |
| + loader = importlib.machinery.ExtensionFileLoader(ext.name, ext_filename) |
| + spec = importlib.util.spec_from_file_location(ext.name, ext_filename, |
| + loader=loader) |
| + try: |
| + importlib._bootstrap._load(spec) |
| + except ImportError as why: |
| + self.failed_on_import.append(ext.name) |
| + self.announce('*** WARNING: renaming "%s" since importing it' |
| + ' failed: %s' % (ext.name, why), level=3) |
| + assert not self.inplace |
| + basename, tail = os.path.splitext(ext_filename) |
| + newname = basename + "_failed" + tail |
| + if os.path.exists(newname): |
| + os.remove(newname) |
| + os.rename(ext_filename, newname) |
| + |
| + except: |
| + exc_type, why, tb = sys.exc_info() |
| + self.announce('*** WARNING: importing extension "%s" ' |
| + 'failed with %s: %s' % (ext.name, exc_type, why), |
| + level=3) |
| + self.failed.append(ext.name) |
| + |
| + def add_multiarch_paths(self): |
| + # Debian/Ubuntu multiarch support. |
| + # https://wiki.ubuntu.com/MultiarchSpec |
| + tmpfile = os.path.join(self.build_temp, 'multiarch') |
| + if not os.path.exists(self.build_temp): |
| + os.makedirs(self.build_temp) |
| + ret = run_command( |
| + '%s -print-multiarch > %s 2> /dev/null' % (CC, tmpfile)) |
| + multiarch_path_component = '' |
| + try: |
| + if ret == 0: |
| + with open(tmpfile) as fp: |
| + multiarch_path_component = fp.readline().strip() |
| + finally: |
| + os.unlink(tmpfile) |
| + |
| + if multiarch_path_component != '': |
| + add_dir_to_list(self.compiler.library_dirs, |
| + '/usr/lib/' + multiarch_path_component) |
| + add_dir_to_list(self.compiler.include_dirs, |
| + '/usr/include/' + multiarch_path_component) |
| + return |
| + |
| + if not find_executable('dpkg-architecture'): |
| + return |
| + opt = '' |
| + if CROSS_COMPILING: |
| + opt = '-t' + sysconfig.get_config_var('HOST_GNU_TYPE') |
| + tmpfile = os.path.join(self.build_temp, 'multiarch') |
| + if not os.path.exists(self.build_temp): |
| + os.makedirs(self.build_temp) |
| + ret = run_command( |
| + 'dpkg-architecture %s -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % |
| + (opt, tmpfile)) |
| + try: |
| + if ret == 0: |
| + with open(tmpfile) as fp: |
| + multiarch_path_component = fp.readline().strip() |
| + add_dir_to_list(self.compiler.library_dirs, |
| + '/usr/lib/' + multiarch_path_component) |
| + add_dir_to_list(self.compiler.include_dirs, |
| + '/usr/include/' + multiarch_path_component) |
| + finally: |
| + os.unlink(tmpfile) |
| + |
| + def add_wrcc_search_dirs(self): |
| + # add library search path by wr-cc, the compiler wrapper |
| + |
| + def convert_mixed_path(path): |
| + # convert path like C:\folder1\folder2/folder3/folder4 |
| + # to msys style /c/folder1/folder2/folder3/folder4 |
| + drive = path[0].lower() |
| + left = path[2:].replace("\\", "/") |
| + return "/" + drive + left |
| + |
| + def add_search_path(line): |
| + # On Windows building machine, VxWorks does |
| + # cross builds under msys2 environment. |
| + pathsep = (";" if sys.platform == "msys" else ":") |
| + for d in line.strip().split("=")[1].split(pathsep): |
| + d = d.strip() |
| + if sys.platform == "msys": |
| + # On Windows building machine, compiler |
| + # returns mixed style path like: |
| + # C:\folder1\folder2/folder3/folder4 |
| + d = convert_mixed_path(d) |
| + d = os.path.normpath(d) |
| + add_dir_to_list(self.compiler.library_dirs, d) |
| + |
| + tmpfile = os.path.join(self.build_temp, 'wrccpaths') |
| + os.makedirs(self.build_temp, exist_ok=True) |
| + try: |
| + ret = run_command('%s --print-search-dirs >%s' % (CC, tmpfile)) |
| + if ret: |
| + return |
| + with open(tmpfile) as fp: |
| + # Parse paths in libraries line. The line is like: |
| + # On Linux, "libraries: = path1:path2:path3" |
| + # On Windows, "libraries: = path1;path2;path3" |
| + for line in fp: |
| + if not line.startswith("libraries"): |
| + continue |
| + add_search_path(line) |
| + finally: |
| + try: |
| + os.unlink(tmpfile) |
| + except OSError: |
| + pass |
| + |
| + def add_cross_compiling_paths(self): |
| + tmpfile = os.path.join(self.build_temp, 'ccpaths') |
| + if not os.path.exists(self.build_temp): |
| + os.makedirs(self.build_temp) |
| + # bpo-38472: With a German locale, GCC returns "gcc-Version 9.1.0 |
| + # (GCC)", whereas it returns "gcc version 9.1.0" with the C locale. |
| + ret = run_command('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (CC, tmpfile)) |
| + is_gcc = False |
| + is_clang = False |
| + in_incdirs = False |
| + try: |
| + if ret == 0: |
| + with open(tmpfile) as fp: |
| + for line in fp.readlines(): |
| + if line.startswith("gcc version"): |
| + is_gcc = True |
| + elif line.startswith("clang version"): |
| + is_clang = True |
| + elif line.startswith("#include <...>"): |
| + in_incdirs = True |
| + elif line.startswith("End of search list"): |
| + in_incdirs = False |
| + elif (is_gcc or is_clang) and line.startswith("LIBRARY_PATH"): |
| + for d in line.strip().split("=")[1].split(":"): |
| + d = os.path.normpath(d) |
| + if '/gcc/' not in d: |
| + add_dir_to_list(self.compiler.library_dirs, |
| + d) |
| + elif (is_gcc or is_clang) and in_incdirs and '/gcc/' not in line and '/clang/' not in line: |
| + add_dir_to_list(self.compiler.include_dirs, |
| + line.strip()) |
| + finally: |
| + os.unlink(tmpfile) |
| + |
| + if VXWORKS: |
| + self.add_wrcc_search_dirs() |
| + |
| + def add_ldflags_cppflags(self): |
| + # Add paths specified in the environment variables LDFLAGS and |
| + # CPPFLAGS for header and library files. |
| + # We must get the values from the Makefile and not the environment |
| + # directly since an inconsistently reproducible issue comes up where |
| + # the environment variable is not set even though the value were passed |
| + # into configure and stored in the Makefile (issue found on OS X 10.3). |
| + for env_var, arg_name, dir_list in ( |
| + ('LDFLAGS', '-R', self.compiler.runtime_library_dirs), |
| + ('LDFLAGS', '-L', self.compiler.library_dirs), |
| + ('CPPFLAGS', '-I', self.compiler.include_dirs)): |
| + env_val = sysconfig.get_config_var(env_var) |
| + if env_val: |
| + parser = argparse.ArgumentParser() |
| + parser.add_argument(arg_name, dest="dirs", action="append") |
| + |
| + # To prevent argparse from raising an exception about any |
| + # options in env_val that it mistakes for known option, we |
| + # strip out all double dashes and any dashes followed by a |
| + # character that is not for the option we are dealing with. |
| + # |
| + # Please note that order of the regex is important! We must |
| + # strip out double-dashes first so that we don't end up with |
| + # substituting "--Long" to "-Long" and thus lead to "ong" being |
| + # used for a library directory. |
| + env_val = re.sub(r'(^|\s+)-(-|(?!%s))' % arg_name[1], |
| + ' ', env_val) |
| + options, _ = parser.parse_known_args(env_val.split()) |
| + if options.dirs: |
| + for directory in reversed(options.dirs): |
| + add_dir_to_list(dir_list, directory) |
| + |
| + def configure_compiler(self): |
| + # Ensure that /usr/local is always used, but the local build |
| + # directories (i.e. '.' and 'Include') must be first. See issue |
| + # 10520. |
| + if not CROSS_COMPILING: |
| + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') |
| + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') |
| + # only change this for cross builds for 3.3, issues on Mageia |
| + if CROSS_COMPILING: |
| + self.add_cross_compiling_paths() |
| + self.add_multiarch_paths() |
| + self.add_ldflags_cppflags() |
| + |
| + def init_inc_lib_dirs(self): |
| + if (not CROSS_COMPILING and |
| + os.path.normpath(sys.base_prefix) != '/usr' and |
| + not sysconfig.get_config_var('PYTHONFRAMEWORK')): |
| + # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework |
| + # (PYTHONFRAMEWORK is set) to avoid # linking problems when |
| + # building a framework with different architectures than |
| + # the one that is currently installed (issue #7473) |
| + add_dir_to_list(self.compiler.library_dirs, |
| + sysconfig.get_config_var("LIBDIR")) |
| + add_dir_to_list(self.compiler.include_dirs, |
| + sysconfig.get_config_var("INCLUDEDIR")) |
| + |
| + system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib'] |
| + system_include_dirs = ['/usr/include'] |
| + # lib_dirs and inc_dirs are used to search for files; |
| + # if a file is found in one of those directories, it can |
| + # be assumed that no additional -I,-L directives are needed. |
| + if not CROSS_COMPILING: |
| + self.lib_dirs = self.compiler.library_dirs + system_lib_dirs |
| + self.inc_dirs = self.compiler.include_dirs + system_include_dirs |
| + else: |
| + # Add the sysroot paths. 'sysroot' is a compiler option used to |
| + # set the logical path of the standard system headers and |
| + # libraries. |
| + self.lib_dirs = (self.compiler.library_dirs + |
| + sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs)) |
| + self.inc_dirs = (self.compiler.include_dirs + |
| + sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'), |
| + system_include_dirs)) |
| + |
| + config_h = sysconfig.get_config_h_filename() |
| + with open(config_h) as file: |
| + self.config_h_vars = sysconfig.parse_config_h(file) |
| + |
| + # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb) |
| + if HOST_PLATFORM in ['osf1', 'unixware7', 'openunix8']: |
| + self.lib_dirs += ['/usr/ccs/lib'] |
| + |
| + # HP-UX11iv3 keeps files in lib/hpux folders. |
| + if HOST_PLATFORM == 'hp-ux11': |
| + self.lib_dirs += ['/usr/lib/hpux64', '/usr/lib/hpux32'] |
| + |
| + if MACOS: |
| + # This should work on any unixy platform ;-) |
| + # If the user has bothered specifying additional -I and -L flags |
| + # in OPT and LDFLAGS we might as well use them here. |
| + # |
| + # NOTE: using shlex.split would technically be more correct, but |
| + # also gives a bootstrap problem. Let's hope nobody uses |
| + # directories with whitespace in the name to store libraries. |
| + cflags, ldflags = sysconfig.get_config_vars( |
| + 'CFLAGS', 'LDFLAGS') |
| + for item in cflags.split(): |
| + if item.startswith('-I'): |
| + self.inc_dirs.append(item[2:]) |
| + |
| + for item in ldflags.split(): |
| + if item.startswith('-L'): |
| + self.lib_dirs.append(item[2:]) |
| + |
| + # Insert libraries and headers from embedded root file system (RFS) |
| + if 'RFS' in os.environ: |
| + self.lib_dirs += [os.environ['RFS'] + '/usr/lib'] |
| + self.inc_dirs += [os.environ['RFS'] + '/usr/include'] |
| + |
| + def detect_simple_extensions(self): |
| + # |
| + # The following modules are all pretty straightforward, and compile |
| + # on pretty much any POSIXish platform. |
| + # |
| + |
| + # array objects |
| + self.add(Extension('array', ['arraymodule.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + |
| + # Context Variables |
| + self.add(Extension('_contextvars', ['_contextvarsmodule.c'])) |
| + |
| + shared_math = 'Modules/_math.o' |
| + |
| + # math library functions, e.g. sin() |
| + self.add(Extension('math', ['mathmodule.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'], |
| + extra_objects=[shared_math], |
| + depends=['_math.h', shared_math], |
| + libraries=['m'])) |
| + |
| + # complex math library functions |
| + self.add(Extension('cmath', ['cmathmodule.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'], |
| + extra_objects=[shared_math], |
| + depends=['_math.h', shared_math], |
| + libraries=['m'])) |
| + |
| + # time libraries: librt may be needed for clock_gettime() |
| + time_libs = [] |
| + lib = sysconfig.get_config_var('TIMEMODULE_LIB') |
| + if lib: |
| + time_libs.append(lib) |
| + |
| + # time operations and variables |
| + self.add(Extension('time', ['timemodule.c'], |
| + libraries=time_libs)) |
| + # libm is needed by delta_new() that uses round() and by accum() that |
| + # uses modf(). |
| + self.add(Extension('_datetime', ['_datetimemodule.c'], |
| + libraries=['m'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # zoneinfo module |
| + self.add(Extension('_zoneinfo', ['_zoneinfo.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # random number generator implemented in C |
| + self.add(Extension("_random", ["_randommodule.c"], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # bisect |
| + self.add(Extension("_bisect", ["_bisectmodule.c"])) |
| + # heapq |
| + self.add(Extension("_heapq", ["_heapqmodule.c"], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # C-optimized pickle replacement |
| + self.add(Extension("_pickle", ["_pickle.c"], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # _json speedups |
| + self.add(Extension("_json", ["_json.c"], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + |
| + # profiler (_lsprof is for cProfile.py) |
| + self.add(Extension('_lsprof', ['_lsprof.c', 'rotatingtree.c'])) |
| + # static Unicode character database |
| + self.add(Extension('unicodedata', ['unicodedata.c'], |
| + depends=['unicodedata_db.h', 'unicodename_db.h'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # _opcode module |
| + self.add(Extension('_opcode', ['_opcode.c'])) |
| + # asyncio speedups |
| + self.add(Extension("_asyncio", ["_asynciomodule.c"], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # _abc speedups |
| + self.add(Extension("_abc", ["_abc.c"], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # _queue module |
| + self.add(Extension("_queue", ["_queuemodule.c"], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + # _statistics module |
| + self.add(Extension("_statistics", ["_statisticsmodule.c"])) |
| + |
| + # Modules with some UNIX dependencies -- on by default: |
| + # (If you have a really backward UNIX, select and socket may not be |
| + # supported...) |
| + |
| + # fcntl(2) and ioctl(2) |
| + libs = [] |
| + if (self.config_h_vars.get('FLOCK_NEEDS_LIBBSD', False)): |
| + # May be necessary on AIX for flock function |
| + libs = ['bsd'] |
| + self.add(Extension('fcntl', ['fcntlmodule.c'], |
| + libraries=libs)) |
| + # pwd(3) |
| + self.add(Extension('pwd', ['pwdmodule.c'])) |
| + # grp(3) |
| + if not VXWORKS: |
| + self.add(Extension('grp', ['grpmodule.c'])) |
| + # spwd, shadow passwords |
| + if (self.config_h_vars.get('HAVE_GETSPNAM', False) or |
| + self.config_h_vars.get('HAVE_GETSPENT', False)): |
| + self.add(Extension('spwd', ['spwdmodule.c'])) |
| + # AIX has shadow passwords, but access is not via getspent(), etc. |
| + # module support is not expected so it not 'missing' |
| + elif not AIX: |
| + self.missing.append('spwd') |
| + |
| + # select(2); not on ancient System V |
| + self.add(Extension('select', ['selectmodule.c'])) |
| + |
| + # Memory-mapped files (also works on Win32). |
| + self.add(Extension('mmap', ['mmapmodule.c'])) |
| + |
| + # Lance Ellinghaus's syslog module |
| + # syslog daemon interface |
| + self.add(Extension('syslog', ['syslogmodule.c'])) |
| + |
| + # Python interface to subinterpreter C-API. |
| + self.add(Extension('_xxsubinterpreters', ['_xxsubinterpretersmodule.c'])) |
| + |
| + # |
| + # Here ends the simple stuff. From here on, modules need certain |
| + # libraries, are platform-specific, or present other surprises. |
| + # |
| + |
| + # Multimedia modules |
| + # These don't work for 64-bit platforms!!! |
| + # These represent audio samples or images as strings: |
| + # |
| + # Operations on audio samples |
| + # According to #993173, this one should actually work fine on |
| + # 64-bit platforms. |
| + # |
| + # audioop needs libm for floor() in multiple functions. |
| + self.add(Extension('audioop', ['audioop.c'], |
| + libraries=['m'])) |
| + |
| + # CSV files |
| + self.add(Extension('_csv', ['_csv.c'])) |
| + |
| + # POSIX subprocess module helper. |
| + self.add(Extension('_posixsubprocess', ['_posixsubprocess.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + |
| + def detect_test_extensions(self): |
| + # Python C API test module |
| + self.add(Extension('_testcapi', ['_testcapimodule.c'], |
| + depends=['testcapi_long.h'])) |
| + |
| + # Python Internal C API test module |
| + self.add(Extension('_testinternalcapi', ['_testinternalcapi.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) |
| + |
| + # Python PEP-3118 (buffer protocol) test module |
| + self.add(Extension('_testbuffer', ['_testbuffer.c'])) |
| + |
| + # Test loading multiple modules from one compiled file (https://bugs.python.org/issue16421) |
| + self.add(Extension('_testimportmultiple', ['_testimportmultiple.c'])) |
| + |
| + # Test multi-phase extension module init (PEP 489) |
| + self.add(Extension('_testmultiphase', ['_testmultiphase.c'])) |
| + |
| + # Fuzz tests. |
| + self.add(Extension('_xxtestfuzz', |
| + ['_xxtestfuzz/_xxtestfuzz.c', |
| + '_xxtestfuzz/fuzzer.c'])) |
| + |
| + def detect_readline_curses(self): |
| + # readline |
| + readline_termcap_library = "" |
| + curses_library = "" |
| + # Cannot use os.popen here in py3k. |
| + tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib') |
| + if not os.path.exists(self.build_temp): |
| + os.makedirs(self.build_temp) |
| + # Determine if readline is already linked against curses or tinfo. |
| + if sysconfig.get_config_var('HAVE_LIBREADLINE'): |
| + if sysconfig.get_config_var('WITH_EDITLINE'): |
| + readline_lib = 'edit' |
| + else: |
| + readline_lib = 'readline' |
| + do_readline = self.compiler.find_library_file(self.lib_dirs, |
| + readline_lib) |
| + if CROSS_COMPILING: |
| + ret = run_command("%s -d %s | grep '(NEEDED)' > %s" |
| + % (sysconfig.get_config_var('READELF'), |
| + do_readline, tmpfile)) |
| + elif find_executable('ldd'): |
| + ret = run_command("ldd %s > %s" % (do_readline, tmpfile)) |
| + else: |
| + ret = 1 |
| + if ret == 0: |
| + with open(tmpfile) as fp: |
| + for ln in fp: |
| + if 'curses' in ln: |
| + readline_termcap_library = re.sub( |
| + r'.*lib(n?cursesw?)\.so.*', r'\1', ln |
| + ).rstrip() |
| + break |
| + # termcap interface split out from ncurses |
| + if 'tinfo' in ln: |
| + readline_termcap_library = 'tinfo' |
| + break |
| + if os.path.exists(tmpfile): |
| + os.unlink(tmpfile) |
| + else: |
| + do_readline = False |
| + # Issue 7384: If readline is already linked against curses, |
| + # use the same library for the readline and curses modules. |
| + if 'curses' in readline_termcap_library: |
| + curses_library = readline_termcap_library |
| + elif self.compiler.find_library_file(self.lib_dirs, 'ncursesw'): |
| + curses_library = 'ncursesw' |
| + # Issue 36210: OSS provided ncurses does not link on AIX |
| + # Use IBM supplied 'curses' for successful build of _curses |
| + elif AIX and self.compiler.find_library_file(self.lib_dirs, 'curses'): |
| + curses_library = 'curses' |
| + elif self.compiler.find_library_file(self.lib_dirs, 'ncurses'): |
| + curses_library = 'ncurses' |
| + elif self.compiler.find_library_file(self.lib_dirs, 'curses'): |
| + curses_library = 'curses' |
| + |
| + if MACOS: |
| + os_release = int(os.uname()[2].split('.')[0]) |
| + dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') |
| + if (dep_target and |
| + (tuple(int(n) for n in dep_target.split('.')[0:2]) |
| + < (10, 5) ) ): |
| + os_release = 8 |
| + if os_release < 9: |
| + # MacOSX 10.4 has a broken readline. Don't try to build |
| + # the readline module unless the user has installed a fixed |
| + # readline package |
| + if find_file('readline/rlconf.h', self.inc_dirs, []) is None: |
| + do_readline = False |
| + if do_readline: |
| + if MACOS and os_release < 9: |
| + # In every directory on the search path search for a dynamic |
| + # library and then a static library, instead of first looking |
| + # for dynamic libraries on the entire path. |
| + # This way a statically linked custom readline gets picked up |
| + # before the (possibly broken) dynamic library in /usr/lib. |
| + readline_extra_link_args = ('-Wl,-search_paths_first',) |
| + else: |
| + readline_extra_link_args = () |
| + |
| + readline_libs = [readline_lib] |
| + if readline_termcap_library: |
| + pass # Issue 7384: Already linked against curses or tinfo. |
| + elif curses_library: |
| + readline_libs.append(curses_library) |
| + elif self.compiler.find_library_file(self.lib_dirs + |
| + ['/usr/lib/termcap'], |
| + 'termcap'): |
| + readline_libs.append('termcap') |
| + self.add(Extension('readline', ['readline.c'], |
| + library_dirs=['/usr/lib/termcap'], |
| + extra_link_args=readline_extra_link_args, |
| + libraries=readline_libs)) |
| + else: |
| + self.missing.append('readline') |
| + |
| + # Curses support, requiring the System V version of curses, often |
| + # provided by the ncurses library. |
| + curses_defines = [] |
| + curses_includes = [] |
| + panel_library = 'panel' |
| + if curses_library == 'ncursesw': |
| + curses_defines.append(('HAVE_NCURSESW', '1')) |
| + if not CROSS_COMPILING: |
| + curses_includes.append('/usr/include/ncursesw') |
| + # Bug 1464056: If _curses.so links with ncursesw, |
| + # _curses_panel.so must link with panelw. |
| + panel_library = 'panelw' |
| + if MACOS: |
| + # On OS X, there is no separate /usr/lib/libncursesw nor |
| + # libpanelw. If we are here, we found a locally-supplied |
| + # version of libncursesw. There should also be a |
| + # libpanelw. _XOPEN_SOURCE defines are usually excluded |
| + # for OS X but we need _XOPEN_SOURCE_EXTENDED here for |
| + # ncurses wide char support |
| + curses_defines.append(('_XOPEN_SOURCE_EXTENDED', '1')) |
| + elif MACOS and curses_library == 'ncurses': |
| + # Building with the system-suppied combined libncurses/libpanel |
| + curses_defines.append(('HAVE_NCURSESW', '1')) |
| + curses_defines.append(('_XOPEN_SOURCE_EXTENDED', '1')) |
| + |
| + curses_enabled = True |
| + if curses_library.startswith('ncurses'): |
| + curses_libs = [curses_library] |
| + self.add(Extension('_curses', ['_cursesmodule.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'], |
| + include_dirs=curses_includes, |
| + define_macros=curses_defines, |
| + libraries=curses_libs)) |
| + elif curses_library == 'curses' and not MACOS: |
| + # OSX has an old Berkeley curses, not good enough for |
| + # the _curses module. |
| + if (self.compiler.find_library_file(self.lib_dirs, 'terminfo')): |
| + curses_libs = ['curses', 'terminfo'] |
| + elif (self.compiler.find_library_file(self.lib_dirs, 'termcap')): |
| + curses_libs = ['curses', 'termcap'] |
| + else: |
| + curses_libs = ['curses'] |
| + |
| + self.add(Extension('_curses', ['_cursesmodule.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'], |
| + define_macros=curses_defines, |
| + libraries=curses_libs)) |
| + else: |
| + curses_enabled = False |
| + self.missing.append('_curses') |
| + |
| + # If the curses module is enabled, check for the panel module |
| + # _curses_panel needs some form of ncurses |
| + skip_curses_panel = True if AIX else False |
| + if (curses_enabled and not skip_curses_panel and |
| + self.compiler.find_library_file(self.lib_dirs, panel_library)): |
| + self.add(Extension('_curses_panel', ['_curses_panel.c'], |
| + include_dirs=curses_includes, |
| + define_macros=curses_defines, |
| + libraries=[panel_library, *curses_libs])) |
| + elif not skip_curses_panel: |
| + self.missing.append('_curses_panel') |
| + |
| + def detect_crypt(self): |
| + # crypt module. |
| + if VXWORKS: |
| + # bpo-31904: crypt() function is not provided by VxWorks. |
| + # DES_crypt() OpenSSL provides is too weak to implement |
| + # the encryption. |
| + self.missing.append('_crypt') |
| + return |
| + |
| + if self.compiler.find_library_file(self.lib_dirs, 'crypt'): |
| + libs = ['crypt'] |
| + else: |
| + libs = [] |
| + |
| + self.add(Extension('_crypt', ['_cryptmodule.c'], libraries=libs)) |
| + |
| + def detect_socket(self): |
| + # socket(2) |
| + kwargs = {'depends': ['socketmodule.h']} |
| + if MACOS: |
| + # Issue #35569: Expose RFC 3542 socket options. |
| + kwargs['extra_compile_args'] = ['-D__APPLE_USE_RFC_3542'] |
| + |
| + self.add(Extension('_socket', ['socketmodule.c'], **kwargs)) |
| + |
| + def detect_dbm_gdbm(self): |
| + # Modules that provide persistent dictionary-like semantics. You will |
| + # probably want to arrange for at least one of them to be available on |
| + # your machine, though none are defined by default because of library |
| + # dependencies. The Python module dbm/__init__.py provides an |
| + # implementation independent wrapper for these; dbm/dumb.py provides |
| + # similar functionality (but slower of course) implemented in Python. |
| + |
| + # Sleepycat^WOracle Berkeley DB interface. |
| + # https://www.oracle.com/database/technologies/related/berkeleydb.html |
| + # |
| + # This requires the Sleepycat^WOracle DB code. The supported versions |
| + # are set below. Visit the URL above to download |
| + # a release. Most open source OSes come with one or more |
| + # versions of BerkeleyDB already installed. |
| + |
| + max_db_ver = (5, 3) |
| + min_db_ver = (3, 3) |
| + db_setup_debug = False # verbose debug prints from this script? |
| + |
| + def allow_db_ver(db_ver): |
| + """Returns a boolean if the given BerkeleyDB version is acceptable. |
| + |
| + Args: |
| + db_ver: A tuple of the version to verify. |
| + """ |
| + if not (min_db_ver <= db_ver <= max_db_ver): |
| + return False |
| + return True |
| + |
| + def gen_db_minor_ver_nums(major): |
| + if major == 4: |
| + for x in range(max_db_ver[1]+1): |
| + if allow_db_ver((4, x)): |
| + yield x |
| + elif major == 3: |
| + for x in (3,): |
| + if allow_db_ver((3, x)): |
| + yield x |
| + else: |
| + raise ValueError("unknown major BerkeleyDB version", major) |
| + |
| + # construct a list of paths to look for the header file in on |
| + # top of the normal inc_dirs. |
| + db_inc_paths = [ |
| + '/usr/include/db4', |
| + '/usr/local/include/db4', |
| + '/opt/sfw/include/db4', |
| + '/usr/include/db3', |
| + '/usr/local/include/db3', |
| + '/opt/sfw/include/db3', |
| + # Fink defaults (https://www.finkproject.org/) |
| + '/sw/include/db4', |
| + '/sw/include/db3', |
| + ] |
| + # 4.x minor number specific paths |
| + for x in gen_db_minor_ver_nums(4): |
| + db_inc_paths.append('/usr/include/db4%d' % x) |
| + db_inc_paths.append('/usr/include/db4.%d' % x) |
| + db_inc_paths.append('/usr/local/BerkeleyDB.4.%d/include' % x) |
| + db_inc_paths.append('/usr/local/include/db4%d' % x) |
| + db_inc_paths.append('/pkg/db-4.%d/include' % x) |
| + db_inc_paths.append('/opt/db-4.%d/include' % x) |
| + # MacPorts default (https://www.macports.org/) |
| + db_inc_paths.append('/opt/local/include/db4%d' % x) |
| + # 3.x minor number specific paths |
| + for x in gen_db_minor_ver_nums(3): |
| + db_inc_paths.append('/usr/include/db3%d' % x) |
| + db_inc_paths.append('/usr/local/BerkeleyDB.3.%d/include' % x) |
| + db_inc_paths.append('/usr/local/include/db3%d' % x) |
| + db_inc_paths.append('/pkg/db-3.%d/include' % x) |
| + db_inc_paths.append('/opt/db-3.%d/include' % x) |
| + |
| + if CROSS_COMPILING: |
| + db_inc_paths = [] |
| + |
| + # Add some common subdirectories for Sleepycat DB to the list, |
| + # based on the standard include directories. This way DB3/4 gets |
| + # picked up when it is installed in a non-standard prefix and |
| + # the user has added that prefix into inc_dirs. |
| + std_variants = [] |
| + for dn in self.inc_dirs: |
| + std_variants.append(os.path.join(dn, 'db3')) |
| + std_variants.append(os.path.join(dn, 'db4')) |
| + for x in gen_db_minor_ver_nums(4): |
| + std_variants.append(os.path.join(dn, "db4%d"%x)) |
| + std_variants.append(os.path.join(dn, "db4.%d"%x)) |
| + for x in gen_db_minor_ver_nums(3): |
| + std_variants.append(os.path.join(dn, "db3%d"%x)) |
| + std_variants.append(os.path.join(dn, "db3.%d"%x)) |
| + |
| + db_inc_paths = std_variants + db_inc_paths |
| + db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)] |
| + |
| + db_ver_inc_map = {} |
| + |
| + if MACOS: |
| + sysroot = macosx_sdk_root() |
| + |
| + class db_found(Exception): pass |
| + try: |
| + # See whether there is a Sleepycat header in the standard |
| + # search path. |
| + for d in self.inc_dirs + db_inc_paths: |
| + f = os.path.join(d, "db.h") |
| + if MACOS and is_macosx_sdk_path(d): |
| + f = os.path.join(sysroot, d[1:], "db.h") |
| + |
| + if db_setup_debug: print("db: looking for db.h in", f) |
| + if os.path.exists(f): |
| + with open(f, 'rb') as file: |
| + f = file.read() |
| + m = re.search(br"#define\WDB_VERSION_MAJOR\W(\d+)", f) |
| + if m: |
| + db_major = int(m.group(1)) |
| + m = re.search(br"#define\WDB_VERSION_MINOR\W(\d+)", f) |
| + db_minor = int(m.group(1)) |
| + db_ver = (db_major, db_minor) |
| + |
| + # Avoid 4.6 prior to 4.6.21 due to a BerkeleyDB bug |
| + if db_ver == (4, 6): |
| + m = re.search(br"#define\WDB_VERSION_PATCH\W(\d+)", f) |
| + db_patch = int(m.group(1)) |
| + if db_patch < 21: |
| + print("db.h:", db_ver, "patch", db_patch, |
| + "being ignored (4.6.x must be >= 4.6.21)") |
| + continue |
| + |
| + if ( (db_ver not in db_ver_inc_map) and |
| + allow_db_ver(db_ver) ): |
| + # save the include directory with the db.h version |
| + # (first occurrence only) |
| + db_ver_inc_map[db_ver] = d |
| + if db_setup_debug: |
| + print("db.h: found", db_ver, "in", d) |
| + else: |
| + # we already found a header for this library version |
| + if db_setup_debug: print("db.h: ignoring", d) |
| + else: |
| + # ignore this header, it didn't contain a version number |
| + if db_setup_debug: |
| + print("db.h: no version number version in", d) |
| + |
| + db_found_vers = list(db_ver_inc_map.keys()) |
| + db_found_vers.sort() |
| + |
| + while db_found_vers: |
| + db_ver = db_found_vers.pop() |
| + db_incdir = db_ver_inc_map[db_ver] |
| + |
| + # check lib directories parallel to the location of the header |
| + db_dirs_to_check = [ |
| + db_incdir.replace("include", 'lib64'), |
| + db_incdir.replace("include", 'lib'), |
| + ] |
| + |
| + if not MACOS: |
| + db_dirs_to_check = list(filter(os.path.isdir, db_dirs_to_check)) |
| + |
| + else: |
| + # Same as other branch, but takes OSX SDK into account |
| + tmp = [] |
| + for dn in db_dirs_to_check: |
| + if is_macosx_sdk_path(dn): |
| + if os.path.isdir(os.path.join(sysroot, dn[1:])): |
| + tmp.append(dn) |
| + else: |
| + if os.path.isdir(dn): |
| + tmp.append(dn) |
| + db_dirs_to_check = tmp |
| + |
| + db_dirs_to_check = tmp |
| + |
| + # Look for a version specific db-X.Y before an ambiguous dbX |
| + # XXX should we -ever- look for a dbX name? Do any |
| + # systems really not name their library by version and |
| + # symlink to more general names? |
| + for dblib in (('db-%d.%d' % db_ver), |
| + ('db%d%d' % db_ver), |
| + ('db%d' % db_ver[0])): |
| + dblib_file = self.compiler.find_library_file( |
| + db_dirs_to_check + self.lib_dirs, dblib ) |
| + if dblib_file: |
| + dblib_dir = [ os.path.abspath(os.path.dirname(dblib_file)) ] |
| + raise db_found |
| + else: |
| + if db_setup_debug: print("db lib: ", dblib, "not found") |
| + |
| + except db_found: |
| + if db_setup_debug: |
| + print("bsddb using BerkeleyDB lib:", db_ver, dblib) |
| + print("bsddb lib dir:", dblib_dir, " inc dir:", db_incdir) |
| + dblibs = [dblib] |
| + # Only add the found library and include directories if they aren't |
| + # already being searched. This avoids an explicit runtime library |
| + # dependency. |
| + if db_incdir in self.inc_dirs: |
| + db_incs = None |
| + else: |
| + db_incs = [db_incdir] |
| + if dblib_dir[0] in self.lib_dirs: |
| + dblib_dir = None |
| + else: |
| + if db_setup_debug: print("db: no appropriate library found") |
| + db_incs = None |
| + dblibs = [] |
| + dblib_dir = None |
| + |
| + dbm_setup_debug = False # verbose debug prints from this script? |
| + dbm_order = ['gdbm'] |
| + # The standard Unix dbm module: |
| + if not CYGWIN: |
| + config_args = [arg.strip("'") |
| + for arg in sysconfig.get_config_var("CONFIG_ARGS").split()] |
| + dbm_args = [arg for arg in config_args |
| + if arg.startswith('--with-dbmliborder=')] |
| + if dbm_args: |
| + dbm_order = [arg.split('=')[-1] for arg in dbm_args][-1].split(":") |
| + else: |
| + dbm_order = "ndbm:gdbm:bdb".split(":") |
| + dbmext = None |
| + for cand in dbm_order: |
| + if cand == "ndbm": |
| + if find_file("ndbm.h", self.inc_dirs, []) is not None: |
| + # Some systems have -lndbm, others have -lgdbm_compat, |
| + # others don't have either |
| + if self.compiler.find_library_file(self.lib_dirs, |
| + 'ndbm'): |
| + ndbm_libs = ['ndbm'] |
| + elif self.compiler.find_library_file(self.lib_dirs, |
| + 'gdbm_compat'): |
| + ndbm_libs = ['gdbm_compat'] |
| + else: |
| + ndbm_libs = [] |
| + if dbm_setup_debug: print("building dbm using ndbm") |
| + dbmext = Extension('_dbm', ['_dbmmodule.c'], |
| + define_macros=[ |
| + ('HAVE_NDBM_H',None), |
| + ], |
| + libraries=ndbm_libs) |
| + break |
| + |
| + elif cand == "gdbm": |
| + if self.compiler.find_library_file(self.lib_dirs, 'gdbm'): |
| + gdbm_libs = ['gdbm'] |
| + if self.compiler.find_library_file(self.lib_dirs, |
| + 'gdbm_compat'): |
| + gdbm_libs.append('gdbm_compat') |
| + if find_file("gdbm/ndbm.h", self.inc_dirs, []) is not None: |
| + if dbm_setup_debug: print("building dbm using gdbm") |
| + dbmext = Extension( |
| + '_dbm', ['_dbmmodule.c'], |
| + define_macros=[ |
| + ('HAVE_GDBM_NDBM_H', None), |
| + ], |
| + libraries = gdbm_libs) |
| + break |
| + if find_file("gdbm-ndbm.h", self.inc_dirs, []) is not None: |
| + if dbm_setup_debug: print("building dbm using gdbm") |
| + dbmext = Extension( |
| + '_dbm', ['_dbmmodule.c'], |
| + define_macros=[ |
| + ('HAVE_GDBM_DASH_NDBM_H', None), |
| + ], |
| + libraries = gdbm_libs) |
| + break |
| + elif cand == "bdb": |
| + if dblibs: |
| + if dbm_setup_debug: print("building dbm using bdb") |
| + dbmext = Extension('_dbm', ['_dbmmodule.c'], |
| + library_dirs=dblib_dir, |
| + runtime_library_dirs=dblib_dir, |
| + include_dirs=db_incs, |
| + define_macros=[ |
| + ('HAVE_BERKDB_H', None), |
| + ('DB_DBM_HSEARCH', None), |
| + ], |
| + libraries=dblibs) |
| + break |
| + if dbmext is not None: |
| + self.add(dbmext) |
| + else: |
| + self.missing.append('_dbm') |
| + |
| + # Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm: |
| + if ('gdbm' in dbm_order and |
| + self.compiler.find_library_file(self.lib_dirs, 'gdbm')): |
| + self.add(Extension('_gdbm', ['_gdbmmodule.c'], |
| + libraries=['gdbm'])) |
| + else: |
| + self.missing.append('_gdbm') |
| + |
| + def detect_sqlite(self): |
| + # The sqlite interface |
| + sqlite_setup_debug = False # verbose debug prints from this script? |
| + |
| + # We hunt for #define SQLITE_VERSION "n.n.n" |
| + sqlite_incdir = sqlite_libdir = None |
| + sqlite_inc_paths = [ '/usr/include', |
| + '/usr/include/sqlite', |
| + '/usr/include/sqlite3', |
| + '/usr/local/include', |
| + '/usr/local/include/sqlite', |
| + '/usr/local/include/sqlite3', |
| + ] |
| + if CROSS_COMPILING: |
| + sqlite_inc_paths = [] |
| + MIN_SQLITE_VERSION_NUMBER = (3, 7, 15) # Issue 40810 |
| + MIN_SQLITE_VERSION = ".".join([str(x) |
| + for x in MIN_SQLITE_VERSION_NUMBER]) |
| + |
| + # Scan the default include directories before the SQLite specific |
| + # ones. This allows one to override the copy of sqlite on OSX, |
| + # where /usr/include contains an old version of sqlite. |
| + if MACOS: |
| + sysroot = macosx_sdk_root() |
| + |
| + for d_ in self.inc_dirs + sqlite_inc_paths: |
| + d = d_ |
| + if MACOS and is_macosx_sdk_path(d): |
| + d = os.path.join(sysroot, d[1:]) |
| + |
| + f = os.path.join(d, "sqlite3.h") |
| + if os.path.exists(f): |
| + if sqlite_setup_debug: print("sqlite: found %s"%f) |
| + with open(f) as file: |
| + incf = file.read() |
| + m = re.search( |
| + r'\s*.*#\s*.*define\s.*SQLITE_VERSION\W*"([\d\.]*)"', incf) |
| + if m: |
| + sqlite_version = m.group(1) |
| + sqlite_version_tuple = tuple([int(x) |
| + for x in sqlite_version.split(".")]) |
| + if sqlite_version_tuple >= MIN_SQLITE_VERSION_NUMBER: |
| + # we win! |
| + if sqlite_setup_debug: |
| + print("%s/sqlite3.h: version %s"%(d, sqlite_version)) |
| + sqlite_incdir = d |
| + break |
| + else: |
| + if sqlite_setup_debug: |
| + print("%s: version %s is too old, need >= %s"%(d, |
| + sqlite_version, MIN_SQLITE_VERSION)) |
| + elif sqlite_setup_debug: |
| + print("sqlite: %s had no SQLITE_VERSION"%(f,)) |
| + |
| + if sqlite_incdir: |
| + sqlite_dirs_to_check = [ |
| + os.path.join(sqlite_incdir, '..', 'lib64'), |
| + os.path.join(sqlite_incdir, '..', 'lib'), |
| + os.path.join(sqlite_incdir, '..', '..', 'lib64'), |
| + os.path.join(sqlite_incdir, '..', '..', 'lib'), |
| + ] |
| + sqlite_libfile = self.compiler.find_library_file( |
| + sqlite_dirs_to_check + self.lib_dirs, 'sqlite3') |
| + if sqlite_libfile: |
| + sqlite_libdir = [os.path.abspath(os.path.dirname(sqlite_libfile))] |
| + |
| + if sqlite_incdir and sqlite_libdir: |
| + sqlite_srcs = ['_sqlite/cache.c', |
| + '_sqlite/connection.c', |
| + '_sqlite/cursor.c', |
| + '_sqlite/microprotocols.c', |
| + '_sqlite/module.c', |
| + '_sqlite/prepare_protocol.c', |
| + '_sqlite/row.c', |
| + '_sqlite/statement.c', |
| + '_sqlite/util.c', ] |
| + sqlite_defines = [] |
| + |
| + # Enable support for loadable extensions in the sqlite3 module |
| + # if --enable-loadable-sqlite-extensions configure option is used. |
| + if '--enable-loadable-sqlite-extensions' not in sysconfig.get_config_var("CONFIG_ARGS"): |
| + sqlite_defines.append(("SQLITE_OMIT_LOAD_EXTENSION", "1")) |
| + elif MACOS and sqlite_incdir == os.path.join(MACOS_SDK_ROOT, "usr/include"): |
| + raise DistutilsError("System version of SQLite does not support loadable extensions") |
| + |
| + if MACOS: |
| + # In every directory on the search path search for a dynamic |
| + # library and then a static library, instead of first looking |
| + # for dynamic libraries on the entire path. |
| + # This way a statically linked custom sqlite gets picked up |
| + # before the dynamic library in /usr/lib. |
| + sqlite_extra_link_args = ('-Wl,-search_paths_first',) |
| + else: |
| + sqlite_extra_link_args = () |
| + |
| + include_dirs = ["Modules/_sqlite"] |
| + # Only include the directory where sqlite was found if it does |
| + # not already exist in set include directories, otherwise you |
| + # can end up with a bad search path order. |
| + if sqlite_incdir not in self.compiler.include_dirs: |
| + include_dirs.append(sqlite_incdir) |
| + # avoid a runtime library path for a system library dir |
| + if sqlite_libdir and sqlite_libdir[0] in self.lib_dirs: |
| + sqlite_libdir = None |
| + self.add(Extension('_sqlite3', sqlite_srcs, |
| + define_macros=sqlite_defines, |
| + include_dirs=include_dirs, |
| + library_dirs=sqlite_libdir, |
| + extra_link_args=sqlite_extra_link_args, |
| + libraries=["sqlite3",])) |
| + else: |
| + self.missing.append('_sqlite3') |
| + |
| + def detect_platform_specific_exts(self): |
| + # Unix-only modules |
| + if not MS_WINDOWS: |
| + if not VXWORKS: |
| + # Steen Lumholt's termios module |
| + self.add(Extension('termios', ['termios.c'])) |
| + # Jeremy Hylton's rlimit interface |
| + self.add(Extension('resource', ['resource.c'])) |
| + else: |
| + self.missing.extend(['resource', 'termios']) |
| + |
| + # Platform-specific libraries |
| + if HOST_PLATFORM.startswith(('linux', 'freebsd', 'gnukfreebsd')): |
| + self.add(Extension('ossaudiodev', ['ossaudiodev.c'])) |
| + elif HOST_PLATFORM.startswith(('netbsd')): |
| + self.add(Extension('ossaudiodev', ['ossaudiodev.c'], |
| + libraries=["ossaudio"])) |
| + elif not AIX: |
| + self.missing.append('ossaudiodev') |
| + |
| + if MACOS: |
| + self.add(Extension('_scproxy', ['_scproxy.c'], |
| + extra_link_args=[ |
| + '-framework', 'SystemConfiguration', |
| + '-framework', 'CoreFoundation'])) |
| + |
| + def detect_compress_exts(self): |
| + # Andrew Kuchling's zlib module. Note that some versions of zlib |
| + # 1.1.3 have security problems. See CERT Advisory CA-2002-07: |
| + # http://www.cert.org/advisories/CA-2002-07.html |
| + # |
| + # zlib 1.1.4 is fixed, but at least one vendor (RedHat) has decided to |
| + # patch its zlib 1.1.3 package instead of upgrading to 1.1.4. For |
| + # now, we still accept 1.1.3, because we think it's difficult to |
| + # exploit this in Python, and we'd rather make it RedHat's problem |
| + # than our problem <wink>. |
| + # |
| + # You can upgrade zlib to version 1.1.4 yourself by going to |
| + # http://www.gzip.org/zlib/ |
| + zlib_inc = find_file('zlib.h', [], self.inc_dirs) |
| + have_zlib = False |
| + if zlib_inc is not None: |
| + zlib_h = zlib_inc[0] + '/zlib.h' |
| + version = '"0.0.0"' |
| + version_req = '"1.1.3"' |
| + if MACOS and is_macosx_sdk_path(zlib_h): |
| + zlib_h = os.path.join(macosx_sdk_root(), zlib_h[1:]) |
| + with open(zlib_h) as fp: |
| + while 1: |
| + line = fp.readline() |
| + if not line: |
| + break |
| + if line.startswith('#define ZLIB_VERSION'): |
| + version = line.split()[2] |
| + break |
| + if version >= version_req: |
| + if (self.compiler.find_library_file(self.lib_dirs, 'z')): |
| + if MACOS: |
| + zlib_extra_link_args = ('-Wl,-search_paths_first',) |
| + else: |
| + zlib_extra_link_args = () |
| + self.add(Extension('zlib', ['zlibmodule.c'], |
| + libraries=['z'], |
| + extra_link_args=zlib_extra_link_args)) |
| + have_zlib = True |
| + else: |
| + self.missing.append('zlib') |
| + else: |
| + self.missing.append('zlib') |
| + else: |
| + self.missing.append('zlib') |
| + |
| + # Helper module for various ascii-encoders. Uses zlib for an optimized |
| + # crc32 if we have it. Otherwise binascii uses its own. |
| + if have_zlib: |
| + extra_compile_args = ['-DUSE_ZLIB_CRC32'] |
| + libraries = ['z'] |
| + extra_link_args = zlib_extra_link_args |
| + else: |
| + extra_compile_args = [] |
| + libraries = [] |
| + extra_link_args = [] |
| + self.add(Extension('binascii', ['binascii.c'], |
| + extra_compile_args=extra_compile_args, |
| + libraries=libraries, |
| + extra_link_args=extra_link_args)) |
| + |
| + # Gustavo Niemeyer's bz2 module. |
| + if (self.compiler.find_library_file(self.lib_dirs, 'bz2')): |
| + if MACOS: |
| + bz2_extra_link_args = ('-Wl,-search_paths_first',) |
| + else: |
| + bz2_extra_link_args = () |
| + self.add(Extension('_bz2', ['_bz2module.c'], |
| + libraries=['bz2'], |
| + extra_link_args=bz2_extra_link_args)) |
| + else: |
| + self.missing.append('_bz2') |
| + |
| + # LZMA compression support. |
| + if self.compiler.find_library_file(self.lib_dirs, 'lzma'): |
| + self.add(Extension('_lzma', ['_lzmamodule.c'], |
| + libraries=['lzma'])) |
| + else: |
| + self.missing.append('_lzma') |
| + |
| + def detect_expat_elementtree(self): |
| + # Interface to the Expat XML parser |
| + # |
| + # Expat was written by James Clark and is now maintained by a group of |
| + # developers on SourceForge; see www.libexpat.org for more information. |
| + # The pyexpat module was written by Paul Prescod after a prototype by |
| + # Jack Jansen. The Expat source is included in Modules/expat/. Usage |
| + # of a system shared libexpat.so is possible with --with-system-expat |
| + # configure option. |
| + # |
| + # More information on Expat can be found at www.libexpat.org. |
| + # |
| + if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): |
| + expat_inc = [] |
| + define_macros = [] |
| + extra_compile_args = [] |
| + expat_lib = ['expat'] |
| + expat_sources = [] |
| + expat_depends = [] |
| + else: |
| + expat_inc = [os.path.join(self.srcdir, 'Modules', 'expat')] |
| + define_macros = [ |
| + ('HAVE_EXPAT_CONFIG_H', '1'), |
| + # bpo-30947: Python uses best available entropy sources to |
| + # call XML_SetHashSalt(), expat entropy sources are not needed |
| + ('XML_POOR_ENTROPY', '1'), |
| + ] |
| + extra_compile_args = [] |
| + # bpo-44394: libexpat uses isnan() of math.h and needs linkage |
| + # against the libm |
| + expat_lib = ['m'] |
| + expat_sources = ['expat/xmlparse.c', |
| + 'expat/xmlrole.c', |
| + 'expat/xmltok.c'] |
| + expat_depends = ['expat/ascii.h', |
| + 'expat/asciitab.h', |
| + 'expat/expat.h', |
| + 'expat/expat_config.h', |
| + 'expat/expat_external.h', |
| + 'expat/internal.h', |
| + 'expat/latin1tab.h', |
| + 'expat/utf8tab.h', |
| + 'expat/xmlrole.h', |
| + 'expat/xmltok.h', |
| + 'expat/xmltok_impl.h' |
| + ] |
| + |
| + cc = sysconfig.get_config_var('CC').split()[0] |
| + ret = run_command( |
| + '"%s" -Werror -Wno-unreachable-code -E -xc /dev/null >/dev/null 2>&1' % cc) |
| + if ret == 0: |
| + extra_compile_args.append('-Wno-unreachable-code') |
| + |
| + self.add(Extension('pyexpat', |
| + define_macros=define_macros, |
| + extra_compile_args=extra_compile_args, |
| + include_dirs=expat_inc, |
| + libraries=expat_lib, |
| + sources=['pyexpat.c'] + expat_sources, |
| + depends=expat_depends)) |
| + |
| + # Fredrik Lundh's cElementTree module. Note that this also |
| + # uses expat (via the CAPI hook in pyexpat). |
| + |
| + if os.path.isfile(os.path.join(self.srcdir, 'Modules', '_elementtree.c')): |
| + define_macros.append(('USE_PYEXPAT_CAPI', None)) |
| + self.add(Extension('_elementtree', |
| + define_macros=define_macros, |
| + include_dirs=expat_inc, |
| + libraries=expat_lib, |
| + sources=['_elementtree.c'], |
| + depends=['pyexpat.c', *expat_sources, |
| + *expat_depends])) |
| + else: |
| + self.missing.append('_elementtree') |
| + |
| + def detect_multibytecodecs(self): |
| + # Hye-Shik Chang's CJKCodecs modules. |
| + self.add(Extension('_multibytecodec', |
| + ['cjkcodecs/multibytecodec.c'])) |
| + for loc in ('kr', 'jp', 'cn', 'tw', 'hk', 'iso2022'): |
| + self.add(Extension('_codecs_%s' % loc, |
| + ['cjkcodecs/_codecs_%s.c' % loc])) |
| + |
| + def detect_multiprocessing(self): |
| + # Richard Oudkerk's multiprocessing module |
| + if MS_WINDOWS: |
| + multiprocessing_srcs = ['_multiprocessing/multiprocessing.c', |
| + '_multiprocessing/semaphore.c'] |
| + else: |
| + multiprocessing_srcs = ['_multiprocessing/multiprocessing.c'] |
| + if (sysconfig.get_config_var('HAVE_SEM_OPEN') and not |
| + sysconfig.get_config_var('POSIX_SEMAPHORES_NOT_ENABLED')): |
| + multiprocessing_srcs.append('_multiprocessing/semaphore.c') |
| + self.add(Extension('_multiprocessing', multiprocessing_srcs, |
| + include_dirs=["Modules/_multiprocessing"])) |
| + |
| + if (not MS_WINDOWS and |
| + sysconfig.get_config_var('HAVE_SHM_OPEN') and |
| + sysconfig.get_config_var('HAVE_SHM_UNLINK')): |
| + posixshmem_srcs = ['_multiprocessing/posixshmem.c'] |
| + libs = [] |
| + if sysconfig.get_config_var('SHM_NEEDS_LIBRT'): |
| + # need to link with librt to get shm_open() |
| + libs.append('rt') |
| + self.add(Extension('_posixshmem', posixshmem_srcs, |
| + define_macros={}, |
| + libraries=libs, |
| + include_dirs=["Modules/_multiprocessing"])) |
| + else: |
| + self.missing.append('_posixshmem') |
| + |
| + def detect_uuid(self): |
| + # Build the _uuid module if possible |
| + uuid_h = sysconfig.get_config_var("HAVE_UUID_H") |
| + uuid_uuid_h = sysconfig.get_config_var("HAVE_UUID_UUID_H") |
| + if uuid_h or uuid_uuid_h: |
| + if sysconfig.get_config_var("HAVE_LIBUUID"): |
| + uuid_libs = ["uuid"] |
| + else: |
| + uuid_libs = [] |
| + self.add(Extension('_uuid', ['_uuidmodule.c'], |
| + libraries=uuid_libs)) |
| + else: |
| + self.missing.append('_uuid') |
| + |
| + def detect_modules(self): |
| + self.detect_simple_extensions() |
| + if TEST_EXTENSIONS: |
| + self.detect_test_extensions() |
| + self.detect_readline_curses() |
| + self.detect_crypt() |
| + self.detect_socket() |
| + self.detect_openssl_hashlib() |
| + self.detect_hash_builtins() |
| + self.detect_dbm_gdbm() |
| + self.detect_sqlite() |
| + self.detect_platform_specific_exts() |
| + self.detect_nis() |
| + self.detect_compress_exts() |
| + self.detect_expat_elementtree() |
| + self.detect_multibytecodecs() |
| + self.detect_decimal() |
| + self.detect_ctypes() |
| + self.detect_multiprocessing() |
| + if not self.detect_tkinter(): |
| + self.missing.append('_tkinter') |
| + self.detect_uuid() |
| + |
| +## # Uncomment these lines if you want to play with xxmodule.c |
| +## self.add(Extension('xx', ['xxmodule.c'])) |
| + |
| + # The limited C API is not compatible with the Py_TRACE_REFS macro. |
| + if not sysconfig.get_config_var('Py_TRACE_REFS'): |
| + self.add(Extension('xxlimited', ['xxlimited.c'])) |
| + self.add(Extension('xxlimited_35', ['xxlimited_35.c'])) |
| + |
| + def detect_tkinter_fromenv(self): |
| + # Build _tkinter using the Tcl/Tk locations specified by |
| + # the _TCLTK_INCLUDES and _TCLTK_LIBS environment variables. |
| + # This method is meant to be invoked by detect_tkinter(). |
| + # |
| + # The variables can be set via one of the following ways. |
| + # |
| + # - Automatically, at configuration time, by using pkg-config. |
| + # The tool is called by the configure script. |
| + # Additional pkg-config configuration paths can be set via the |
| + # PKG_CONFIG_PATH environment variable. |
| + # |
| + # PKG_CONFIG_PATH=".../lib/pkgconfig" ./configure ... |
| + # |
| + # - Explicitly, at configuration time by setting both |
| + # --with-tcltk-includes and --with-tcltk-libs. |
| + # |
| + # ./configure ... \ |
| + # --with-tcltk-includes="-I/path/to/tclincludes \ |
| + # -I/path/to/tkincludes" |
| + # --with-tcltk-libs="-L/path/to/tcllibs -ltclm.n \ |
| + # -L/path/to/tklibs -ltkm.n" |
| + # |
| + # - Explicitly, at compile time, by passing TCLTK_INCLUDES and |
| + # TCLTK_LIBS to the make target. |
| + # This will override any configuration-time option. |
| + # |
| + # make TCLTK_INCLUDES="..." TCLTK_LIBS="..." |
| + # |
| + # This can be useful for building and testing tkinter with multiple |
| + # versions of Tcl/Tk. Note that a build of Tk depends on a particular |
| + # build of Tcl so you need to specify both arguments and use care when |
| + # overriding. |
| + |
| + # The _TCLTK variables are created in the Makefile sharedmods target. |
| + tcltk_includes = os.environ.get('_TCLTK_INCLUDES') |
| + tcltk_libs = os.environ.get('_TCLTK_LIBS') |
| + if not (tcltk_includes and tcltk_libs): |
| + # Resume default configuration search. |
| + return False |
| + |
| + extra_compile_args = tcltk_includes.split() |
| + extra_link_args = tcltk_libs.split() |
| + self.add(Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], |
| + define_macros=[('WITH_APPINIT', 1)], |
| + extra_compile_args = extra_compile_args, |
| + extra_link_args = extra_link_args)) |
| + return True |
| + |
| + def detect_tkinter_darwin(self): |
| + # Build default _tkinter on macOS using Tcl and Tk frameworks. |
| + # This method is meant to be invoked by detect_tkinter(). |
| + # |
| + # The macOS native Tk (AKA Aqua Tk) and Tcl are most commonly |
| + # built and installed as macOS framework bundles. However, |
| + # for several reasons, we cannot take full advantage of the |
| + # Apple-supplied compiler chain's -framework options here. |
| + # Instead, we need to find and pass to the compiler the |
| + # absolute paths of the Tcl and Tk headers files we want to use |
| + # and the absolute path to the directory containing the Tcl |
| + # and Tk frameworks for linking. |
| + # |
| + # We want to handle here two common use cases on macOS: |
| + # 1. Build and link with system-wide third-party or user-built |
| + # Tcl and Tk frameworks installed in /Library/Frameworks. |
| + # 2. Build and link using a user-specified macOS SDK so that the |
| + # built Python can be exported to other systems. In this case, |
| + # search only the SDK's /Library/Frameworks (normally empty) |
| + # and /System/Library/Frameworks. |
| + # |
| + # Any other use cases are handled either by detect_tkinter_fromenv(), |
| + # or detect_tkinter(). The former handles non-standard locations of |
| + # Tcl/Tk, defined via the _TCLTK_INCLUDES and _TCLTK_LIBS environment |
| + # variables. The latter handles any Tcl/Tk versions installed in |
| + # standard Unix directories. |
| + # |
| + # It would be desirable to also handle here the case where |
| + # you want to build and link with a framework build of Tcl and Tk |
| + # that is not in /Library/Frameworks, say, in your private |
| + # $HOME/Library/Frameworks directory or elsewhere. It turns |
| + # out to be difficult to make that work automatically here |
| + # without bringing into play more tools and magic. That case |
| + # can be handled using a recipe with the right arguments |
| + # to detect_tkinter_fromenv(). |
| + # |
| + # Note also that the fallback case here is to try to use the |
| + # Apple-supplied Tcl and Tk frameworks in /System/Library but |
| + # be forewarned that they are deprecated by Apple and typically |
| + # out-of-date and buggy; their use should be avoided if at |
| + # all possible by installing a newer version of Tcl and Tk in |
| + # /Library/Frameworks before building Python without |
| + # an explicit SDK or by configuring build arguments explicitly. |
| + |
| + from os.path import join, exists |
| + |
| + sysroot = macosx_sdk_root() # path to the SDK or '/' |
| + |
| + if macosx_sdk_specified(): |
| + # Use case #2: an SDK other than '/' was specified. |
| + # Only search there. |
| + framework_dirs = [ |
| + join(sysroot, 'Library', 'Frameworks'), |
| + join(sysroot, 'System', 'Library', 'Frameworks'), |
| + ] |
| + else: |
| + # Use case #1: no explicit SDK selected. |
| + # Search the local system-wide /Library/Frameworks, |
| + # not the one in the default SDK, otherwise fall back to |
| + # /System/Library/Frameworks whose header files may be in |
| + # the default SDK or, on older systems, actually installed. |
| + framework_dirs = [ |
| + join('/', 'Library', 'Frameworks'), |
| + join(sysroot, 'System', 'Library', 'Frameworks'), |
| + ] |
| + |
| + # Find the directory that contains the Tcl.framework and |
| + # Tk.framework bundles. |
| + for F in framework_dirs: |
| + # both Tcl.framework and Tk.framework should be present |
| + for fw in 'Tcl', 'Tk': |
| + if not exists(join(F, fw + '.framework')): |
| + break |
| + else: |
| + # ok, F is now directory with both frameworks. Continue |
| + # building |
| + break |
| + else: |
| + # Tk and Tcl frameworks not found. Normal "unix" tkinter search |
| + # will now resume. |
| + return False |
| + |
| + include_dirs = [ |
| + join(F, fw + '.framework', H) |
| + for fw in ('Tcl', 'Tk') |
| + for H in ('Headers',) |
| + ] |
| + |
| + # Add the base framework directory as well |
| + compile_args = ['-F', F] |
| + |
| + # Do not build tkinter for archs that this Tk was not built with. |
| + cflags = sysconfig.get_config_vars('CFLAGS')[0] |
| + archs = re.findall(r'-arch\s+(\w+)', cflags) |
| + |
| + tmpfile = os.path.join(self.build_temp, 'tk.arch') |
| + if not os.path.exists(self.build_temp): |
| + os.makedirs(self.build_temp) |
| + |
| + run_command( |
| + "file {}/Tk.framework/Tk | grep 'for architecture' > {}".format(F, tmpfile) |
| + ) |
| + with open(tmpfile) as fp: |
| + detected_archs = [] |
| + for ln in fp: |
| + a = ln.split()[-1] |
| + if a in archs: |
| + detected_archs.append(ln.split()[-1]) |
| + os.unlink(tmpfile) |
| + |
| + arch_args = [] |
| + for a in detected_archs: |
| + arch_args.append('-arch') |
| + arch_args.append(a) |
| + |
| + compile_args += arch_args |
| + link_args = [','.join(['-Wl', '-F', F, '-framework', 'Tcl', '-framework', 'Tk']), *arch_args] |
| + |
| + # The X11/xlib.h file bundled in the Tk sources can cause function |
| + # prototype warnings from the compiler. Since we cannot easily fix |
| + # that, suppress the warnings here instead. |
| + if '-Wstrict-prototypes' in cflags.split(): |
| + compile_args.append('-Wno-strict-prototypes') |
| + |
| + self.add(Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], |
| + define_macros=[('WITH_APPINIT', 1)], |
| + include_dirs=include_dirs, |
| + libraries=[], |
| + extra_compile_args=compile_args, |
| + extra_link_args=link_args)) |
| + return True |
| + |
| + def detect_tkinter(self): |
| + # The _tkinter module. |
| + # |
| + # Detection of Tcl/Tk is attempted in the following order: |
| + # - Through environment variables. |
| + # - Platform specific detection of Tcl/Tk (currently only macOS). |
| + # - Search of various standard Unix header/library paths. |
| + # |
| + # Detection stops at the first successful method. |
| + |
| + # Check for Tcl and Tk at the locations indicated by _TCLTK_INCLUDES |
| + # and _TCLTK_LIBS environment variables. |
| + if self.detect_tkinter_fromenv(): |
| + return True |
| + |
| + # Rather than complicate the code below, detecting and building |
| + # AquaTk is a separate method. Only one Tkinter will be built on |
| + # Darwin - either AquaTk, if it is found, or X11 based Tk. |
| + if (MACOS and self.detect_tkinter_darwin()): |
| + return True |
| + |
| + # Assume we haven't found any of the libraries or include files |
| + # The versions with dots are used on Unix, and the versions without |
| + # dots on Windows, for detection by cygwin. |
| + tcllib = tklib = tcl_includes = tk_includes = None |
| + for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83', |
| + '8.2', '82', '8.1', '81', '8.0', '80']: |
| + tklib = self.compiler.find_library_file(self.lib_dirs, |
| + 'tk' + version) |
| + tcllib = self.compiler.find_library_file(self.lib_dirs, |
| + 'tcl' + version) |
| + if tklib and tcllib: |
| + # Exit the loop when we've found the Tcl/Tk libraries |
| + break |
| + |
| + # Now check for the header files |
| + if tklib and tcllib: |
| + # Check for the include files on Debian and {Free,Open}BSD, where |
| + # they're put in /usr/include/{tcl,tk}X.Y |
| + dotversion = version |
| + if '.' not in dotversion and "bsd" in HOST_PLATFORM.lower(): |
| + # OpenBSD and FreeBSD use Tcl/Tk library names like libtcl83.a, |
| + # but the include subdirs are named like .../include/tcl8.3. |
| + dotversion = dotversion[:-1] + '.' + dotversion[-1] |
| + tcl_include_sub = [] |
| + tk_include_sub = [] |
| + for dir in self.inc_dirs: |
| + tcl_include_sub += [dir + os.sep + "tcl" + dotversion] |
| + tk_include_sub += [dir + os.sep + "tk" + dotversion] |
| + tk_include_sub += tcl_include_sub |
| + tcl_includes = find_file('tcl.h', self.inc_dirs, tcl_include_sub) |
| + tk_includes = find_file('tk.h', self.inc_dirs, tk_include_sub) |
| + |
| + if (tcllib is None or tklib is None or |
| + tcl_includes is None or tk_includes is None): |
| + self.announce("INFO: Can't locate Tcl/Tk libs and/or headers", 2) |
| + return False |
| + |
| + # OK... everything seems to be present for Tcl/Tk. |
| + |
| + include_dirs = [] |
| + libs = [] |
| + defs = [] |
| + added_lib_dirs = [] |
| + for dir in tcl_includes + tk_includes: |
| + if dir not in include_dirs: |
| + include_dirs.append(dir) |
| + |
| + # Check for various platform-specific directories |
| + if HOST_PLATFORM == 'sunos5': |
| + include_dirs.append('/usr/openwin/include') |
| + added_lib_dirs.append('/usr/openwin/lib') |
| + elif os.path.exists('/usr/X11R6/include'): |
| + include_dirs.append('/usr/X11R6/include') |
| + added_lib_dirs.append('/usr/X11R6/lib64') |
| + added_lib_dirs.append('/usr/X11R6/lib') |
| + elif os.path.exists('/usr/X11R5/include'): |
| + include_dirs.append('/usr/X11R5/include') |
| + added_lib_dirs.append('/usr/X11R5/lib') |
| + else: |
| + # Assume default location for X11 |
| + include_dirs.append('/usr/X11/include') |
| + added_lib_dirs.append('/usr/X11/lib') |
| + |
| + # If Cygwin, then verify that X is installed before proceeding |
| + if CYGWIN: |
| + x11_inc = find_file('X11/Xlib.h', [], include_dirs) |
| + if x11_inc is None: |
| + return False |
| + |
| + # Check for BLT extension |
| + if self.compiler.find_library_file(self.lib_dirs + added_lib_dirs, |
| + 'BLT8.0'): |
| + defs.append( ('WITH_BLT', 1) ) |
| + libs.append('BLT8.0') |
| + elif self.compiler.find_library_file(self.lib_dirs + added_lib_dirs, |
| + 'BLT'): |
| + defs.append( ('WITH_BLT', 1) ) |
| + libs.append('BLT') |
| + |
| + # Add the Tcl/Tk libraries |
| + libs.append('tk'+ version) |
| + libs.append('tcl'+ version) |
| + |
| + # Finally, link with the X11 libraries (not appropriate on cygwin) |
| + if not CYGWIN: |
| + libs.append('X11') |
| + |
| + # XXX handle these, but how to detect? |
| + # *** Uncomment and edit for PIL (TkImaging) extension only: |
| + # -DWITH_PIL -I../Extensions/Imaging/libImaging tkImaging.c \ |
| + # *** Uncomment and edit for TOGL extension only: |
| + # -DWITH_TOGL togl.c \ |
| + # *** Uncomment these for TOGL extension only: |
| + # -lGL -lGLU -lXext -lXmu \ |
| + |
| + self.add(Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], |
| + define_macros=[('WITH_APPINIT', 1)] + defs, |
| + include_dirs=include_dirs, |
| + libraries=libs, |
| + library_dirs=added_lib_dirs)) |
| + return True |
| + |
| + def configure_ctypes(self, ext): |
| + return True |
| + |
| + def detect_ctypes(self): |
| + # Thomas Heller's _ctypes module |
| + |
| + if (not sysconfig.get_config_var("LIBFFI_INCLUDEDIR") and MACOS): |
| + self.use_system_libffi = True |
| + else: |
| + self.use_system_libffi = '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS") |
| + |
| + include_dirs = [] |
| + extra_compile_args = ['-DPy_BUILD_CORE_MODULE'] |
| + extra_link_args = [] |
| + sources = ['_ctypes/_ctypes.c', |
| + '_ctypes/callbacks.c', |
| + '_ctypes/callproc.c', |
| + '_ctypes/stgdict.c', |
| + '_ctypes/cfield.c'] |
| + depends = ['_ctypes/ctypes.h'] |
| + |
| + if MACOS: |
| + sources.append('_ctypes/malloc_closure.c') |
| + extra_compile_args.append('-DUSING_MALLOC_CLOSURE_DOT_C=1') |
| + extra_compile_args.append('-DMACOSX') |
| + include_dirs.append('_ctypes/darwin') |
| + |
| + elif HOST_PLATFORM == 'sunos5': |
| + # XXX This shouldn't be necessary; it appears that some |
| + # of the assembler code is non-PIC (i.e. it has relocations |
| + # when it shouldn't. The proper fix would be to rewrite |
| + # the assembler code to be PIC. |
| + # This only works with GCC; the Sun compiler likely refuses |
| + # this option. If you want to compile ctypes with the Sun |
| + # compiler, please research a proper solution, instead of |
| + # finding some -z option for the Sun compiler. |
| + extra_link_args.append('-mimpure-text') |
| + |
| + elif HOST_PLATFORM.startswith('hp-ux'): |
| + extra_link_args.append('-fPIC') |
| + |
| + ext = Extension('_ctypes', |
| + include_dirs=include_dirs, |
| + extra_compile_args=extra_compile_args, |
| + extra_link_args=extra_link_args, |
| + libraries=[], |
| + sources=sources, |
| + depends=depends) |
| + self.add(ext) |
| + if TEST_EXTENSIONS: |
| + # function my_sqrt() needs libm for sqrt() |
| + self.add(Extension('_ctypes_test', |
| + sources=['_ctypes/_ctypes_test.c'], |
| + libraries=['m'])) |
| + |
| + ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR") |
| + ffi_lib = None |
| + |
| + ffi_inc_dirs = self.inc_dirs.copy() |
| + if MACOS: |
| + ffi_in_sdk = os.path.join(macosx_sdk_root(), "usr/include/ffi") |
| + |
| + if not ffi_inc: |
| + if os.path.exists(ffi_in_sdk): |
| + ext.extra_compile_args.append("-DUSING_APPLE_OS_LIBFFI=1") |
| + ffi_inc = ffi_in_sdk |
| + ffi_lib = 'ffi' |
| + else: |
| + # OS X 10.5 comes with libffi.dylib; the include files are |
| + # in /usr/include/ffi |
| + ffi_inc_dirs.append('/usr/include/ffi') |
| + |
| + if not ffi_inc: |
| + found = find_file('ffi.h', [], ffi_inc_dirs) |
| + if found: |
| + ffi_inc = found[0] |
| + if ffi_inc: |
| + ffi_h = ffi_inc + '/ffi.h' |
| + if not os.path.exists(ffi_h): |
| + ffi_inc = None |
| + print('Header file {} does not exist'.format(ffi_h)) |
| + if ffi_lib is None and ffi_inc: |
| + for lib_name in ('ffi', 'ffi_pic'): |
| + if (self.compiler.find_library_file(self.lib_dirs, lib_name)): |
| + ffi_lib = lib_name |
| + break |
| + |
| + if ffi_inc and ffi_lib: |
| + ffi_headers = glob(os.path.join(ffi_inc, '*.h')) |
| + if grep_headers_for('ffi_prep_cif_var', ffi_headers): |
| + ext.extra_compile_args.append("-DHAVE_FFI_PREP_CIF_VAR=1") |
| + if grep_headers_for('ffi_prep_closure_loc', ffi_headers): |
| + ext.extra_compile_args.append("-DHAVE_FFI_PREP_CLOSURE_LOC=1") |
| + if grep_headers_for('ffi_closure_alloc', ffi_headers): |
| + ext.extra_compile_args.append("-DHAVE_FFI_CLOSURE_ALLOC=1") |
| + |
| + ext.include_dirs.append(ffi_inc) |
| + ext.libraries.append(ffi_lib) |
| + self.use_system_libffi = True |
| + |
| + if sysconfig.get_config_var('HAVE_LIBDL'): |
| + # for dlopen, see bpo-32647 |
| + ext.libraries.append('dl') |
| + |
| + def detect_decimal(self): |
| + # Stefan Krah's _decimal module |
| + extra_compile_args = [] |
| + undef_macros = [] |
| + if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): |
| + include_dirs = [] |
| + libraries = ['mpdec'] |
| + sources = ['_decimal/_decimal.c'] |
| + depends = ['_decimal/docstrings.h'] |
| + else: |
| + include_dirs = [os.path.abspath(os.path.join(self.srcdir, |
| + 'Modules', |
| + '_decimal', |
| + 'libmpdec'))] |
| + libraries = ['m'] |
| + sources = [ |
| + '_decimal/_decimal.c', |
| + '_decimal/libmpdec/basearith.c', |
| + '_decimal/libmpdec/constants.c', |
| + '_decimal/libmpdec/context.c', |
| + '_decimal/libmpdec/convolute.c', |
| + '_decimal/libmpdec/crt.c', |
| + '_decimal/libmpdec/difradix2.c', |
| + '_decimal/libmpdec/fnt.c', |
| + '_decimal/libmpdec/fourstep.c', |
| + '_decimal/libmpdec/io.c', |
| + '_decimal/libmpdec/mpalloc.c', |
| + '_decimal/libmpdec/mpdecimal.c', |
| + '_decimal/libmpdec/numbertheory.c', |
| + '_decimal/libmpdec/sixstep.c', |
| + '_decimal/libmpdec/transpose.c', |
| + ] |
| + depends = [ |
| + '_decimal/docstrings.h', |
| + '_decimal/libmpdec/basearith.h', |
| + '_decimal/libmpdec/bits.h', |
| + '_decimal/libmpdec/constants.h', |
| + '_decimal/libmpdec/convolute.h', |
| + '_decimal/libmpdec/crt.h', |
| + '_decimal/libmpdec/difradix2.h', |
| + '_decimal/libmpdec/fnt.h', |
| + '_decimal/libmpdec/fourstep.h', |
| + '_decimal/libmpdec/io.h', |
| + '_decimal/libmpdec/mpalloc.h', |
| + '_decimal/libmpdec/mpdecimal.h', |
| + '_decimal/libmpdec/numbertheory.h', |
| + '_decimal/libmpdec/sixstep.h', |
| + '_decimal/libmpdec/transpose.h', |
| + '_decimal/libmpdec/typearith.h', |
| + '_decimal/libmpdec/umodarith.h', |
| + ] |
| + |
| + config = { |
| + 'x64': [('CONFIG_64','1'), ('ASM','1')], |
| + 'uint128': [('CONFIG_64','1'), ('ANSI','1'), ('HAVE_UINT128_T','1')], |
| + 'ansi64': [('CONFIG_64','1'), ('ANSI','1')], |
| + 'ppro': [('CONFIG_32','1'), ('PPRO','1'), ('ASM','1')], |
| + 'ansi32': [('CONFIG_32','1'), ('ANSI','1')], |
| + 'ansi-legacy': [('CONFIG_32','1'), ('ANSI','1'), |
| + ('LEGACY_COMPILER','1')], |
| + 'universal': [('UNIVERSAL','1')] |
| + } |
| + |
| + cc = sysconfig.get_config_var('CC') |
| + sizeof_size_t = sysconfig.get_config_var('SIZEOF_SIZE_T') |
| + machine = os.environ.get('PYTHON_DECIMAL_WITH_MACHINE') |
| + |
| + if machine: |
| + # Override automatic configuration to facilitate testing. |
| + define_macros = config[machine] |
| + elif MACOS: |
| + # Universal here means: build with the same options Python |
| + # was built with. |
| + define_macros = config['universal'] |
| + elif sizeof_size_t == 8: |
| + if sysconfig.get_config_var('HAVE_GCC_ASM_FOR_X64'): |
| + define_macros = config['x64'] |
| + elif sysconfig.get_config_var('HAVE_GCC_UINT128_T'): |
| + define_macros = config['uint128'] |
| + else: |
| + define_macros = config['ansi64'] |
| + elif sizeof_size_t == 4: |
| + ppro = sysconfig.get_config_var('HAVE_GCC_ASM_FOR_X87') |
| + if ppro and ('gcc' in cc or 'clang' in cc) and \ |
| + not 'sunos' in HOST_PLATFORM: |
| + # solaris: problems with register allocation. |
| + # icc >= 11.0 works as well. |
| + define_macros = config['ppro'] |
| + extra_compile_args.append('-Wno-unknown-pragmas') |
| + else: |
| + define_macros = config['ansi32'] |
| + else: |
| + raise DistutilsError("_decimal: unsupported architecture") |
| + |
| + # Workarounds for toolchain bugs: |
| + if sysconfig.get_config_var('HAVE_IPA_PURE_CONST_BUG'): |
| + # Some versions of gcc miscompile inline asm: |
| + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 |
| + # https://gcc.gnu.org/ml/gcc/2010-11/msg00366.html |
| + extra_compile_args.append('-fno-ipa-pure-const') |
| + if sysconfig.get_config_var('HAVE_GLIBC_MEMMOVE_BUG'): |
| + # _FORTIFY_SOURCE wrappers for memmove and bcopy are incorrect: |
| + # https://sourceware.org/ml/libc-alpha/2010-12/msg00009.html |
| + undef_macros.append('_FORTIFY_SOURCE') |
| + |
| + # Uncomment for extra functionality: |
| + #define_macros.append(('EXTRA_FUNCTIONALITY', 1)) |
| + self.add(Extension('_decimal', |
| + include_dirs=include_dirs, |
| + libraries=libraries, |
| + define_macros=define_macros, |
| + undef_macros=undef_macros, |
| + extra_compile_args=extra_compile_args, |
| + sources=sources, |
| + depends=depends)) |
| + |
| + def detect_openssl_hashlib(self): |
| + # Detect SSL support for the socket module (via _ssl) |
| + config_vars = sysconfig.get_config_vars() |
| + |
| + def split_var(name, sep): |
| + # poor man's shlex, the re module is not available yet. |
| + value = config_vars.get(name) |
| + if not value: |
| + return () |
| + # This trick works because ax_check_openssl uses --libs-only-L, |
| + # --libs-only-l, and --cflags-only-I. |
| + value = ' ' + value |
| + sep = ' ' + sep |
| + return [v.strip() for v in value.split(sep) if v.strip()] |
| + |
| + openssl_includes = split_var('OPENSSL_INCLUDES', '-I') |
| + openssl_libdirs = split_var('OPENSSL_LDFLAGS', '-L') |
| + openssl_libs = split_var('OPENSSL_LIBS', '-l') |
| + openssl_rpath = config_vars.get('OPENSSL_RPATH') |
| + if not openssl_libs: |
| + # libssl and libcrypto not found |
| + self.missing.extend(['_ssl', '_hashlib']) |
| + return None, None |
| + |
| + # Find OpenSSL includes |
| + ssl_incs = find_file( |
| + 'openssl/ssl.h', self.inc_dirs, openssl_includes |
| + ) |
| + if ssl_incs is None: |
| + self.missing.extend(['_ssl', '_hashlib']) |
| + return None, None |
| + |
| + if openssl_rpath == 'auto': |
| + runtime_library_dirs = openssl_libdirs[:] |
| + elif not openssl_rpath: |
| + runtime_library_dirs = [] |
| + else: |
| + runtime_library_dirs = [openssl_rpath] |
| + |
| + openssl_extension_kwargs = dict( |
| + include_dirs=openssl_includes, |
| + library_dirs=openssl_libdirs, |
| + libraries=openssl_libs, |
| + runtime_library_dirs=runtime_library_dirs, |
| + ) |
| + |
| + # This static linking is NOT OFFICIALLY SUPPORTED. |
| + # Requires static OpenSSL build with position-independent code. Some |
| + # features like DSO engines or external OSSL providers don't work. |
| + # Only tested on GCC and clang on X86_64. |
| + if os.environ.get("PY_UNSUPPORTED_OPENSSL_BUILD") == "static": |
| + extra_linker_args = [] |
| + for lib in openssl_extension_kwargs["libraries"]: |
| + # link statically |
| + extra_linker_args.append(f"-l:lib{lib}.a") |
| + # don't export symbols |
| + extra_linker_args.append(f"-Wl,--exclude-libs,lib{lib}.a") |
| + openssl_extension_kwargs["extra_link_args"] = extra_linker_args |
| + # don't link OpenSSL shared libraries. |
| + # include libz for OpenSSL build flavors with compression support |
| + openssl_extension_kwargs["libraries"] = ["z"] |
| + |
| + self.add( |
| + Extension( |
| + '_ssl', |
| + ['_ssl.c'], |
| + depends=[ |
| + 'socketmodule.h', |
| + '_ssl.h', |
| + '_ssl/debughelpers.c', |
| + '_ssl/misc.c', |
| + '_ssl/cert.c', |
| + ], |
| + **openssl_extension_kwargs |
| + ) |
| + ) |
| + self.add( |
| + Extension( |
| + '_hashlib', |
| + ['_hashopenssl.c'], |
| + depends=['hashlib.h'], |
| + **openssl_extension_kwargs, |
| + ) |
| + ) |
| + |
| + def detect_hash_builtins(self): |
| + # By default we always compile these even when OpenSSL is available |
| + # (issue #14693). It's harmless and the object code is tiny |
| + # (40-50 KiB per module, only loaded when actually used). Modules can |
| + # be disabled via the --with-builtin-hashlib-hashes configure flag. |
| + supported = {"md5", "sha1", "sha256", "sha512", "sha3", "blake2"} |
| + |
| + configured = sysconfig.get_config_var("PY_BUILTIN_HASHLIB_HASHES") |
| + configured = configured.strip('"').lower() |
| + configured = { |
| + m.strip() for m in configured.split(",") |
| + } |
| + |
| + self.disabled_configure.extend( |
| + sorted(supported.difference(configured)) |
| + ) |
| + |
| + if "sha256" in configured: |
| + self.add(Extension( |
| + '_sha256', ['sha256module.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'], |
| + depends=['hashlib.h'] |
| + )) |
| + |
| + if "sha512" in configured: |
| + self.add(Extension( |
| + '_sha512', ['sha512module.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'], |
| + depends=['hashlib.h'] |
| + )) |
| + |
| + if "md5" in configured: |
| + self.add(Extension( |
| + '_md5', ['md5module.c'], |
| + depends=['hashlib.h'] |
| + )) |
| + |
| + if "sha1" in configured: |
| + self.add(Extension( |
| + '_sha1', ['sha1module.c'], |
| + depends=['hashlib.h'] |
| + )) |
| + |
| + if "blake2" in configured: |
| + blake2_deps = glob( |
| + os.path.join(escape(self.srcdir), 'Modules/_blake2/impl/*') |
| + ) |
| + blake2_deps.append('hashlib.h') |
| + self.add(Extension( |
| + '_blake2', |
| + [ |
| + '_blake2/blake2module.c', |
| + '_blake2/blake2b_impl.c', |
| + '_blake2/blake2s_impl.c' |
| + ], |
| + depends=blake2_deps |
| + )) |
| + |
| + if "sha3" in configured: |
| + sha3_deps = glob( |
| + os.path.join(escape(self.srcdir), 'Modules/_sha3/kcp/*') |
| + ) |
| + sha3_deps.append('hashlib.h') |
| + self.add(Extension( |
| + '_sha3', |
| + ['_sha3/sha3module.c'], |
| + depends=sha3_deps |
| + )) |
| + |
| + def detect_nis(self): |
| + if MS_WINDOWS or CYGWIN or HOST_PLATFORM == 'qnx6': |
| + self.missing.append('nis') |
| + return |
| + |
| + libs = [] |
| + library_dirs = [] |
| + includes_dirs = [] |
| + |
| + # bpo-32521: glibc has deprecated Sun RPC for some time. Fedora 28 |
| + # moved headers and libraries to libtirpc and libnsl. The headers |
| + # are in tircp and nsl sub directories. |
| + rpcsvc_inc = find_file( |
| + 'rpcsvc/yp_prot.h', self.inc_dirs, |
| + [os.path.join(inc_dir, 'nsl') for inc_dir in self.inc_dirs] |
| + ) |
| + rpc_inc = find_file( |
| + 'rpc/rpc.h', self.inc_dirs, |
| + [os.path.join(inc_dir, 'tirpc') for inc_dir in self.inc_dirs] |
| + ) |
| + if rpcsvc_inc is None or rpc_inc is None: |
| + # not found |
| + self.missing.append('nis') |
| + return |
| + includes_dirs.extend(rpcsvc_inc) |
| + includes_dirs.extend(rpc_inc) |
| + |
| + if self.compiler.find_library_file(self.lib_dirs, 'nsl'): |
| + libs.append('nsl') |
| + else: |
| + # libnsl-devel: check for libnsl in nsl/ subdirectory |
| + nsl_dirs = [os.path.join(lib_dir, 'nsl') for lib_dir in self.lib_dirs] |
| + libnsl = self.compiler.find_library_file(nsl_dirs, 'nsl') |
| + if libnsl is not None: |
| + library_dirs.append(os.path.dirname(libnsl)) |
| + libs.append('nsl') |
| + |
| + if self.compiler.find_library_file(self.lib_dirs, 'tirpc'): |
| + libs.append('tirpc') |
| + |
| + self.add(Extension('nis', ['nismodule.c'], |
| + libraries=libs, |
| + library_dirs=library_dirs, |
| + include_dirs=includes_dirs)) |
| + |
| + |
| +class PyBuildInstall(install): |
| + # Suppress the warning about installation into the lib_dynload |
| + # directory, which is not in sys.path when running Python during |
| + # installation: |
| + def initialize_options (self): |
| + install.initialize_options(self) |
| + self.warn_dir=0 |
| + |
| + # Customize subcommands to not install an egg-info file for Python |
| + sub_commands = [('install_lib', install.has_lib), |
| + ('install_headers', install.has_headers), |
| + ('install_scripts', install.has_scripts), |
| + ('install_data', install.has_data)] |
| + |
| + |
| +class PyBuildInstallLib(install_lib): |
| + # Do exactly what install_lib does but make sure correct access modes get |
| + # set on installed directories and files. All installed files with get |
| + # mode 644 unless they are a shared library in which case they will get |
| + # mode 755. All installed directories will get mode 755. |
| + |
| + # this is works for EXT_SUFFIX too, which ends with SHLIB_SUFFIX |
| + shlib_suffix = sysconfig.get_config_var("SHLIB_SUFFIX") |
| + |
| + def install(self): |
| + outfiles = install_lib.install(self) |
| + self.set_file_modes(outfiles, 0o644, 0o755) |
| + self.set_dir_modes(self.install_dir, 0o755) |
| + return outfiles |
| + |
| + def set_file_modes(self, files, defaultMode, sharedLibMode): |
| + if not files: return |
| + |
| + for filename in files: |
| + if os.path.islink(filename): continue |
| + mode = defaultMode |
| + if filename.endswith(self.shlib_suffix): mode = sharedLibMode |
| + log.info("changing mode of %s to %o", filename, mode) |
| + if not self.dry_run: os.chmod(filename, mode) |
| + |
| + def set_dir_modes(self, dirname, mode): |
| + for dirpath, dirnames, fnames in os.walk(dirname): |
| + if os.path.islink(dirpath): |
| + continue |
| + log.info("changing mode of %s to %o", dirpath, mode) |
| + if not self.dry_run: os.chmod(dirpath, mode) |
| + |
| + |
| +class PyBuildScripts(build_scripts): |
| + def copy_scripts(self): |
| + outfiles, updated_files = build_scripts.copy_scripts(self) |
| + fullversion = '-{0[0]}.{0[1]}'.format(sys.version_info) |
| + minoronly = '.{0[1]}'.format(sys.version_info) |
| + newoutfiles = [] |
| + newupdated_files = [] |
| + for filename in outfiles: |
| + if filename.endswith('2to3'): |
| + newfilename = filename + fullversion |
| + else: |
| + newfilename = filename + minoronly |
| + log.info(f'renaming {filename} to {newfilename}') |
| + os.rename(filename, newfilename) |
| + newoutfiles.append(newfilename) |
| + if filename in updated_files: |
| + newupdated_files.append(newfilename) |
| + return newoutfiles, newupdated_files |
| + |
| + |
| +def main(): |
| + global LIST_MODULE_NAMES |
| + |
| + if "--list-module-names" in sys.argv: |
| + LIST_MODULE_NAMES = True |
| + sys.argv.remove("--list-module-names") |
| + |
| + set_compiler_flags('CFLAGS', 'PY_CFLAGS_NODIST') |
| + set_compiler_flags('LDFLAGS', 'PY_LDFLAGS_NODIST') |
| + |
| + class DummyProcess: |
| + """Hack for parallel build""" |
| + ProcessPoolExecutor = None |
| + |
| + sys.modules['concurrent.futures.process'] = DummyProcess |
| + validate_tzpath() |
| + |
| + # turn off warnings when deprecated modules are imported |
| + import warnings |
| + warnings.filterwarnings("ignore",category=DeprecationWarning) |
| + setup(# PyPI Metadata (PEP 301) |
| + name = "Python", |
| + version = sys.version.split()[0], |
| + url = "https://www.python.org/%d.%d" % sys.version_info[:2], |
| + maintainer = "Guido van Rossum and the Python community", |
| + maintainer_email = "python-dev@python.org", |
| + description = "A high-level object-oriented programming language", |
| + long_description = SUMMARY.strip(), |
| + license = "PSF license", |
| + classifiers = [x for x in CLASSIFIERS.split("\n") if x], |
| + platforms = ["Many"], |
| + |
| + # Build info |
| + cmdclass = {'build_ext': PyBuildExt, |
| + 'build_scripts': PyBuildScripts, |
| + 'install': PyBuildInstall, |
| + 'install_lib': PyBuildInstallLib}, |
| + # The struct module is defined here, because build_ext won't be |
| + # called unless there's at least one extension module defined. |
| + ext_modules=[Extension('_struct', ['_struct.c'], |
| + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])], |
| + |
| + # If you change the scripts installed here, you also need to |
| + # check the PyBuildScripts command above, and change the links |
| + # created by the bininstall target in Makefile.pre.in |
| + scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3", |
| + "Tools/scripts/2to3"] |
| + ) |
| + |
| +# --install-platlib |
| +if __name__ == '__main__': |
| + main() |
| |
| |
| |
| |
| |
| Property changes on: Python-3.10.8-new |
| ___________________________________________________________________ |
| Added: svn:ignore |
| ## -0,0 +1,73 ## |
| + |
| +# install dir |
| +dist |
| + |
| +# Target build dirs |
| +.a1x-newlib |
| +.a2x-newlib |
| +.at91sam7s-newlib |
| + |
| +.build-machine |
| + |
| +.a1x-glibc |
| +.a2x-glibc |
| +.h3-glibc |
| +.h5-glibc |
| +.i586-glibc |
| +.i686-glibc |
| +.imx6-glibc |
| +.jz47xx-glibc |
| +.makefile |
| +.am335x-glibc |
| +.omap543x-glibc |
| +.p5600-glibc |
| +.power8-glibc |
| +.power8le-glibc |
| +.power9-glibc |
| +.power9le-glibc |
| +.m1000-glibc |
| +.riscv64-glibc |
| +.rk328x-glibc |
| +.rk33xx-glibc |
| +.rk339x-glibc |
| +.s8xx-glibc |
| +.s9xx-glibc |
| +.x86_64-glibc |
| + |
| +# Hidden files (each file) |
| +.makefile |
| +.dist |
| +.rootfs |
| + |
| +# src & hw requires |
| +.src_requires |
| +.src_requires_depend |
| +.requires |
| +.requires_depend |
| + |
| +# Tarballs |
| +*.gz |
| +*.bz2 |
| +*.lz |
| +*.xz |
| +*.tgz |
| +*.txz |
| + |
| +# Signatures |
| +*.asc |
| +*.sig |
| +*.sign |
| +*.sha1sum |
| + |
| +# Patches |
| +*.patch |
| + |
| +# Descriptions |
| +*.dsc |
| +*.txt |
| + |
| +# Default linux config files |
| +*.defconfig |
| + |
| +# backup copies |
| +*~ |
| |
| |
| |
| |
| @@ -0,0 +1,15 @@ |
| +#!/bin/sh |
| + |
| +VERSION=3.10.8 |
| + |
| +tar --files-from=file.list -xJvf ../Python-$VERSION.tar.xz |
| +mv Python-$VERSION Python-$VERSION-orig |
| + |
| +cp -rf ./Python-$VERSION-new ./Python-$VERSION |
| + |
| +diff --unified -Nr Python-$VERSION-orig Python-$VERSION > Python-$VERSION-cross.patch |
| + |
| +mv Python-$VERSION-cross.patch ../patches |
| + |
| +rm -rf ./Python-$VERSION |
| +rm -rf ./Python-$VERSION-orig |
| |
| Property changes on: create.patch.sh |
| ___________________________________________________________________ |
| Added: svn:executable |
| ## -0,0 +1 ## |
| +* |
| \ No newline at end of property |
| |
| |
| |
| |
| @@ -0,0 +1,4 @@ |
| +Python-3.10.8/Modules/Setup |
| +Python-3.10.8/configure |
| +Python-3.10.8/configure.ac |
| +Python-3.10.8/setup.py |
| |
| |
| |
| |
| |
| Property changes on: . |
| ___________________________________________________________________ |
| Added: svn:ignore |
| ## -0,0 +1,73 ## |
| + |
| +# install dir |
| +dist |
| + |
| +# Target build dirs |
| +.a1x-newlib |
| +.a2x-newlib |
| +.at91sam7s-newlib |
| + |
| +.build-machine |
| + |
| +.a1x-glibc |
| +.a2x-glibc |
| +.h3-glibc |
| +.h5-glibc |
| +.i586-glibc |
| +.i686-glibc |
| +.imx6-glibc |
| +.jz47xx-glibc |
| +.makefile |
| +.am335x-glibc |
| +.omap543x-glibc |
| +.p5600-glibc |
| +.power8-glibc |
| +.power8le-glibc |
| +.power9-glibc |
| +.power9le-glibc |
| +.m1000-glibc |
| +.riscv64-glibc |
| +.rk328x-glibc |
| +.rk33xx-glibc |
| +.rk339x-glibc |
| +.s8xx-glibc |
| +.s9xx-glibc |
| +.x86_64-glibc |
| + |
| +# Hidden files (each file) |
| +.makefile |
| +.dist |
| +.rootfs |
| + |
| +# src & hw requires |
| +.src_requires |
| +.src_requires_depend |
| +.requires |
| +.requires_depend |
| + |
| +# Tarballs |
| +*.gz |
| +*.bz2 |
| +*.lz |
| +*.xz |
| +*.tgz |
| +*.txz |
| + |
| +# Signatures |
| +*.asc |
| +*.sig |
| +*.sign |
| +*.sha1sum |
| + |
| +# Patches |
| +*.patch |
| + |
| +# Descriptions |
| +*.dsc |
| +*.txt |
| + |
| +# Default linux config files |
| +*.defconfig |
| + |
| +# backup copies |
| +*~ |
| |