GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — cpython/configure.ac at main · Smit962004/cpython Expand file tree/ Copy pathconfigure.acMore file actions 8062 lines (7354 loc) · 253 KB / Copy pathconfigure.acFile metadata and controls8062 lines (7354 loc) · 253 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 dnl ************************************************************ dnl * Please run autoreconf -ivf -Werror to test your changes! * dnl ************************************************************ dnl dnl Python's configure script requires autoconf 2.72, autoconf-archive, dnl aclocal 1.16, and pkg-config. dnl dnl It is recommended to use the Tools/build/regen-configure.sh shell script dnl to regenerate the configure script. dnl # Set VERSION so we only need to edit in one place (i.e., here) m4_define([PYTHON_VERSION], [3.14]) AC_PREREQ([2.72]) 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])] )dnl m4_ifdef( [PKG_PROG_PKG_CONFIG], [], [AC_MSG_ERROR([Please install pkgconf's m4 macro package and re-run autoreconf])] )dnl dnl Helpers for saving and restoring environment variables: dnl - _SAVE_VAR([VAR]) Helper for SAVE_ENV; stores VAR as save_VAR dnl - _RESTORE_VAR([VAR]) Helper for RESTORE_ENV; restores VAR from save_VAR dnl - SAVE_ENV Saves CFLAGS, LDFLAGS, LIBS, and CPPFLAGS dnl - RESTORE_ENV Restores CFLAGS, LDFLAGS, LIBS, and CPPFLAGS dnl - WITH_SAVE_ENV([SCRIPT]) Runs SCRIPT wrapped with SAVE_ENV/RESTORE_ENV AC_DEFUN([_SAVE_VAR], [AS_VAR_COPY([save_][$1], [$1])])dnl AC_DEFUN([_RESTORE_VAR], [AS_VAR_COPY([$1], [save_][$1])])dnl AC_DEFUN([SAVE_ENV], [_SAVE_VAR([CFLAGS])] [_SAVE_VAR([CPPFLAGS])] [_SAVE_VAR([LDFLAGS])] [_SAVE_VAR([LIBS])] )dnl AC_DEFUN([RESTORE_ENV], [_RESTORE_VAR([CFLAGS])] [_RESTORE_VAR([CPPFLAGS])] [_RESTORE_VAR([LDFLAGS])] [_RESTORE_VAR([LIBS])] )dnl AC_DEFUN([WITH_SAVE_ENV], [SAVE_ENV] [$1] [RESTORE_ENV] )dnl dnl PY_CHECK_FUNC(FUNCTION, [INCLUDES], [AC_DEFINE-VAR]) AC_DEFUN([PY_CHECK_FUNC], [ AS_VAR_PUSHDEF([py_var], [ac_cv_func_$1]) AS_VAR_PUSHDEF([py_define], m4_ifblank([$3], [[HAVE_]m4_toupper($1)], [$3])) AC_CACHE_CHECK( [for $1], [py_var], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2], [void *x=$1])], [AS_VAR_SET([py_var], [yes])], [AS_VAR_SET([py_var], [no])])] ) AS_VAR_IF( [py_var], [yes], [AC_DEFINE([py_define], [1], [Define if you have the '$1' function.])]) AS_VAR_POPDEF([py_var]) AS_VAR_POPDEF([py_define]) ]) dnl PY_CHECK_LIB(LIBRARY, FUNCTION, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [OTHER-LIBRARIES]) dnl Like AC_CHECK_LIB() but does not modify LIBS AC_DEFUN([PY_CHECK_LIB], [AS_VAR_COPY([py_check_lib_save_LIBS], [LIBS])] [AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])] [AS_VAR_COPY([LIBS], [py_check_lib_save_LIBS])] ) dnl PY_CHECK_EMSCRIPTEN_PORT(PKG_VAR, [EMPORT_ARGS]) dnl Use Emscripten port unless user passes ${PKG_VAR}_CFLAGS dnl or ${PKG_VAR}_LIBS to configure. AC_DEFUN([PY_CHECK_EMSCRIPTEN_PORT], [ AS_VAR_PUSHDEF([py_cflags], [$1_CFLAGS]) AS_VAR_PUSHDEF([py_libs], [$1_LIBS]) AS_IF([test "$ac_sys_system" = "Emscripten" -a -z "$py_cflags" -a -z "$py_libs"], [ py_cflags="$2" py_libs="$2" ]) AS_VAR_POPDEF([py_cflags]) AS_VAR_POPDEF([py_libs]) ]) 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 # (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_HEADERS([pyconfig.h]) AC_CANONICAL_HOST AC_SUBST([build]) AC_SUBST([host]) AS_VAR_IF([cross_compiling], [maybe], [AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])] ) # pybuilddir.txt will be created by --generate-posix-vars in the Makefile rm -f pybuilddir.txt AC_ARG_WITH([build-python], [AS_HELP_STRING([--with-build-python=python]PYTHON_VERSION, [path to build python binary for cross compiling (default: _bootstrap_python or python]PYTHON_VERSION[)])], [ AC_MSG_CHECKING([for --with-build-python]) AS_VAR_IF([with_build_python], [yes], [with_build_python=python$PACKAGE_VERSION]) AS_VAR_IF([with_build_python], [no], [AC_MSG_ERROR([invalid --with-build-python option: expected path or "yes", not "no"])]) if ! $(command -v "$with_build_python" >/dev/null 2>&1); then AC_MSG_ERROR([invalid or missing build python binary "$with_build_python"]) fi build_python_ver=$($with_build_python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") if test "$build_python_ver" != "$PACKAGE_VERSION"; then AC_MSG_ERROR(["$with_build_python" has incompatible version $build_python_ver (expected: $PACKAGE_VERSION)]) fi dnl Build Python interpreter is used for regeneration and freezing. ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python PYTHON_FOR_FREEZE="$with_build_python" PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) _PYTHON_SYSCONFIGDATA_PATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`) '$with_build_python AC_MSG_RESULT([$with_build_python]) ], [ AS_VAR_IF([cross_compiling], [yes], [AC_MSG_ERROR([Cross compiling requires --with-build-python])] ) PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' PYTHON_FOR_FREEZE="./_bootstrap_python" ] ) AC_SUBST([PYTHON_FOR_BUILD]) AC_MSG_CHECKING([for Python interpreter freezing]) AC_MSG_RESULT([$PYTHON_FOR_FREEZE]) AC_SUBST([PYTHON_FOR_FREEZE]) AS_VAR_IF([cross_compiling], [yes], [ dnl external build Python, freezing depends on Programs/_freeze_module.py FREEZE_MODULE_BOOTSTRAP='$(PYTHON_FOR_FREEZE) $(srcdir)/Programs/_freeze_module.py' FREEZE_MODULE_BOOTSTRAP_DEPS='$(srcdir)/Programs/_freeze_module.py' FREEZE_MODULE='$(FREEZE_MODULE_BOOTSTRAP)' FREEZE_MODULE_DEPS='$(FREEZE_MODULE_BOOTSTRAP_DEPS)' PYTHON_FOR_BUILD_DEPS='' ], [ dnl internal build tools also depend on Programs/_freeze_module and _bootstrap_python. FREEZE_MODULE_BOOTSTRAP='./Programs/_freeze_module' FREEZE_MODULE_BOOTSTRAP_DEPS="Programs/_freeze_module" FREEZE_MODULE='$(PYTHON_FOR_FREEZE) $(srcdir)/Programs/_freeze_module.py' FREEZE_MODULE_DEPS="_bootstrap_python \$(srcdir)/Programs/_freeze_module.py" PYTHON_FOR_BUILD_DEPS='$(BUILDPYTHON)' ] ) AC_SUBST([FREEZE_MODULE_BOOTSTRAP]) AC_SUBST([FREEZE_MODULE_BOOTSTRAP_DEPS]) AC_SUBST([FREEZE_MODULE]) AC_SUBST([FREEZE_MODULE_DEPS]) AC_SUBST([PYTHON_FOR_BUILD_DEPS]) AC_CHECK_PROGS([PYTHON_FOR_REGEN], [python$PACKAGE_VERSION python3.13 python3.12 python3.11 python3.10 python3 python], [python3]) AC_SUBST([PYTHON_FOR_REGEN]) AC_MSG_CHECKING([Python for regen version]) if command -v "$PYTHON_FOR_REGEN" >/dev/null 2>&1; then AC_MSG_RESULT([$($PYTHON_FOR_REGEN -V 2>/dev/null)]) else AC_MSG_RESULT([missing]) fi 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 definition 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 definition 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 definition 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" dnl Allow users to disable pkg-config or require pkg-config AC_ARG_WITH([pkg-config], [AS_HELP_STRING([[--with-pkg-config=[yes|no|check]]], [use pkg-config to detect build options (default is check)])], [], [with_pkg_config=check] ) AS_CASE([$with_pkg_config], [yes|check], [ if test -z "$PKG_CONFIG"; then dnl invalidate stale config.cache values AS_UNSET([PKG_CONFIG]) AS_UNSET([ac_cv_path_ac_pt_PKG_CONFIG]) AS_UNSET([ac_cv_prog_ac_ct_PKG_CONFIG]) fi PKG_PROG_PKG_CONFIG ], [no], [ PKG_CONFIG='' dnl force AX_CHECK_OPENSSL to ignore pkg-config ac_cv_path_ac_pt_PKG_CONFIG='' ac_cv_prog_ac_ct_PKG_CONFIG='' ], [AC_MSG_ERROR([invalid argument --with-pkg-config=$with_pkg_config])] ) if test "$with_pkg_config" = yes -a -z "$PKG_CONFIG"; then AC_MSG_ERROR([pkg-config is required])] fi # 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 ;; *-apple-ios*) ac_sys_system=iOS ;; *-*-darwin*) ac_sys_system=Darwin ;; *-*-vxworks*) ac_sys_system=VxWorks ;; *-*-emscripten) ac_sys_system=Emscripten ;; *-*-wasi*) ac_sys_system=WASI ;; *) # 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";; freebsd*) MACHDEP="freebsd";; linux-android*) MACHDEP="android";; linux*) MACHDEP="linux";; cygwin*) MACHDEP="cygwin";; darwin*) MACHDEP="darwin";; '') MACHDEP="unknown";; esac if test "$ac_sys_system" = "SunOS"; then # For Solaris, there isn't an OS version specific macro defined # in most compilers, so we define one here. SUNOS_VERSION=`echo $ac_sys_release | sed -e 's!\.\([0-9]\)$!.0\1!g' | tr -d '.'` AC_DEFINE_UNQUOTED([Py_SUNOS_VERSION], [$SUNOS_VERSION], [The version of SunOS/Solaris as reported by `uname -r' without the dot.]) fi fi AC_MSG_RESULT(["$MACHDEP"]) dnl For cross compilation, we distinguish between "prefix" (where we install the dnl files) and "host_prefix" (where we expect to find the files at runtime) if test -z "$host_prefix"; then AS_CASE([$ac_sys_system], [Emscripten], [host_prefix=/], [host_prefix='${prefix}'] ) fi AC_SUBST([host_prefix]) if test -z "$host_exec_prefix"; then AS_CASE([$ac_sys_system], [Emscripten], [host_exec_prefix=$host_prefix], [host_exec_prefix='${exec_prefix}'] ) fi AC_SUBST([host_exec_prefix]) # On cross-compile builds, configure will look for a host-specific compiler by # prepending the user-provided host triple to the required binary name. # # On iOS, this results in binaries like "arm64-apple-ios13.0-simulator-gcc", # which isn't a binary that exists, and isn't very convenient, as it contains the # iOS version. As the default cross-compiler name won't exist, configure falls # back to gcc, which *definitely* won't work. We're providing wrapper scripts for # these tools; the binary names of these scripts are better defaults than "gcc". # This only requires that the user put the platform scripts folder (e.g., # "iOS/Resources/bin") in their path, rather than defining platform-specific # names/paths for AR, CC, CPP, and CXX explicitly; and if the user forgets to # either put the platform scripts folder in the path, or specify CC etc, # configure will fail. if test -z "$AR"; then case "$host" in aarch64-apple-ios*-simulator) AR=arm64-apple-ios-simulator-ar ;; aarch64-apple-ios*) AR=arm64-apple-ios-ar ;; x86_64-apple-ios*-simulator) AR=x86_64-apple-ios-simulator-ar ;; *) esac fi if test -z "$CC"; then case "$host" in aarch64-apple-ios*-simulator) CC=arm64-apple-ios-simulator-clang ;; aarch64-apple-ios*) CC=arm64-apple-ios-clang ;; x86_64-apple-ios*-simulator) CC=x86_64-apple-ios-simulator-clang ;; *) esac fi if test -z "$CPP"; then case "$host" in aarch64-apple-ios*-simulator) CPP=arm64-apple-ios-simulator-cpp ;; aarch64-apple-ios*) CPP=arm64-apple-ios-cpp ;; x86_64-apple-ios*-simulator) CPP=x86_64-apple-ios-simulator-cpp ;; *) esac fi if test -z "$CXX"; then case "$host" in aarch64-apple-ios*-simulator) CXX=arm64-apple-ios-simulator-clang++ ;; aarch64-apple-ios*) CXX=arm64-apple-ios-clang++ ;; x86_64-apple-ios*-simulator) CXX=x86_64-apple-ios-simulator-clang++ ;; *) esac fi 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) case $ac_sys_system in Darwin) enableval=/Library/Frameworks ;; iOS) enableval=iOS/Frameworks/\$\(MULTIARCH\) ;; *) AC_MSG_ERROR([Unknown platform for framework build]) esac esac case $enableval in no) case $ac_sys_system in iOS) AC_MSG_ERROR([iOS builds must use --enable-framework]) ;; *) PYTHONFRAMEWORK= PYTHONFRAMEWORKDIR=no-framework PYTHONFRAMEWORKPREFIX= PYTHONFRAMEWORKINSTALLDIR= PYTHONFRAMEWORKINSTALLNAMEPREFIX= RESSRCDIR= FRAMEWORKINSTALLFIRST= FRAMEWORKINSTALLLAST= FRAMEWORKALTINSTALLFIRST= FRAMEWORKALTINSTALLLAST= FRAMEWORKPYTHONW= INSTALLTARGETS="commoninstall bininstall maninstall" if test "x${prefix}" = "xNONE"; then FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" else FRAMEWORKUNIXTOOLSPREFIX="${prefix}" fi enable_framework= esac ;; *) PYTHONFRAMEWORKPREFIX="${enableval}" PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR case $ac_sys_system in #( Darwin) : FRAMEWORKINSTALLFIRST="frameworkinstallversionedstructure" FRAMEWORKALTINSTALLFIRST="frameworkinstallversionedstructure " FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools" FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools" FRAMEWORKPYTHONW="frameworkpythonw" FRAMEWORKINSTALLAPPSPREFIX="/Applications" INSTALLTARGETS="commoninstall bininstall maninstall" 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 PYTHONFRAMEWORKINSTALLNAMEPREFIX=${prefix} RESSRCDIR=Mac/Resources/framework # 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]) ;; iOS) : FRAMEWORKINSTALLFIRST="frameworkinstallunversionedstructure" FRAMEWORKALTINSTALLFIRST="frameworkinstallunversionedstructure " FRAMEWORKINSTALLLAST="frameworkinstallmobileheaders" FRAMEWORKALTINSTALLLAST="frameworkinstallmobileheaders" FRAMEWORKPYTHONW= INSTALLTARGETS="libinstall inclinstall sharedinstall" prefix=$PYTHONFRAMEWORKPREFIX PYTHONFRAMEWORKINSTALLNAMEPREFIX="@rpath/$PYTHONFRAMEWORKDIR" RESSRCDIR=iOS/Resources AC_CONFIG_FILES([iOS/Resources/Info.plist]) ;; *) AC_MSG_ERROR([Unknown platform for framework build]) ;; esac esac ],[ case $ac_sys_system in iOS) AC_MSG_ERROR([iOS builds must use --enable-framework]) ;; *) PYTHONFRAMEWORK= PYTHONFRAMEWORKDIR=no-framework PYTHONFRAMEWORKPREFIX= PYTHONFRAMEWORKINSTALLDIR= PYTHONFRAMEWORKINSTALLNAMEPREFIX= RESSRCDIR= FRAMEWORKINSTALLFIRST= FRAMEWORKINSTALLLAST= FRAMEWORKALTINSTALLFIRST= FRAMEWORKALTINSTALLLAST= FRAMEWORKPYTHONW= INSTALLTARGETS="commoninstall bininstall maninstall" if test "x${prefix}" = "xNONE" ; then FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" else FRAMEWORKUNIXTOOLSPREFIX="${prefix}" fi enable_framework= esac ]) AC_SUBST([PYTHONFRAMEWORK]) AC_SUBST([PYTHONFRAMEWORKIDENTIFIER]) AC_SUBST([PYTHONFRAMEWORKDIR]) AC_SUBST([PYTHONFRAMEWORKPREFIX]) AC_SUBST([PYTHONFRAMEWORKINSTALLDIR]) AC_SUBST([PYTHONFRAMEWORKINSTALLNAMEPREFIX]) AC_SUBST([RESSRCDIR]) AC_SUBST([FRAMEWORKINSTALLFIRST]) AC_SUBST([FRAMEWORKINSTALLLAST]) AC_SUBST([FRAMEWORKALTINSTALLFIRST]) AC_SUBST([FRAMEWORKALTINSTALLLAST]) AC_SUBST([FRAMEWORKPYTHONW]) AC_SUBST([FRAMEWORKUNIXTOOLSPREFIX]) AC_SUBST([FRAMEWORKINSTALLAPPSPREFIX]) AC_SUBST([INSTALLTARGETS]) AC_DEFINE_UNQUOTED([_PYTHONFRAMEWORK], ["${PYTHONFRAMEWORK}"], [framework name]) dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output AC_MSG_CHECKING([for --with-app-store-compliance]) AC_ARG_WITH( [app_store_compliance], [AS_HELP_STRING( [--with-app-store-compliance=@<:@PATCH-FILE@:>@], [Enable any patches required for compiliance with app stores. Optional PATCH-FILE specifies the custom patch to apply.] )],[ case "$withval" in yes) case $ac_sys_system in Darwin|iOS) # iOS is able to share the macOS patch APP_STORE_COMPLIANCE_PATCH="Mac/Resources/app-store-compliance.patch" ;; *) AC_MSG_ERROR([no default app store compliance patch available for $ac_sys_system]) ;; esac AC_MSG_RESULT([applying default app store compliance patch]) ;; *) APP_STORE_COMPLIANCE_PATCH="${withval}" AC_MSG_RESULT([applying custom app store compliance patch]) ;; esac ],[ case $ac_sys_system in iOS) # Always apply the compliance patch on iOS; we can use the macOS patch APP_STORE_COMPLIANCE_PATCH="Mac/Resources/app-store-compliance.patch" AC_MSG_RESULT([applying default app store compliance patch]) ;; *) # No default app compliance patching on any other platform APP_STORE_COMPLIANCE_PATCH= AC_MSG_RESULT([not patching for app store compliance]) ;; esac ]) AC_SUBST([APP_STORE_COMPLIANCE_PATCH]) AC_SUBST([_PYTHON_HOST_PLATFORM]) if test "$cross_compiling" = yes; then case "$host" in *-*-linux*) case "$host_cpu" in arm*) _host_ident=arm ;; *) _host_ident=$host_cpu esac ;; *-*-cygwin*) _host_ident= ;; *-apple-ios*) _host_os=`echo $host | cut -d '-' -f3` _host_device=`echo $host | cut -d '-' -f4` _host_device=${_host_device:=os} # IPHONEOS_DEPLOYMENT_TARGET is the minimum supported iOS version AC_MSG_CHECKING([iOS deployment target]) IPHONEOS_DEPLOYMENT_TARGET=$(echo ${_host_os} | cut -c4-) IPHONEOS_DEPLOYMENT_TARGET=${IPHONEOS_DEPLOYMENT_TARGET:=13.0} AC_MSG_RESULT([$IPHONEOS_DEPLOYMENT_TARGET]) case "$host_cpu" in aarch64) _host_ident=${IPHONEOS_DEPLOYMENT_TARGET}-arm64-iphone${_host_device} ;; *) _host_ident=${IPHONEOS_DEPLOYMENT_TARGET}-$host_cpu-iphone${_host_device} ;; esac ;; *-*-darwin*) case "$host_cpu" in arm*) _host_ident=arm ;; *) _host_ident=$host_cpu esac ;; *-*-vxworks*) _host_ident=$host_cpu ;; *-*-emscripten) _host_ident=$(emcc -dumpversion | cut -f1 -d-)-$host_cpu ;; wasm32-*-* | wasm64-*-*) _host_ident=$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_ident:+-$_host_ident}" 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 iOS, defining _POSIX_C_SOURCE also disables platform specific features. iOS/*) 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='#' # Record the value of IPHONEOS_DEPLOYMENT_TARGET enforced by the selected host triple. AC_SUBST([IPHONEOS_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 dnl Emscripten SDK and WASI SDK default to wasm32. dnl On Emscripten use MEMORY64 setting to build target wasm64-emscripten. dnl for wasm64. AS_CASE([$host], [wasm64-*-emscripten], [ AS_VAR_APPEND([CFLAGS], [" -sMEMORY64=1"]) AS_VAR_APPEND([LDFLAGS], [" -sMEMORY64=1"]) ], ) dnl Add the compiler flag for the iOS minimum supported OS version. AS_CASE([$ac_sys_system], [iOS], [ AS_VAR_APPEND([CFLAGS], [" -mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET}"]) AS_VAR_APPEND([LDFLAGS], [" -mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET}"]) ], ) if test "$ac_sys_system" = "Darwin" then dnl look for SDKROOT AC_CHECK_PROG([HAS_XCRUN], [xcrun], [yes], [missing]) AC_MSG_CHECKING([macOS SDKROOT]) if test -z "$SDKROOT"; then dnl SDKROOT not set if test "$HAS_XCRUN" = "yes"; then dnl detect with Xcode SDKROOT=$(xcrun --show-sdk-path) else |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |