diff --git a/.github/workflows/.condarc b/.github/workflows/.condarc index aebe7d785..57dda8750 100644 --- a/.github/workflows/.condarc +++ b/.github/workflows/.condarc @@ -1,5 +1,6 @@ channels: - "https://repo.mamba.pm/emscripten-forge" + - /home/runner/micromamba/envs/ci/conda-bld - conda-forge -add_pip_as_python_dependency: false +add_pip_as_python_dependency: true diff --git a/.github/workflows/build_all.yaml b/.github/workflows/build_all.yaml index 70a843c00..f6ac9cf0c 100644 --- a/.github/workflows/build_all.yaml +++ b/.github/workflows/build_all.yaml @@ -8,12 +8,12 @@ jobs: build_all: runs-on: ubuntu-latest env: - TARGET_PLATFORM: emscripten-32 + TARGET_PLATFORM: emscripten-wasm32 GITHUB_OWNER: "emscripten-forge" strategy: fail-fast: false matrix: - emsdk_ver: ["3.1.27"] + emsdk_ver: ["3.1.45"] steps: @@ -30,7 +30,7 @@ jobs: # CONFIG ################################################################ - name: global config - shell: bash -l {0} + shell: bash -el {0} run: | git config --global advice.detachedHead false cp $GITHUB_WORKSPACE/.github/workflows/.condarc $HOME/.condarc @@ -39,37 +39,31 @@ jobs: ################################################################ # MAMBA ################################################################ - - name: install mamba - uses: mamba-org/provision-with-micromamba@main + - uses: mamba-org/setup-micromamba@v1 with: environment-file: ci_env.yml - environment-name: ci-env - micromamba-version: '0.23.2' + environment-name: ci + init-shell: >- + bash + cache-environment: true + post-cleanup: 'all' ################################################################ # POST ENV INSTALL CONFIG ################################################################ - name: post env install config - shell: bash -l {0} + shell: bash -el {0} run: | cp $GITHUB_WORKSPACE/.github/workflows/.condarc $HOME/.condarc - micromamba activate ci-env playwright install ################################################################ # setup emsdk ################################################################ - name: "setup emsdk" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env - - git clone https://github.com/emscripten-core/emsdk.git - cd emsdk - ./emsdk install ${{ matrix.emsdk_ver }} - ./emsdk activate ${{ matrix.emsdk_ver }} - echo $(pwd)/emsdk-${{ matrix.emsdk_ver }} - echo $(pwd) > $HOME/.emsdkdir + ./emsdk/setup_emsdk.sh ${{ matrix.emsdk_ver }} $(pwd)/emsdk_install @@ -80,19 +74,18 @@ jobs: # in the conda env named "ci-env" ################################################################ - name: "install custom non-master dependencies" - shell: bash -l {0} + shell: bash -el {0} run: | micromamba activate ci-env - python -m pip install git+https://github.com/DerThorsten/boa.git@python_api --no-deps --ignore-installed + python -m pip install git+https://github.com/DerThorsten/boa.git@python_api_v2 --no-deps --ignore-installed ################################################################ # build ALL recipes ################################################################ - name: "build packages workflow_dispatch" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env cd ${GITHUB_WORKSPACE} python builder.py build directory $GITHUB_WORKSPACE/recipes/recipes --skip-tests - python builder.py build directory $GITHUB_WORKSPACE/recipes/recipes_emscripten --emscripten-32 + python builder.py build directory $GITHUB_WORKSPACE/recipes/recipes_emscripten --emscripten-wasm32 diff --git a/.github/workflows/build_recipes.yaml b/.github/workflows/build_recipes.yaml index 0aa8e15b7..9a4effb87 100644 --- a/.github/workflows/build_recipes.yaml +++ b/.github/workflows/build_recipes.yaml @@ -10,12 +10,12 @@ jobs: build_recipes: runs-on: ubuntu-latest env: - TARGET_PLATFORM: emscripten-32 + TARGET_PLATFORM: emscripten-wasm32 GITHUB_OWNER: "emscripten-forge" strategy: fail-fast: false matrix: - emsdk_ver: ["3.1.27"] + emsdk_ver: ["3.1.45"] steps: - name: Checkout repo @@ -41,7 +41,7 @@ jobs: # CONFIG ################################################################ - name: global config - shell: bash -l {0} + shell: bash -el {0} run: | git config --global advice.detachedHead false cp $GITHUB_WORKSPACE/.github/workflows/.condarc $HOME @@ -50,38 +50,32 @@ jobs: ################################################################ # MAMBA ################################################################ - - name: install mamba - uses: mamba-org/provision-with-micromamba@main + - uses: mamba-org/setup-micromamba@v1 with: environment-file: ci_env.yml - environment-name: ci-env - micromamba-version: '0.23.2' + environment-name: ci + init-shell: >- + bash + cache-environment: true + post-cleanup: 'all' + ################################################################ + # setup emsdk + ################################################################ + - name: "setup emsdk" + shell: bash -el {0} + run: | + ./emsdk/setup_emsdk.sh ${{ matrix.emsdk_ver }} $(pwd)/emsdk_install + ################################################################ # POST ENV INSTALL CONFIG ################################################################ - name: post env install config - shell: bash -l {0} + shell: bash -el {0} run: | cp $GITHUB_WORKSPACE/.github/workflows/.condarc $HOME/.condarc - micromamba activate ci-env playwright install - ################################################################ - # setup emsdk - ################################################################ - - name: "setup emsdk" - shell: bash -l {0} - run: | - micromamba activate ci-env - - git clone https://github.com/emscripten-core/emsdk.git - cd emsdk - ./emsdk install ${{ matrix.emsdk_ver }} - ./emsdk activate ${{ matrix.emsdk_ver }} - echo $(pwd)/emsdk-${{ matrix.emsdk_ver }} - echo $(pwd) > $HOME/.emsdkdir - ################################################################ @@ -91,29 +85,37 @@ jobs: # in the conda env named "ci-env" ################################################################ - name: "install custom non-master dependencies" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env - python -m pip install git+https://github.com/DerThorsten/boa.git@python_api --no-deps --ignore-installed + python -m pip install git+https://github.com/DerThorsten/boa.git@python_api_v2 --no-deps --ignore-installed ################################################################ # run pytests ################################################################ - name: "test config files" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env cd testing pytest test_empack_config.py + # ################################################################ + # # build pyjs + # ################################################################ + # - name: "build package" + # shell: bash -el {0} + # run: | + # cd ${GITHUB_WORKSPACE} + # python builder.py build explicit $GITHUB_WORKSPACE/recipes/recipes/emscripten_emscripten-wasm32 + # python builder.py build explicit $GITHUB_WORKSPACE/recipes/recipes_emscripten/pyjs --emscripten-wasm32 + + ################################################################ # build recipes with changes PUSH ################################################################ - name: "build packages push" - shell: bash -l {0} + shell: bash -el {0} if: github.event_name == 'push' run: | - micromamba activate ci-env cd ${GITHUB_WORKSPACE} python builder.py build changed $GITHUB_WORKSPACE/ origin/main~1 origin/main @@ -122,10 +124,9 @@ jobs: # build recipes with changes PULL_REQUEST ################################################################ - name: "build packages pull_request" - shell: bash -l {0} + shell: bash -el {0} if: github.event_name == 'pull_request' run: | - micromamba activate ci-env cd ${GITHUB_WORKSPACE} python builder.py build changed $GITHUB_WORKSPACE/ origin/main HEAD @@ -135,21 +136,22 @@ jobs: ################################################################ - name: "quetz upload packages" if: github.event_name == 'push' - shell: bash -l {0} + shell: bash -el {0} run: | - mkdir -p ${CONDA_PREFIX}/conda-bld/emscripten-32 + mkdir -p ${CONDA_PREFIX}/conda-bld/emscripten-wasm32 mkdir -p ${CONDA_PREFIX}/conda-bld/linux-64 mkdir -p ${CONDA_PREFIX}/conda-bld/noarch - - if [ $(ls ${CONDA_PREFIX}/conda-bld/emscripten-32/*.tar.bz2 | wc -l) -ne 0 ]; then - QUETZ_API_KEY=${{ secrets.QUETZ_API_KEY}} quetz-client https://beta.mamba.pm/channels/emscripten-forge ${CONDA_PREFIX}/conda-bld/emscripten-32/*.tar.bz2 - fi - - if [ $(ls ${CONDA_PREFIX}/conda-bld/linux-64/*.tar.bz2 | wc -l) -ne 0 ]; then - QUETZ_API_KEY=${{ secrets.QUETZ_API_KEY}} quetz-client https://beta.mamba.pm/channels/emscripten-forge ${CONDA_PREFIX}/conda-bld/linux-64/*.tar.bz2 - fi - - if [ $(ls ${CONDA_PREFIX}/conda-bld/noarch/*.tar.bz2 | wc -l) -ne 0 ]; then - QUETZ_API_KEY=${{ secrets.QUETZ_API_KEY}} quetz-client https://beta.mamba.pm/channels/emscripten-forge ${CONDA_PREFIX}/conda-bld/noarch/*.tar.bz2 - fi + + + # if [ $(ls ${CONDA_PREFIX}/conda-bld/emscripten-32/*.tar.bz2 | wc -l) -ne 0 ]; then + # QUETZ_API_KEY=${{ secrets.QUETZ_API_KEY}} quetz-client https://beta.mamba.pm/channels/emscripten-forge ${CONDA_PREFIX}/conda-bld/emscripten-wasm32/*.tar.bz2 + # fi + + # if [ $(ls ${CONDA_PREFIX}/conda-bld/linux-64/*.tar.bz2 | wc -l) -ne 0 ]; then + # QUETZ_API_KEY=${{ secrets.QUETZ_API_KEY}} quetz-client https://beta.mamba.pm/channels/emscripten-forge ${CONDA_PREFIX}/conda-bld/linux-64/*.tar.bz2 + # fi + + # if [ $(ls ${CONDA_PREFIX}/conda-bld/noarch/*.tar.bz2 | wc -l) -ne 0 ]; then + # QUETZ_API_KEY=${{ secrets.QUETZ_API_KEY}} quetz-client https://beta.mamba.pm/channels/emscripten-forge ${CONDA_PREFIX}/conda-bld/noarch/*.tar.bz2 + # fi diff --git a/.github/workflows/build_simple.yaml b/.github/workflows/build_simple.yaml index e4eeff7ba..eaf20d90b 100644 --- a/.github/workflows/build_simple.yaml +++ b/.github/workflows/build_simple.yaml @@ -11,12 +11,12 @@ jobs: build_simple: runs-on: ubuntu-latest env: - TARGET_PLATFORM: emscripten-32 + TARGET_PLATFORM: emscripten-wasm32 GITHUB_OWNER: "emscripten-forge" strategy: fail-fast: false matrix: - emsdk_ver: ["3.1.27"] + emsdk_ver: ["3.1.45"] steps: @@ -29,7 +29,7 @@ jobs: # CONFIG ################################################################ - name: global config - shell: bash -l {0} + shell: bash -el {0} run: | git config --global advice.detachedHead false cp $GITHUB_WORKSPACE/.github/workflows/.condarc $HOME/.condarc @@ -38,37 +38,31 @@ jobs: ################################################################ # MAMBA ################################################################ - - name: install mamba - uses: mamba-org/provision-with-micromamba@main + - uses: mamba-org/setup-micromamba@v1 with: environment-file: ci_env.yml - environment-name: ci-env - micromamba-version: '0.23.2' + environment-name: ci + init-shell: >- + bash + cache-environment: true + post-cleanup: 'all' ################################################################ # POST ENV INSTALL CONFIG ################################################################ - name: post env install config - shell: bash -l {0} + shell: bash -el {0} run: | cp $GITHUB_WORKSPACE/.github/workflows/.condarc $HOME/.condarc - micromamba activate ci-env playwright install ################################################################ # setup emsdk ################################################################ - name: "setup emsdk" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env - - git clone https://github.com/emscripten-core/emsdk.git - cd emsdk - ./emsdk install ${{ matrix.emsdk_ver }} - ./emsdk activate ${{ matrix.emsdk_ver }} - echo $(pwd)/emsdk-${{ matrix.emsdk_ver }} - echo $(pwd) > $HOME/.emsdkdir + ./emsdk/setup_emsdk.sh ${{ matrix.emsdk_ver }} $(pwd)/emsdk_install ################################################################ # install / clone custom non-master things @@ -77,28 +71,25 @@ jobs: # in the conda env named "ci-env" ################################################################ - name: "install custom non-master dependencies" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env - python -m pip install git+https://github.com/DerThorsten/boa.git@python_api --no-deps --ignore-installed + python -m pip install git+https://github.com/DerThorsten/boa.git@python_api_v2 --no-deps --ignore-installed ################################################################ # build a package which is **not** on emscripten forge ################################################################ - name: "build package" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env cd ${GITHUB_WORKSPACE} - python builder.py build explicit $GITHUB_WORKSPACE/testing/test_recipes/only_py_tests --emscripten-32 + python builder.py build explicit $GITHUB_WORKSPACE/testing/test_recipes/only_py_tests --emscripten-wasm32 ################################################################ # build a simple package ################################################################ - name: "build package" - shell: bash -l {0} + shell: bash -el {0} run: | - micromamba activate ci-env cd ${GITHUB_WORKSPACE} - python builder.py build explicit $GITHUB_WORKSPACE/recipes/recipes_emscripten/regex --emscripten-32 + python builder.py build explicit $GITHUB_WORKSPACE/recipes/recipes_emscripten/regex --emscripten-wasm32 diff --git a/README.md b/README.md index e0a8b7f0e..3083f8a00 100644 --- a/README.md +++ b/README.md @@ -38,4 +38,4 @@ We are working on: ## Credits This project would not have been possible without the pioneering work of the [pyodide](https://pyodide.org/) team. Many aspects of this project are heavily inspired by the [pyodide](https://pyodide.org/) project. This includes the build scripts and -many of the patches which have been taken from the pyodide packages. +many of the patches which have been taken from the pyodide packages. \ No newline at end of file diff --git a/builder.py b/builder.py index 75f7c58b4..3a243e14d 100644 --- a/builder.py +++ b/builder.py @@ -23,7 +23,7 @@ from pathlib import Path RECIPES_SUBDIR_MAPPING = OrderedDict( - [("recipes", ""), ("recipes_emscripten", "emscripten-32")] + [("recipes", ""), ("recipes_emscripten", "emscripten-wasm32")] ) THIS_DIR = os.path.dirname(os.path.realpath(__file__)) @@ -47,6 +47,23 @@ build_app = typer.Typer() app.add_typer(build_app, name="build") +# check if a pkg exists +def is_existing_pkg(pkg_name): + channels = ( + f" -c https://repo.mamba.pm/emscripten-forge -c conda-forge " + ) + + cmd = [ + f"""$MAMBA_EXE create -n name_does_not_matter_here {channels} {pkg_name} --dry-run --no-deps --platform=emscripten-wasm32""" + ] + + ret = subprocess.run(cmd, shell=True) + # stderr=subprocess.PIPE, stdout=subprocess.PIPE) + returncode = ret.returncode + return returncode == 0 + + + @contextmanager def restore_cwd(): @@ -99,7 +116,7 @@ def test_package(recipe, work_dir): def cleanup(): - do_not_delete = ["noarch", "linux-64", "emscripten-32", "icons"] + do_not_delete = ["noarch", "linux-64", "emscripten-wasm32", "icons"] do_not_delete = [os.path.join(CONDA_BLD_DIR, d) for d in do_not_delete] for dirname in glob.iglob(os.path.join(CONDA_BLD_DIR, "**"), recursive=False): @@ -111,7 +128,7 @@ def cleanup(): def post_build_callback( recipe, target_platform, sorted_outputs, final_names, skip_tests, work_dir ): - if target_platform == "emscripten-32" and (not skip_tests): + if target_platform == "emscripten-wasm32" and (not skip_tests): with restore_cwd(): test_package(recipe=recipe, work_dir=work_dir) cleanup() @@ -149,14 +166,14 @@ def boa_build( @build_app.command() def directory( recipes_dir, - emscripten_32: Optional[bool] = typer.Option(False), + emscripten_wasm32: Optional[bool] = typer.Option(False), skip_tests: Optional[bool] = typer.Option(False), skip_existing: Optional[bool] = typer.Option(False), ): work_dir = os.getcwd() platform = "" - if emscripten_32: - platform = "emscripten-32" + if emscripten_wasm32: + platform = "emscripten-wasm32" boa_build( work_dir=work_dir, target=recipes_dir, @@ -170,16 +187,15 @@ def directory( @build_app.command() def explicit( recipe_dir, - emscripten_32: Optional[bool] = typer.Option(False), + emscripten_wasm32: Optional[bool] = typer.Option(False), skip_tests: Optional[bool] = typer.Option(False), - skip_existing: Optional[bool] = typer.Option(False), + skip_existing: Optional[bool] = typer.Option(True), ): work_dir = os.getcwd() assert os.path.isdir(recipe_dir), f"{recipe_dir} is not a dir" platform = "" - if emscripten_32: - print("WITH EM") - platform = "emscripten-32" + if emscripten_wasm32: + platform = "emscripten-wasm32" boa_build( work_dir=work_dir, target=recipe_dir, @@ -196,7 +212,7 @@ def changed( new, dryrun: Optional[bool] = typer.Option(False), skip_tests: Optional[bool] = typer.Option(False), - skip_existing: Optional[bool] = typer.Option(False), + skip_existing: Optional[bool] = typer.Option(True), ): work_dir = os.getcwd() recipes_dir = os.path.join(root_dir, "recipes") @@ -214,6 +230,7 @@ def changed( os.makedirs(tmp_folder_root, exist_ok=True) for recipe_with_change in recipe_with_changes: + recipe_dir = os.path.join(recipes_dir, subdir, recipe_with_change) # diff can shown deleted recipe as changed @@ -225,7 +242,7 @@ def changed( shutil.copytree(recipe_dir, tmp_recipe_dir) print([x[0] for x in os.walk(tmp_recipes_root_str)]) - + boa_build( work_dir=work_dir, target=tmp_recipes_root_str, @@ -236,5 +253,63 @@ def changed( ) + + +@build_app.command() +def missing( + root_dir, + skip_tests: Optional[bool] = typer.Option(False), + skip_existing: Optional[bool] = typer.Option(True), +): + work_dir = os.getcwd() + recipes_dir = os.path.join(root_dir, "recipes") + subdir = "recipes_emscripten" + + + # create a temp dir and copy all changed recipes + # to that dir (because Then we can let boa do the + # topological sorting) + with tempfile.TemporaryDirectory() as tmp_folder_root: + tmp_recipes_root_str = os.path.join( + tmp_folder_root, "recipes", "recipes_per_platform" + ) + os.makedirs(tmp_folder_root, exist_ok=True) + + # iterate all dirs in root_dir/recipes_emscripten + + for recipe_with_change in os.listdir(os.path.join(recipes_dir, subdir)): + print(recipe_with_change) + # get last dir in path + recipe_with_change = os.path.basename(recipe_with_change) + + if skip_existing : + pkg_name = recipe_with_change + print(f"Check if pkg exists: {pkg_name}") + if is_existing_pkg(pkg_name): + print(f"Skip existing pkg: {pkg_name}") + continue + else: + print(f"Build pkg: {pkg_name}") + recipe_dir = os.path.join(recipes_dir, subdir, recipe_with_change) + + # diff can shown deleted recipe as changed + if os.path.isdir(recipe_dir): + tmp_recipe_dir = os.path.join( + tmp_recipes_root_str, recipe_with_change + ) + # os.mkdir(tmp_recipe_dir) + shutil.copytree(recipe_dir, tmp_recipe_dir) + + print([x[0] for x in os.walk(tmp_recipes_root_str)]) + + boa_build( + work_dir=work_dir, + target=tmp_recipes_root_str, + recipe_dir=None, + platform=RECIPES_SUBDIR_MAPPING[subdir], + skip_tests=skip_tests, + skip_existing=skip_existing, + ) + if __name__ == "__main__": app() diff --git a/ci_env.yml b/ci_env.yml index f179970ed..bf0ec965b 100644 --- a/ci_env.yml +++ b/ci_env.yml @@ -7,7 +7,7 @@ dependencies: - empack >=3,<4 - colorama - ruamel - - ruamel.yaml <0.17.6 + - ruamel.yaml - rich - mamba >= 0.23.1 - micromamba >= 0.23.1 @@ -16,13 +16,12 @@ dependencies: - patchelf - liblief - py-lief - - conda - - conda-build + - conda >= 23.7.4 + - conda-build >= 3.26.1 - pyyaml - click == 8.0.4 - typer >= 0.7.0 - quetz-client <= 0.0.4 - - boa - nodejs >= 18.7.0 - pydantic - pluggy ==1.0.0 @@ -30,3 +29,15 @@ dependencies: - networkx - microsoft::playwright - pyjs_code_runner >= 2,<3 + - cxx-compiler + - c-compiler + # hack to get in boas dependencies + - ruamel.yaml + - jinja2 + - rich + - prompt_toolkit + - json5 + - jsonschema + - joblib + - watchgod + - dataclasses \ No newline at end of file diff --git a/conda_build_config.yaml b/conda_build_config.yaml index fbd4fcaa2..56bf4da7d 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -11,7 +11,7 @@ c_compiler: - vs2017 # [win] - emscripten # [emscripten] c_compiler_version: # [unix] - - 3 # [emscripten] + # - 3 # [emscripten] - 11 # [osx] - 9 # [linux] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] @@ -24,7 +24,7 @@ cxx_compiler: - vs2017 # [win] - emscripten # [emscripten] cxx_compiler_version: # [unix] - - 3 # [emscripten] + # - 3 # [emscripten] - 11 # [osx] - 9 # [linux] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] @@ -385,9 +385,11 @@ capnproto: ccr: - 1.3 cffi: - - 1.15.0 + - 1.15.1 cfitsio: - 4.0.0 +cmake: + - 3.26.4 coin_or_cbc: - 2.10 coincbc: @@ -531,7 +533,7 @@ libhugetlbfs: libhwy: - 0.15 libiconv: - - 1.16 + - 1.17 libintervalxt: - 3 libkml: @@ -614,10 +616,10 @@ netcdf_fortran: - 4.5 nettle: - '3.7' -nodejs: - - '17' - - '16' - - '14' # [not (osx and arm64)] +# nodejs: +# - '17' +# - '16' +# - '14' # [not (osx and arm64)] nss: - 3 nspr: @@ -628,7 +630,7 @@ ntl: - '11.4.3' # we build for the oldest version possible of numpy for forward compatibility numpy: - - 1.24.2 + - 1.25.2 # # part of a zip_keys: python, python_impl, numpy # - 1.18 # [not (osx and arm64)] # - 1.18 # [not (osx and arm64)] @@ -682,7 +684,7 @@ pybind11_abi: pip: - '22.0.4' python: - - 3.10.* *_cpython + - 3.11.* *_cpython # # part of a zip_keys: python, python_impl, numpy # - 3.7.* *_cpython # [not (osx and arm64)] # - 3.8.* *_cpython diff --git a/empack_config.yaml b/empack_config.yaml index da6c6ce3c..9be7cf989 100644 --- a/empack_config.yaml +++ b/empack_config.yaml @@ -5,6 +5,7 @@ packages: - pattern: '**/pkg_resources/**/*.so' - pattern: '**/pkg_resources/*.py' - pattern: '**/pkg_resources/**/*.py' + - pattern: '**/*.dist-info/METADATA' bokeh: include_patterns: - pattern: '*.so' @@ -12,6 +13,7 @@ packages: - pattern: '**/bokeh/**/*.html' - pattern: '**/bokeh/**/*.js' - pattern: '**/bokeh/*.json' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -20,6 +22,7 @@ packages: - pattern: '*.so' - pattern: '*.py' - pattern: '**/plotly/package_data/**' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -29,6 +32,7 @@ packages: - pattern: '*.py' - pattern: '*.json' - pattern: '**/folium/templates/**' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -38,6 +42,7 @@ packages: - pattern: '*.py' - pattern: '*.json' - pattern: '**/branca/templates/**' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -47,6 +52,7 @@ packages: - pattern: '*.py' - pattern: '*.json' - pattern: '*dateutil-zoneinfo.tar.gz' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -57,6 +63,7 @@ packages: - pattern: '*.py' - pattern: '*.json' - pattern: '**/matplotlib/mpl-data/**' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -66,6 +73,7 @@ packages: - pattern: '*.py' - pattern: '*.json' - pattern: '**/matplotlib/mpl-data/**' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -75,6 +83,7 @@ packages: - pattern: '*.py' - pattern: '*.json' - pattern: '**/sklearn/datasets/**' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -86,6 +95,7 @@ packages: - pattern: '*.json' - pattern: '**/skimage/data/**' - pattern: '**/skimage/io/_plugins/*.ini' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' @@ -94,16 +104,54 @@ packages: - pattern: '**/*.py' - pattern: '**/static/css/*.css' - pattern: '**/static/html/*.html' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' widgetsnbextension: exclude_patterns: - pattern: '**' + python: + include_patterns: + - pattern: '*.so' + - pattern: '*.py' + - pattern: '*.json' + - pattern: 'share/zoneinfo/**' + - pattern: '**/*.dist-info/METADATA' + exclude_patterns: + - pattern: '**/tests/**/*.py' + - pattern: '**/tests/**/*.so' + - pattern: '**/tests/*.py' + - pattern: '**/tests/*.so' + python-tzdata: + include_patterns: + - pattern: '*.so' + - pattern: '*.py' + - pattern: '*.json' + - pattern: 'share/zoneinfo/**' + - pattern: '**/tzdata/zoneinfo/**' + - pattern: '**/*.dist-info/METADATA' + exclude_patterns: + - pattern: '**/tests/**/*.py' + - pattern: '**/tests/**/*.so' + - pattern: '**/tests/*.py' + - pattern: '**/tests/*.so' + - pattern: '**/tzdata/zoneinfo/**/*.pyc' + zlib: + exclude_patterns: + - pattern: '**/so' + itables: + include_patterns: + - pattern: '*.py' + - pattern: 'html/**' + - pattern: 'external/**' + - pattern: '**/*.dist-info/METADATA' default: include_patterns: - pattern: '*.so' - pattern: '*.py' - pattern: '*.json' + - pattern: 'share/zoneinfo/**' + - pattern: '**/*.dist-info/METADATA' exclude_patterns: - pattern: '**/tests/**/*.py' - pattern: '**/tests/**/*.so' diff --git a/emsdk/patches/0001-Add-back-fs.findObject-and-fs.readFile-in-loadLibDat.patch b/emsdk/patches/0001-Add-back-fs.findObject-and-fs.readFile-in-loadLibDat.patch new file mode 100644 index 000000000..5212949cd --- /dev/null +++ b/emsdk/patches/0001-Add-back-fs.findObject-and-fs.readFile-in-loadLibDat.patch @@ -0,0 +1,44 @@ +From 0170462a78e86de9ee95017bfa7e4a3dd620a375 Mon Sep 17 00:00:00 2001 +From: Hood Chatham +Date: Fri, 2 Jun 2023 11:59:32 -0700 +Subject: [PATCH] Add back fs.findObject and fs.readFile in loadLibData + +See upstream PR: +https://github.com/emscripten-core/emscripten/pull/19513 +--- + src/library_dylink.js | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/src/library_dylink.js b/src/library_dylink.js +index d7676cdc2..f616d230d 100644 +--- a/src/library_dylink.js ++++ b/src/library_dylink.js +@@ -993,14 +993,23 @@ var LibraryDylink = { + #endif + + // for wasm, we can use fetch for async, but for fs mode we can only imitate it ++ var libData; + if (handle) { + var data = {{{ makeGetValue('handle', C_STRUCTS.dso.file_data, '*') }}}; + var dataSize = {{{ makeGetValue('handle', C_STRUCTS.dso.file_data_size, '*') }}}; + if (data && dataSize) { +- var libData = HEAP8.slice(data, data + dataSize); +- return flags.loadAsync ? Promise.resolve(libData) : libData; ++ libData = HEAP8.slice(data, data + dataSize); + } + } ++ if (!libData && flags.fs && flags.fs.findObject(libName)) { ++ libData = flags.fs.readFile(libName, {encoding: 'binary'}); ++ if (!(libData instanceof Uint8Array)) { ++ libData = new Uint8Array(libData); ++ } ++ } ++ if (libData) { ++ return flags.loadAsync ? Promise.resolve(libData) : libData; ++ } + + var libFile = locateFile(libName); + if (flags.loadAsync) { +-- +2.25.1 + diff --git a/emsdk/patches/0001-Add-useful-error-when-symbol-resolution-fails.patch b/emsdk/patches/0001-Add-useful-error-when-symbol-resolution-fails.patch new file mode 100644 index 000000000..ec50727a1 --- /dev/null +++ b/emsdk/patches/0001-Add-useful-error-when-symbol-resolution-fails.patch @@ -0,0 +1,37 @@ +From a8bdb50a29062ee70c8667e4fd94dde47917f8fa Mon Sep 17 00:00:00 2001 +From: Hood Chatham +Date: Fri, 19 May 2023 12:19:00 -0700 +Subject: [PATCH] Add useful error when symbol resolution fails + +Currently if symbol resolution fails, we get: +```js +TypeError: Cannot read properties of undefined (reading 'apply') +``` +It is very hard for newcomers to Emscripten to recognize this as a +symbol resolution error. Even for people experienced with this message, +it has the annoyance that it doesn't give any hint as to which symbol +went missing. + +This adds a descriptive error message with the name of the missing +symbol. +--- + src/library_dylink.js | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/library_dylink.js b/src/library_dylink.js +index d96e6b425..7f63b5c5e 100644 +--- a/src/library_dylink.js ++++ b/src/library_dylink.js +@@ -727,6 +727,9 @@ var LibraryDylink = { + var resolved; + stubs[prop] = function() { + if (!resolved) resolved = resolveSymbol(prop); ++ if (!resolved) { ++ throw new Error(`Dynamic linking error: cannot resolve symbol ${prop}`); ++ } + return resolved.apply(null, arguments); + }; + } +-- +2.25.1 + diff --git a/recipes/recipes_emscripten/python/config/LICENSE b/emsdk/patches/LICENSE similarity index 100% rename from recipes/recipes_emscripten/python/config/LICENSE rename to emsdk/patches/LICENSE diff --git a/emsdk/setup_emsdk.sh b/emsdk/setup_emsdk.sh new file mode 100755 index 000000000..349c8f1d5 --- /dev/null +++ b/emsdk/setup_emsdk.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# first argument is the emscripten version to install +EMSCRIPTEN_VERSION=$1 +# second argument is path to clone emsdk to +EMSDK_PATH=$2 + +# check if emscripten version is set +if [ -z "$EMSCRIPTEN_VERSION" ]; then + echo "No emscripten version set. The first argument of this script should be the emscripten version to install." + exit 1 +fi + +# check if emsdk path is set +if [ -z "$EMSDK_PATH" ]; then + echo "No emsdk path set. The second argument of this script should be the path to clone emsdk to." + exit 1 +fi + + +# dir of this file +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +PATCH_DIR=$SCRIPT_DIR/patches + + +set -e + +echo "------------------------------------" +echo "Installing emsdk" +echo "------------------------------------" + + +echo "...cloning emsdk" +git clone --depth 1 https://github.com/emscripten-core/emsdk.git $EMSDK_PATH + + +pushd $EMSDK_PATH +echo "emsdk install ..." +./emsdk install --build=Release $EMSCRIPTEN_VERSION +echo "...done" + +echo "emsdk patching" +pushd upstream/emscripten +cat $PATCH_DIR/*.patch | patch -p1 --verbose +popd +echo "...done" + +echo "emsdk building ..." +./emsdk install --build=Release $EMSCRIPTEN_VERSION ccache-git-emscripten-64bit +echo "...done" + +echo "emsdk activating ..." +./emsdk activate --embedded --build=Release $EMSCRIPTEN_VERSION +echo "...done" +popd + + +echo "create .emsdkdir file in home directory ..." +echo $EMSDK_PATH > ~/.emsdkdir +echo "...done" \ No newline at end of file diff --git a/recipes/recipes/cross-python_emscripten-32/activate-cross-python.sh b/recipes/recipes/cross-python_emscripten-wasm32/activate-cross-python.sh similarity index 87% rename from recipes/recipes/cross-python_emscripten-32/activate-cross-python.sh rename to recipes/recipes/cross-python_emscripten-wasm32/activate-cross-python.sh index 1b49878d2..ed791a6b9 100644 --- a/recipes/recipes/cross-python_emscripten-32/activate-cross-python.sh +++ b/recipes/recipes/cross-python_emscripten-wasm32/activate-cross-python.sh @@ -1,12 +1,21 @@ #!/bin/bash OLD_PYTHON=$PYTHON unset PYTHON -MYPYTHON=${BUILD_PREFIX}/bin/python -export EMSDK_PYTHON=${BUILD_PREFIX}/bin/python3 +MYPYTHON=$BUILD_PREFIX/bin/python +PY_VER_MAJOR_MINOR=$($MYPYTHON -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))') + +export EMSDK_PYTHON=$BUILD_PREFIX/bin/python3 + +# create fake python3 wasm binary +mkdir -p $PREFIX/bin +cp $BUILD_PREFIX/bin/python3 $PREFIX/bin + + + # this will activate emscripten in case it has not yet been activated -source $CONDA_PREFIX/etc/conda/activate.d/emscripten_emscripten-32_activate.sh +source $CONDA_PREFIX/etc/conda/activate.d/emscripten_emscripten-wasm32_activate.sh if [[ "${CONDA_BUILD:-0}" == "1" && "${CONDA_BUILD_STATE}" != "TEST" ]]; then @@ -29,7 +38,7 @@ if [[ "${CONDA_BUILD:-0}" == "1" && "${CONDA_BUILD_STATE}" != "TEST" ]]; then # sed -i 's/-fdiagnostics-color=always/ /g' $sysconfigdata_fn # tail -3 $sysconfigdata_fn - sed -i 's/if _os.name == "posix" and _sys.platform == "darwin":/if False:/g' $BUILD_PREFIX/lib/python3.10/ctypes/__init__.py + sed -i 's/if _os.name == "posix" and _sys.platform == "darwin":/if False:/g' $BUILD_PREFIX/lib/python${PY_VER_MAJOR_MINOR}/ctypes/__init__.py unset _CONDA_PYTHON_SYSCONFIGDATA_NAME @@ -54,8 +63,8 @@ if [[ "${CONDA_BUILD:-0}" == "1" && "${CONDA_BUILD_STATE}" != "TEST" ]]; then # don't set LIBRARY_PATH # See https://github.com/conda-forge/matplotlib-feedstock/pull/309#issuecomment-972213735 - sed -i 's/extra_envs = .*/extra_envs = []/g' $PREFIX/bin/python || true - sed -i 's/extra_envs = .*/extra_envs = []/g' $PREFIX/bin/python$PY_VER || true + # sed -i 's/extra_envs = .*/extra_envs = []/g' $PREFIX/bin/python || true + # sed -i 's/extra_envs = .*/extra_envs = []/g' $PREFIX/bin/python$PY_VER || true # undo symlink rm $BUILD_PREFIX/venv/build/bin/python diff --git a/recipes/recipes/cross-python_emscripten-32/build.sh b/recipes/recipes/cross-python_emscripten-wasm32/build.sh similarity index 100% rename from recipes/recipes/cross-python_emscripten-32/build.sh rename to recipes/recipes/cross-python_emscripten-wasm32/build.sh diff --git a/recipes/recipes/cross-python_emscripten-32/deactivate-cross-python.sh b/recipes/recipes/cross-python_emscripten-wasm32/deactivate-cross-python.sh similarity index 100% rename from recipes/recipes/cross-python_emscripten-32/deactivate-cross-python.sh rename to recipes/recipes/cross-python_emscripten-wasm32/deactivate-cross-python.sh diff --git a/recipes/recipes/cross-python_emscripten-32/recipe.yaml b/recipes/recipes/cross-python_emscripten-wasm32/recipe.yaml similarity index 70% rename from recipes/recipes/cross-python_emscripten-32/recipe.yaml rename to recipes/recipes/cross-python_emscripten-wasm32/recipe.yaml index 2ad9be8e3..e68aaf7e0 100644 --- a/recipes/recipes/cross-python_emscripten-32/recipe.yaml +++ b/recipes/recipes/cross-python_emscripten-wasm32/recipe.yaml @@ -1,6 +1,6 @@ context: - name: cross-python_emscripten-32 - version: "3.10.1" + name: cross-python_emscripten-wasm32 + version: "3.11.3" package: name: '{{ name|lower }}' @@ -17,11 +17,11 @@ requirements: run: - coreutils - crossenv >=1.2 - - emscripten_emscripten-32 + - emscripten_emscripten-wasm32 - rsync - sed - - python 3.10 - - setuptools <60.0 + - python 3.11 + - setuptools #<60.0 - pip about: diff --git a/recipes/recipes/emscripten_emscripten-wasm32/LICENSE b/recipes/recipes/emscripten_emscripten-wasm32/LICENSE new file mode 100644 index 000000000..271131375 --- /dev/null +++ b/recipes/recipes/emscripten_emscripten-wasm32/LICENSE @@ -0,0 +1,101 @@ +Emscripten is available under 2 licenses, the MIT license and the +University of Illinois/NCSA Open Source License. + +Both are permissive open source licenses, with little if any +practical difference between them. + +The reason for offering both is that (1) the MIT license is +well-known, while (2) the University of Illinois/NCSA Open Source +License allows Emscripten's code to be integrated upstream into +LLVM, which uses that license, should the opportunity arise. + +The full text of both licenses follows. + +============================================================================== + +Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +============================================================================== + +Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file. +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal with the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimers. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimers + in the documentation and/or other materials provided with the + distribution. + + Neither the names of Mozilla, + nor the names of its contributors may be used to endorse + or promote products derived from this Software without specific prior + written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. + +============================================================================== + +This program uses portions of Node.js source code located in src/library_path.js, +in accordance with the terms of the MIT license. Node's license follows: + + """ + Copyright Joyent, Inc. and other Node contributors. All rights reserved. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + """ + +The musl libc project is bundled in this repo, and it has the MIT license, see +system/lib/libc/musl/COPYRIGHT + +The third_party/ subdirectory contains code with other licenses. None of it is +used by default, but certain options use it (e.g., the optional closure compiler +flag will run closure compiler from third_party/). \ No newline at end of file diff --git a/recipes/recipes/emscripten_emscripten-32/activate.sh b/recipes/recipes/emscripten_emscripten-wasm32/activate.sh similarity index 81% rename from recipes/recipes/emscripten_emscripten-32/activate.sh rename to recipes/recipes/emscripten_emscripten-wasm32/activate.sh index cfc962aca..c1ff232f0 100644 --- a/recipes/recipes/emscripten_emscripten-32/activate.sh +++ b/recipes/recipes/emscripten_emscripten-wasm32/activate.sh @@ -6,22 +6,27 @@ if [ -z ${CONDA_FORGE_EMSCRIPTEN_ACTIVATED+x} ]; then export EMSDK_PYTHON=${BUILD_PREFIX}/bin/python3 export PYTHON=${BUILD_PREFIX}/bin/python3 + + + CONDA_EMSDK_DIR_CONFIG_FILE=$HOME/.emsdkdir if test -f "$CONDA_EMSDK_DIR_CONFIG_FILE"; then echo "Found config file $CONDA_EMSDK_DIR_CONFIG_FILE" else - echo "Did **NOT** find config file at: $CONDA_EMSDK_DIR_CONFIG_FILE, trying to install emsdk with empack..." - - $PYTHON -c "from empack.file_packager import download_and_setup_emsdk; download_and_setup_emsdk(\"$PKG_VERSION\")" - echo $(python -c "from empack.file_packager import EMSDK_INSTALL_PATH; print(EMSDK_INSTALL_PATH / 'emsdk-${PKG_VERSION})") > $HOME/.emsdkdir + # return an error + echo "Config file $CONDA_EMSDK_DIR_CONFIG_FILE not found" + return 1 fi + export EMSCRIPTEN_VERSION=$PKG_VERSION export CONDA_EMSDK_DIR=$(<$CONDA_EMSDK_DIR_CONFIG_FILE) export EMSCRIPTEN_FORGE_EMSDK_DIR=$CONDA_EMSDK_DIR echo "Using EMSCRIPTEN_FORGE_EMSDK_DIR $CONDA_EMSDK_DIR_CONFIG_FILE: " $EMSCRIPTEN_FORGE_EMSDK_DIR + $CONDA_EMSDK_DIR/emsdk activate --embedded --build=Release $EMSCRIPTEN_VERSION + source $CONDA_EMSDK_DIR/emsdk_env.sh export PATH="$CONDA_EMSDK_DIR/upstream/emscripten/":$PATH @@ -54,5 +59,9 @@ if [ -z ${CONDA_FORGE_EMSCRIPTEN_ACTIVATED+x} ]; then # wasm bigint export LDFLAGS="$LDFLAGS -sWASM_BIGINT" + export AR=emar + export RANLIB=emranlib + export CC=emcc + export CXX=em++ fi diff --git a/recipes/recipes/emscripten_emscripten-32/build_compiler_package.sh b/recipes/recipes/emscripten_emscripten-wasm32/build_compiler_package.sh similarity index 92% rename from recipes/recipes/emscripten_emscripten-32/build_compiler_package.sh rename to recipes/recipes/emscripten_emscripten-wasm32/build_compiler_package.sh index 14dee89db..26fdde830 100644 --- a/recipes/recipes/emscripten_emscripten-32/build_compiler_package.sh +++ b/recipes/recipes/emscripten_emscripten-wasm32/build_compiler_package.sh @@ -9,5 +9,4 @@ do done mkdir -p ${PREFIX}/bin -cp "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" ${PREFIX}/bin/activate_emscripten.sh - +cp "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" ${PREFIX}/bin/activate_emscripten.sh \ No newline at end of file diff --git a/recipes/recipes/emscripten_emscripten-32/deactivate.sh b/recipes/recipes/emscripten_emscripten-wasm32/deactivate.sh similarity index 100% rename from recipes/recipes/emscripten_emscripten-32/deactivate.sh rename to recipes/recipes/emscripten_emscripten-wasm32/deactivate.sh diff --git a/recipes/recipes/emscripten_emscripten-32/recipe.yaml b/recipes/recipes/emscripten_emscripten-wasm32/recipe.yaml similarity index 85% rename from recipes/recipes/emscripten_emscripten-32/recipe.yaml rename to recipes/recipes/emscripten_emscripten-wasm32/recipe.yaml index fb3df9d2f..cff2f0d26 100644 --- a/recipes/recipes/emscripten_emscripten-32/recipe.yaml +++ b/recipes/recipes/emscripten_emscripten-wasm32/recipe.yaml @@ -1,27 +1,18 @@ context: - name: emscripten_emscripten-32 - version: 3.1.27 + name: emscripten_emscripten-wasm32 + version: 3.1.45 package: name: '{{ name|lower }}' version: '{{ version }}' + build: - number: 6 - ignore_run_exports: - - python + number: 15 outputs: # TODO make run_exports work with boa - - package: - name: emscripten-abi - version: '{{ version }}' - build: - noarch: generic - script: - - echo "emscripten abi is built." - - package: name: '{{ name | lower }}' version: '{{ version }}' @@ -36,12 +27,21 @@ outputs: build: - gettext run: - # - python 3.10 - - emsdk + - python + + + - package: + name: emscripten-abi + version: '{{ version }}' + build: + noarch: generic + script: + - echo "emscripten abi is built." + about: home: https://emscripten.org/ - license: BSD-3-Clause + license: MIT license_file: LICENSE summary: emscripten description: Emscripten is a complete compiler toolchain to WebAssembly, using LLVM, with a special focus on speed, size, and the Web platform. diff --git a/recipes/recipes_emscripten/arrow/build.sh b/recipes/recipes_emscripten/arrow-cpp/build.sh similarity index 100% rename from recipes/recipes_emscripten/arrow/build.sh rename to recipes/recipes_emscripten/arrow-cpp/build.sh diff --git a/recipes/recipes_emscripten/arrow/patches/patch_libraries_search_prefix.patch b/recipes/recipes_emscripten/arrow-cpp/patches/patch_libraries_search_prefix.patch similarity index 100% rename from recipes/recipes_emscripten/arrow/patches/patch_libraries_search_prefix.patch rename to recipes/recipes_emscripten/arrow-cpp/patches/patch_libraries_search_prefix.patch diff --git a/recipes/recipes_emscripten/arrow/patches/wasm.patch b/recipes/recipes_emscripten/arrow-cpp/patches/wasm.patch similarity index 100% rename from recipes/recipes_emscripten/arrow/patches/wasm.patch rename to recipes/recipes_emscripten/arrow-cpp/patches/wasm.patch diff --git a/recipes/recipes_emscripten/arrow/recipe.yaml b/recipes/recipes_emscripten/arrow-cpp/recipe.yaml similarity index 96% rename from recipes/recipes_emscripten/arrow/recipe.yaml rename to recipes/recipes_emscripten/arrow-cpp/recipe.yaml index c711651c1..fe32cd7e3 100644 --- a/recipes/recipes_emscripten/arrow/recipe.yaml +++ b/recipes/recipes_emscripten/arrow-cpp/recipe.yaml @@ -30,7 +30,6 @@ about: home: https://arrow.apache.org/ license: Apache license_family: Apache - license_file: LICENSE.rst summary: 'Arrow: A cross-language development platform for in-memory analytics' description: | Arrow: A cross-language development platform for in-memory analytics diff --git a/recipes/recipes_emscripten/arrow-python/FindPythonLibsNew.cmake b/recipes/recipes_emscripten/arrow-python/FindPythonLibsNew.cmake index 60d1fb78c..31c34a1c8 100644 --- a/recipes/recipes_emscripten/arrow-python/FindPythonLibsNew.cmake +++ b/recipes/recipes_emscripten/arrow-python/FindPythonLibsNew.cmake @@ -15,10 +15,10 @@ # Thanks to talljimbo for the patch adding the 'LDVERSION' config # variable usage. -set(PYTHON_INCLUDE_DIR "$ENV{PREFIX}/include/python3.10") -set(PYTHON_LIBRARY "$ENV{PREFIX}/lib/libpython3.10.a") +set(PYTHON_INCLUDE_DIR "$ENV{PREFIX}/include/python3.11") +set(PYTHON_LIBRARY "$ENV{PREFIX}/lib/libpython3.11.a") set(PYTHON_MODULE_EXTENSION ".so") -set(PYTHON_SITE_PACKAGES "$ENV{PREFIX}/lib/python3.10/site-packages") +set(PYTHON_SITE_PACKAGES "$ENV{PREFIX}/lib/python3.11/site-packages") set(PYTHON_IS_DEBUG "FALSE") mark_as_advanced(PYTHON_LIBRARY PYTHON_INCLUDE_DIR) diff --git a/recipes/recipes_emscripten/arrow-python/build.sh b/recipes/recipes_emscripten/arrow-python/build.sh index 951aa2d44..d5a29df47 100644 --- a/recipes/recipes_emscripten/arrow-python/build.sh +++ b/recipes/recipes_emscripten/arrow-python/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -if [[ $target_platform == "emscripten-32" ]]; then +if [[ $target_platform == "emscripten-wasm32" ]]; then cp ${RECIPE_DIR}/setup.py ${SRC_DIR}/python/ cp ${RECIPE_DIR}/CMakeLists.txt ${SRC_DIR}/python/ cp ${RECIPE_DIR}/FindPythonLibsNew.cmake ${SRC_DIR}/cpp/cmake_modules/ @@ -10,7 +10,7 @@ fi -export INCLUDE_NUMPY_FLAGS="-I$BUILD_PREFIX/lib/python3.10/site-packages/numpy/core/include -I$PREFIX/lib/python3.10/site-packages/numpy/core/include" +export INCLUDE_NUMPY_FLAGS="-I$BUILD_PREFIX/lib/python3.11/site-packages/numpy/core/include -I$PREFIX/lib/python3.11/site-packages/numpy/core/include" export CFLAGS="$CFLAGS $INCLUDE_NUMPY_FLAGS" export CXXFLAGS="$CXXFLAGS $INCLUDE_NUMPY_FLAGS" @@ -21,4 +21,8 @@ export CXXFLAGS="$CXXFLAGS -sWASM_BIGINT" export LDFLAGS="$LDFLAGS -sWASM_BIGINT" cd python -${PYTHON} -m pip install . -vvv \ No newline at end of file +${PYTHON} -m pip install . -vvv + +INIT_PATH=$PREFIX/lib/python3.11/site-packages/pyarrow/__init__.py + +sed -i "s/__version__ = None/__version__ = \"$PKG_VERSION\"/g" $INIT_PATH \ No newline at end of file diff --git a/recipes/recipes_emscripten/arrow-python/recipe.yaml b/recipes/recipes_emscripten/arrow-python/recipe.yaml index d2beada5d..2766cc9ba 100644 --- a/recipes/recipes_emscripten/arrow-python/recipe.yaml +++ b/recipes/recipes_emscripten/arrow-python/recipe.yaml @@ -12,16 +12,15 @@ source: - patches/wasm.patch build: - number: 3 + number: 5 requirements: build: - '{{ compiler("cxx") }}' - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - - cython - - sel(build_platform != target_platform): setuptools <60 - - setuptools_scm + - cython < 2 + - setuptools - numpy - pip - cmake @@ -46,7 +45,6 @@ about: home: https://arrow.apache.org/ license: Apache license_family: Apache - license_file: LICENSE.rst summary: 'Arrow: A cross-language development platform for in-memory analytics' description: | Arrow: A cross-language development platform for in-memory analytics diff --git a/recipes/recipes_emscripten/astropy/recipe.yaml b/recipes/recipes_emscripten/astropy/recipe.yaml index 32cb2c36d..74565bfee 100644 --- a/recipes/recipes_emscripten/astropy/recipe.yaml +++ b/recipes/recipes_emscripten/astropy/recipe.yaml @@ -16,7 +16,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - cython - numpy diff --git a/recipes/recipes_emscripten/awkward-cpp/build.sh b/recipes/recipes_emscripten/awkward-cpp/build.sh index 346eafb6c..5c91b63f8 100644 --- a/recipes/recipes_emscripten/awkward-cpp/build.sh +++ b/recipes/recipes_emscripten/awkward-cpp/build.sh @@ -7,4 +7,4 @@ toolchain_path="${emscripten_root}/cmake/Modules/Platform/Emscripten.cmake" # Setup build arguments export CMAKE_ARGS="${CMAKE_ARGS} -DEMSCRIPTEN=1 -DCMAKE_TOOLCHAIN_FILE=${toolchain_path} -DCMAKE_PROJECT_INCLUDE=${RECIPE_DIR}/overwriteProp.cmake" -python -m pip install . -vv +$PYTHON -m pip install . -vv diff --git a/recipes/recipes_emscripten/biopython/recipe.yaml b/recipes/recipes_emscripten/biopython/recipe.yaml index da5b084e0..0ac092b8e 100644 --- a/recipes/recipes_emscripten/biopython/recipe.yaml +++ b/recipes/recipes_emscripten/biopython/recipe.yaml @@ -15,7 +15,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - "{{ compiler('c') }}" - pip diff --git a/recipes/recipes_emscripten/boost-histogram/recipe.yaml b/recipes/recipes_emscripten/boost-histogram/recipe.yaml index c7a1aba3a..d44abbc90 100644 --- a/recipes/recipes_emscripten/boost-histogram/recipe.yaml +++ b/recipes/recipes_emscripten/boost-histogram/recipe.yaml @@ -17,7 +17,7 @@ build: requirements: build: - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - "{{ compiler('cxx') }}" - pip - setuptools_scm diff --git a/recipes/recipes_emscripten/brotli/recipe.yaml b/recipes/recipes_emscripten/brotli/recipe.yaml index 60226d9de..8c121dcab 100644 --- a/recipes/recipes_emscripten/brotli/recipe.yaml +++ b/recipes/recipes_emscripten/brotli/recipe.yaml @@ -17,7 +17,7 @@ requirements: build: - '{{ compiler("c") }}' - '{{ compiler("cxx") }}' - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - cmake - ninja - python diff --git a/recipes/recipes_emscripten/bzip2/recipe.yaml b/recipes/recipes_emscripten/bzip2/recipe.yaml index b26cd3acf..3bfb8b1d7 100644 --- a/recipes/recipes_emscripten/bzip2/recipe.yaml +++ b/recipes/recipes_emscripten/bzip2/recipe.yaml @@ -13,7 +13,7 @@ source: path: CMakeLists.txt build: - number: 0 + number: 6 # run_exports: # - '{{ pin_subpackage("bzip2") }}' @@ -28,32 +28,32 @@ features: - name: static default: false -test: - commands: - #- sel(emscripten): node ${PREFIX}/bin/bzip2.js --help - - sel(unix and not emscripten): bzip2 --help - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bunzip2 - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzcat - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzcmp - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzdiff - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzegrep - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzfgrep - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzgrep - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzip2recover - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzip2 - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzless - - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzmore - - sel(unix): test -f ${PREFIX}/include/bzlib.h - # - sel(unix): test -f ${PREFIX}/lib/libbz2.a - # - sel(linux): test -f ${PREFIX}/lib/libbz2.so - # - sel(osx): test -f ${PREFIX}/lib/libbz2.dylib - - sel(win): if not exist %LIBRARY_INC%\\bzlib.h exit 1 - - sel(win): if not exist %LIBRARY_LIB%\\bzip2.lib exit 1 - - sel(win): if not exist %LIBRARY_BIN%\\bzip2.dll exit 1 - - sel(win): if not exist %LIBRARY_LIB%\\libbz2.lib exit 1 - - sel(win): if not exist %LIBRARY_BIN%\\libbz2.dll exit 1 - - sel(win): if not exist %LIBRARY_LIB%\\bzip2_static.lib exit 1 - - sel(win): if not exist %LIBRARY_LIB%\\libbz2_static.lib exit 1 +# test: +# commands: +# #- sel(emscripten): node ${PREFIX}/bin/bzip2.js --help +# - sel(unix and not emscripten): bzip2 --help +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bunzip2 +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzcat +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzcmp +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzdiff +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzegrep +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzfgrep +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzgrep +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzip2recover +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzip2 +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzless +# - sel(unix and not emscripten): test -f ${PREFIX}/bin/bzmore +# - sel(unix): test -f ${PREFIX}/include/bzlib.h +# # - sel(unix): test -f ${PREFIX}/lib/libbz2.a +# # - sel(linux): test -f ${PREFIX}/lib/libbz2.so +# # - sel(osx): test -f ${PREFIX}/lib/libbz2.dylib +# - sel(win): if not exist %LIBRARY_INC%\\bzlib.h exit 1 +# - sel(win): if not exist %LIBRARY_LIB%\\bzip2.lib exit 1 +# - sel(win): if not exist %LIBRARY_BIN%\\bzip2.dll exit 1 +# - sel(win): if not exist %LIBRARY_LIB%\\libbz2.lib exit 1 +# - sel(win): if not exist %LIBRARY_BIN%\\libbz2.dll exit 1 +# - sel(win): if not exist %LIBRARY_LIB%\\bzip2_static.lib exit 1 +# - sel(win): if not exist %LIBRARY_LIB%\\libbz2_static.lib exit 1 about: home: http://www.bzip.org/ diff --git a/recipes/recipes_emscripten/cffi/recipe.yaml b/recipes/recipes_emscripten/cffi/recipe.yaml index 829fd53d2..8434c19ca 100644 --- a/recipes/recipes_emscripten/cffi/recipe.yaml +++ b/recipes/recipes_emscripten/cffi/recipe.yaml @@ -13,11 +13,14 @@ source: - path: setup.py build: - number: 0 + number: 2 + ignore_run_exports: + - python + - python_abi requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - "{{ compiler('c') }}" - pkg-config @@ -26,10 +29,11 @@ requirements: - python - libffi - pycparser - run: - - python - - libffi - - pycparser + - pip + # run: + # - python + # - libffi + # - pycparser about: home: https://bitbucket.org/cffi/cffi diff --git a/recipes/recipes_emscripten/cffi_example/recipe.yaml b/recipes/recipes_emscripten/cffi_example/recipe.yaml index 54762d340..32e499757 100644 --- a/recipes/recipes_emscripten/cffi_example/recipe.yaml +++ b/recipes/recipes_emscripten/cffi_example/recipe.yaml @@ -10,17 +10,17 @@ source: build: number: 0 + ignore_run_exports: + - python_abi requirements: build: - '{{ compiler("c") }}' - - cross-python_emscripten-32 - - python - - cffi ==1.15.0 + - cross-python_emscripten-wasm32 - pip - host: + host: - python - - cffi ==1.15.0 + - cffi run: - python - cffi diff --git a/recipes/recipes_emscripten/cftime/recipe.yaml b/recipes/recipes_emscripten/cftime/recipe.yaml index 3afa4929a..f4e8b0ddb 100644 --- a/recipes/recipes_emscripten/cftime/recipe.yaml +++ b/recipes/recipes_emscripten/cftime/recipe.yaml @@ -18,7 +18,7 @@ requirements: build: - "{{ compiler('c') }}" - cython - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - numpy - pip diff --git a/recipes/recipes_emscripten/clapack/build.sh b/recipes/recipes_emscripten/clapack/build.sh index ab7552c5c..8c48fddce 100644 --- a/recipes/recipes_emscripten/clapack/build.sh +++ b/recipes/recipes_emscripten/clapack/build.sh @@ -6,6 +6,10 @@ # easier to debug. chmod -R o+rx . +export AR=emar +export ARCH=emar +export RANLIB=emranlib + cp $RECIPE_DIR/patches/endfile.c ./F2CLIBS/libf2c/ # In CLAPACK's Makefiles, some commands are mistakenly (?) hardcoded @@ -14,6 +18,8 @@ sed -i 's/^ -ranlib /^ $(RANLIB)/' **/Makefile sed -i 's/^ ar /^ $(ARCH)/' **/Makefile sed -i 's/^ ld /^ $(LD)/' **/Makefile +sed -i 's/-ranlib/-emranlib/g' F2CLIBS/libf2c/Makefile +sed -i 's/\bar\b/emar/g' F2CLIBS/libf2c/Makefile export CFLAGS="CFLAGS -DNO_TRUNCATE" diff --git a/recipes/recipes_emscripten/clapack/recipe.yaml b/recipes/recipes_emscripten/clapack/recipe.yaml index 61534d0b2..3ef2798ad 100644 --- a/recipes/recipes_emscripten/clapack/recipe.yaml +++ b/recipes/recipes_emscripten/clapack/recipe.yaml @@ -19,13 +19,16 @@ source: - path: make.inc build: - number: 4 + number: 5 run_exports: - "{{ pin_subpackage('clapack', max_pin='x.x') }}" + # ignore_run_exports: + # - python + # - python_abi requirements: build: - '{{ compiler("c") }}' - make - sed - - binutils + #- binutils diff --git a/recipes/recipes_emscripten/cryptography/recipe.yaml b/recipes/recipes_emscripten/cryptography/recipe.yaml index 53c01c84e..0f43d3777 100644 --- a/recipes/recipes_emscripten/cryptography/recipe.yaml +++ b/recipes/recipes_emscripten/cryptography/recipe.yaml @@ -12,19 +12,21 @@ source: build: number: 1 + ignore_run_exports: + - python_abi requirements: build: - - cross-python_emscripten-32 - - python - - cffi + - cross-python_emscripten-wasm32 + - cffi == 1.15.1 + - openssl - pip host: - python - openssl - - cffi - run: - - cffi + - cffi == 1.15.1 + #run: + # #- cffi extra: emscripten_tests: diff --git a/recipes/recipes_emscripten/freesasa/recipe.yaml b/recipes/recipes_emscripten/freesasa/recipe.yaml index dd4dc39a1..d2e7e8482 100644 --- a/recipes/recipes_emscripten/freesasa/recipe.yaml +++ b/recipes/recipes_emscripten/freesasa/recipe.yaml @@ -1,24 +1,24 @@ context: name: freesasa - version: "2.1.0" + version: "2.2.0" package: name: freesasa version: "{{ version }}" source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/freesasa-{{ version }}.tar.gz - sha256: dca2a71f5a315aff3ad8ee96130d0e17003265d82241378ffc0dcb0f98bf2203 + url: https://files.pythonhosted.org/packages/1e/99/6b7d3684738a16ab6d799ede9d81165e0bad8ae7ce2616896640ca82301f/freesasa-2.2.0.post3.tar.gz + sha256: db7e5c8a1deae051198d5c7e1a54f2d001b22a945b524d81cb26cacb7d6bb54f build: - number: 0 + number: 1 requirements: build: - "{{ compiler('c') }}" - cython - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - pip host: # - cython diff --git a/recipes/recipes_emscripten/future/recipe.yaml b/recipes/recipes_emscripten/future/recipe.yaml index 104e43194..5b5bd4b93 100644 --- a/recipes/recipes_emscripten/future/recipe.yaml +++ b/recipes/recipes_emscripten/future/recipe.yaml @@ -15,8 +15,8 @@ build: requirements: build: - python - - cross-python_emscripten-32 - pip + - '{{ compiler("cxx") }}' host: - python diff --git a/recipes/recipes_emscripten/gmp/build.sh b/recipes/recipes_emscripten/gmp/build.sh index 982cdceb3..6e0cebd95 100644 --- a/recipes/recipes_emscripten/gmp/build.sh +++ b/recipes/recipes_emscripten/gmp/build.sh @@ -1,8 +1,9 @@ -emconfigure ./configure \ +CC_FOR_BUILD=emcc CPP_FOR_BUILD=emcc HOST_CC=emcc emconfigure ./configure \ CFLAGS="$CFLAGS -fPIC" \ --prefix=${PREFIX} \ - --host=none \ - --enable-cxx + --disable-assembly \ + --enable-cxx \ + --host=none \ # --enable-fat emmake make -j${CPU_COUNT} diff --git a/recipes/recipes_emscripten/gmp/recipe.yaml b/recipes/recipes_emscripten/gmp/recipe.yaml index 709f0896e..4661c19d7 100644 --- a/recipes/recipes_emscripten/gmp/recipe.yaml +++ b/recipes/recipes_emscripten/gmp/recipe.yaml @@ -7,7 +7,7 @@ package: source: url: https://gmplib.org/download/gmp/gmp-{{ version }}.tar.bz2 - sha256: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c + #sha256: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c build: number: 0 diff --git a/recipes/recipes_emscripten/highs/build.sh b/recipes/recipes_emscripten/highs/build.sh new file mode 100644 index 000000000..6d08e0b80 --- /dev/null +++ b/recipes/recipes_emscripten/highs/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +mkdir build +cd build +emcmake cmake ${CMAKE_ARGS} -DBUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$PREFIX $SRC_DIR -DCMAKE_INSTALL_LIBDIR=lib .. +emmake make install \ No newline at end of file diff --git a/recipes/recipes_emscripten/highs/recipe.yaml b/recipes/recipes_emscripten/highs/recipe.yaml new file mode 100644 index 000000000..d4b2b5e88 --- /dev/null +++ b/recipes/recipes_emscripten/highs/recipe.yaml @@ -0,0 +1,36 @@ +context: + name: highs + version: 1.6.0 + +package: + name: '{{ name }}' + version: '{{ version }}' + +source: + url: https://github.com/ERGO-Code/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 71962981566477c72c51b8b722c5df053d857b05b4f0e6869f455f657b3aa193 + +build: + number: 0 + +requirements: + build: + - '{{ compiler("cxx") }}' + - cmake + - make + + +about: + home: https://github.com/ERGO-Code/HiGHS + summary: HiGHS is a high performance serial and parallel solver for large scale sparse linear optimization problems + description: | + HiGHS is a high performance serial and parallel solver for large scale sparse linear optimization problems + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: https://highs.dev + dev_url: https://github.com/ERGO-Code/HiGHS + +extra: + recipe-maintainers: + - DerThorsten \ No newline at end of file diff --git a/recipes/recipes_emscripten/ipython/recipe.yaml b/recipes/recipes_emscripten/ipython/recipe.yaml index d77fba1b9..ec9fa8cea 100644 --- a/recipes/recipes_emscripten/ipython/recipe.yaml +++ b/recipes/recipes_emscripten/ipython/recipe.yaml @@ -17,7 +17,7 @@ build: requirements: build: - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - pip host: - python diff --git a/recipes/recipes_emscripten/joblib/recipe.yaml b/recipes/recipes_emscripten/joblib/recipe.yaml index c1b55d02e..cb786fcd5 100644 --- a/recipes/recipes_emscripten/joblib/recipe.yaml +++ b/recipes/recipes_emscripten/joblib/recipe.yaml @@ -17,7 +17,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python >=3.6 - pip host: diff --git a/recipes/recipes_emscripten/kiwisolver/recipe.yaml b/recipes/recipes_emscripten/kiwisolver/recipe.yaml index 2130b4460..92027db64 100644 --- a/recipes/recipes_emscripten/kiwisolver/recipe.yaml +++ b/recipes/recipes_emscripten/kiwisolver/recipe.yaml @@ -10,14 +10,14 @@ source: sha256: fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c build: - number: 3 + number: 6 requirements: build: - '{{ compiler("cxx") }}' - - cross-python_emscripten-32 - - python - - setuptools <60 + - cross-python_emscripten-wasm32 + #- python + - setuptools # <60 - pip - cppy host: diff --git a/recipes/recipes_emscripten/libffi/bld.bat b/recipes/recipes_emscripten/libffi/bld.bat deleted file mode 100644 index 52ad0a9fb..000000000 --- a/recipes/recipes_emscripten/libffi/bld.bat +++ /dev/null @@ -1,3 +0,0 @@ -call %BUILD_PREFIX%\Library\bin\run_autotools_clang_conda_build.bat -if %ERRORLEVEL% neq 0 exit 1 -copy %LIBRARY_LIB%\libffi.lib %LIBRARY_LIB%\ffi.lib diff --git a/recipes/recipes_emscripten/libffi/build.sh b/recipes/recipes_emscripten/libffi/build.sh index dfa4f337d..46fa5e240 100644 --- a/recipes/recipes_emscripten/libffi/build.sh +++ b/recipes/recipes_emscripten/libffi/build.sh @@ -1,62 +1,37 @@ -#!/usr/bin/env bash - -set -e -x -shopt -s extglob - - -if [[ "$target_platform" != emscripten-* ]]; then - - export CFLAGS="${CFLAGS//-fvisibility=+([! ])/}" - export CXXFLAGS="${CXXFLAGS//-fvisibility=+([! ])/}" - - configure_args=( - --disable-debug - --disable-dependency-tracking - --prefix="${PREFIX}" - --includedir="${PREFIX}/include" - --disable-exec-static-tramp - ) - - if [[ "$target_platform" != win-* ]]; then - configure_args+=(--build=$BUILD --host=$HOST) - else - configure_args+=(--disable-static) - export CPPFLAGS="$CPPFLAGS -DFFI_BUILDING_DLL" - fi - - autoreconf -vfi - - if [[ "$target_platform" == linux* ]]; then - # this changes the install dir from ${PREFIX}/lib64 to ${PREFIX}/lib - sed -i 's:@toolexeclibdir@:$(libdir):g' Makefile.in */Makefile.in - sed -i 's:@toolexeclibdir@:${libdir}:g' libffi.pc.in - fi - - ./configure "${configure_args[@]}" || { cat config.log; exit 1;} - if [[ "$target_platform" == win-64 ]]; then - pushd x86_64-pc-mingw64 - patch_libtool - sed -i.bak 's/|-fuse-ld/|-Xclang|-fuse-ld/g' libtool - popd - fi - - make -j${CPU_COUNT} ${VERBOSE_AT} - make check - make install - - # This overlaps with libgcc-ng: - rm -rf ${PREFIX}/share/info/dir - - if [[ "$target_platform" == win-64 ]]; then - mv $PREFIX/lib/ffi.dll.lib $PREFIX/lib/libffi.dll.lib - fi -else - echo "emscripten build" - ./build.sh - make install - mkdir -p ${PREFIX}/lib - mkdir -p ${PREFIX}/include - cp target/include/*.h ${PREFIX}/include/ - cp target/lib/libffi.a ${PREFIX}/lib/ - -fi \ No newline at end of file + +# make some directories +mkdir -p $PREFIX/include +mkdir -p $PREFIX/lib +mkdir -p $PREFIX/bin +mkdir -p $PREFIX/etc/conda +mkdir -p cpython/build + + +# overwrite $RECIPEDIR/pyodide_env.sh with am empty file +# since we do not want to use the pyodide_env.sh from pyodide +echo "" > $RECIPE_DIR/pyodide_env.sh + + +# create a symlink from $BUILD_PREFIX/emsdk directory to this dir emsdk. +# This allows us to overwrite the emsdk from pyodide +rm -rf emsdk +mkdir -p emsdk +cd emsdk +ln -s $CONDA_EMSDK_DIR emsdk +cd .. + + +mkdir -p cpython/build/Python-3.11.3/Include + +#replace "all: $(INSTALL)/lib/$(LIB) $(INSTALL)/lib/libffi.a" with "$(INSTALL)/lib/libffi.a" + +sed -i 's/all: $(INSTALL)\/lib\/$(LIB) $(INSTALL)\/lib\/libffi.a/all: $(INSTALL)\/lib\/libffi.a/g' cpython/Makefile + +################################################################# +# THE ACTUAL BUILD +make -C cpython +################################################################ + + +# install libffi +cp -r cpython/build/libffi/target/ $PREFIX/ \ No newline at end of file diff --git a/recipes/recipes_emscripten/libffi/pyodide_env.sh b/recipes/recipes_emscripten/libffi/pyodide_env.sh new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/recipes/recipes_emscripten/libffi/pyodide_env.sh @@ -0,0 +1 @@ + diff --git a/recipes/recipes_emscripten/libffi/recipe.yaml b/recipes/recipes_emscripten/libffi/recipe.yaml index 877c343c0..ee393edf5 100644 --- a/recipes/recipes_emscripten/libffi/recipe.yaml +++ b/recipes/recipes_emscripten/libffi/recipe.yaml @@ -1,23 +1,40 @@ context: version: 3.4.2 - am_version: 1.15 - -package: + pyodide_version: 0.24.0 name: libffi +package: + name: '{{name}}' version: '{{ version }}' source: - url: https://github.com/hoodmane/libffi-emscripten/archive/refs/tags/2022-06-23.tar.gz - sha256: af4a4ed65b29f1dd0e5b4106a971ea1be73832f759ce7bc0cb12ac6d3bb88a71 - + - url: https://github.com/pyodide/pyodide/archive/refs/tags/{{pyodide_version}}.tar.gz + sha256: c8350c4780be44fe763a66f5024197025b0f8740cc4a7c9ad833a89c69916276 build: - number: 0 + number: 4 + ignore_run_exports: + - nodejs requirements: build: - - texinfo - - make - '{{ compiler("cxx") }}' + - '{{ compiler("c") }}' + - python=3.11 + - nodejs + - ccache + - f2c + - pkg-config + - swig + - make + - cmake + - pkg-config + - texinfo + - autoconf + - automake + - libtool + - patch # only needed on MacOS + - sed # only needed on MacOS + - wget + about: home: https://sourceware.org/libffi/ @@ -35,3 +52,4 @@ about: extra: recipe-maintainers: - DerThorsten + diff --git a/recipes/recipes_emscripten/libpython-static/recipe.yaml b/recipes/recipes_emscripten/libpython/recipe.yaml similarity index 88% rename from recipes/recipes_emscripten/libpython-static/recipe.yaml rename to recipes/recipes_emscripten/libpython/recipe.yaml index e571d23dc..6225e2d2e 100644 --- a/recipes/recipes_emscripten/libpython-static/recipe.yaml +++ b/recipes/recipes_emscripten/libpython/recipe.yaml @@ -1,5 +1,5 @@ context: - version: 3.10.2 + version: 3.11.3 package: name: libpython @@ -14,12 +14,11 @@ requirements: - bzip2 - zlib - libffi - - sqlite + - sqlite about: home: todo summary: we need different dependencies when we want to build things ontop of python (ie xeus-python/pyjs) compared to the situation where a pkg like pands dependes on python. - license_file: todo extra: recipe-maintainers: diff --git a/recipes/recipes_emscripten/libuuid/build.sh b/recipes/recipes_emscripten/libuuid/build.sh new file mode 100644 index 000000000..e740297f7 --- /dev/null +++ b/recipes/recipes_emscripten/libuuid/build.sh @@ -0,0 +1,4 @@ +emconfigure ./configure --prefix=$PREFIX --disable-all-programs --enable-libuuid --disable-shared --enable-static + +emmake make +emmake make install diff --git a/recipes/recipes_emscripten/libuuid/recipe.yaml b/recipes/recipes_emscripten/libuuid/recipe.yaml new file mode 100644 index 000000000..d988fa699 --- /dev/null +++ b/recipes/recipes_emscripten/libuuid/recipe.yaml @@ -0,0 +1,37 @@ +context: + major_minor: "2.38" + version: "2.38.1" + +package: + name: libuuid + version: "{{ version }}" + +source: + fn: libuuid-{{ version }}.tar.gz + url: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v{{ major_minor }}/util-linux-{{ version }}.tar.gz + sha256: 0820eb8eea90408047e3715424bc6be771417047f683950fecb4bdd2e2cbbc6e + +build: + number: 1 + +requirements: + build: + # - libtool # [unix] + - "{{ compiler('c') }}" + - gnuconfig # [unix] + - make # [unix] + - kernel-headers_linux-64 # [linux64] + + +about: + home: http://sourceforge.net/projects/libuuid/ + license: BSD-3-Clause + license_file: COPYING + summary: Portable uuid C library + description: | + 'Portable uuid C library.' + doc_url: "-" + +extra: + recipe-maintainers: + - DerThorsten \ No newline at end of file diff --git a/recipes/recipes_emscripten/libxml/0004-CVE-2017-8872.patch b/recipes/recipes_emscripten/libxml2/0004-CVE-2017-8872.patch similarity index 100% rename from recipes/recipes_emscripten/libxml/0004-CVE-2017-8872.patch rename to recipes/recipes_emscripten/libxml2/0004-CVE-2017-8872.patch diff --git a/recipes/recipes_emscripten/libxml/build.sh b/recipes/recipes_emscripten/libxml2/build.sh similarity index 100% rename from recipes/recipes_emscripten/libxml/build.sh rename to recipes/recipes_emscripten/libxml2/build.sh diff --git a/recipes/recipes_emscripten/libxml/recipe.yaml b/recipes/recipes_emscripten/libxml2/recipe.yaml similarity index 100% rename from recipes/recipes_emscripten/libxml/recipe.yaml rename to recipes/recipes_emscripten/libxml2/recipe.yaml diff --git a/recipes/recipes_emscripten/logbook/recipe.yaml b/recipes/recipes_emscripten/logbook/recipe.yaml index 01476fa19..7225bcb09 100644 --- a/recipes/recipes_emscripten/logbook/recipe.yaml +++ b/recipes/recipes_emscripten/logbook/recipe.yaml @@ -15,7 +15,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - "{{ compiler('c') }}" - python - cython diff --git a/recipes/recipes_emscripten/lua/build.sh b/recipes/recipes_emscripten/lua/build.sh index 0ae6e47a6..3836605a6 100644 --- a/recipes/recipes_emscripten/lua/build.sh +++ b/recipes/recipes_emscripten/lua/build.sh @@ -2,7 +2,7 @@ -if [[ $target_platform == "emscripten-32" ]]; then +if [[ $target_platform == "emscripten-wasm32" ]]; then echo "EMSCRIPTEN!" mkdir build diff --git a/recipes/recipes_emscripten/lxml/recipe.yaml b/recipes/recipes_emscripten/lxml/recipe.yaml index 969076915..c3e0288e8 100644 --- a/recipes/recipes_emscripten/lxml/recipe.yaml +++ b/recipes/recipes_emscripten/lxml/recipe.yaml @@ -17,7 +17,7 @@ build: requirements: build: - '{{ compiler("c") }}' - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - setuptools <60 - pip diff --git a/recipes/recipes_emscripten/markupsafe/recipe.yaml b/recipes/recipes_emscripten/markupsafe/recipe.yaml index 59a5e9d0b..3abfa6dbc 100644 --- a/recipes/recipes_emscripten/markupsafe/recipe.yaml +++ b/recipes/recipes_emscripten/markupsafe/recipe.yaml @@ -16,7 +16,7 @@ requirements: build: - '{{ compiler("c") }}' - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - pip host: - python diff --git a/recipes/recipes_emscripten/matplotlib/build.sh b/recipes/recipes_emscripten/matplotlib/build.sh index 138ab8ea4..0ae3846b3 100644 --- a/recipes/recipes_emscripten/matplotlib/build.sh +++ b/recipes/recipes_emscripten/matplotlib/build.sh @@ -17,3 +17,12 @@ cp $RECIPE_DIR/src/Humor-Sans-1.0.ttf $MATPLOTLIB_LOCATION/mpl-data/fonts/ttf/Hu rm -rf $MATPLOTLIB_LOCATION/backends/qt_editor rm -rf $MATPLOTLIB_LOCATION/backends/web_backend rm -rf $MATPLOTLIB_LOCATION/sphinxext + + +# rename import _qhull to import _qhull_matplotlib in file F +F=$MATPLOTLIB_LOCATION/tri/triangulation.py +sed -i 's/_qhull/_qhull_matplotlib/g' $F + +# rename file $MATPLOTLIB_LOCATION/_qhull.* to $MATPLOTLIB_LOCATION/_qhull_matplotlib.* +mv $MATPLOTLIB_LOCATION/_qhull.cpython-311-wasm32-emscripten.so $MATPLOTLIB_LOCATION/_qhull_matplotlib.cpython-311-wasm32-emscripten.so + diff --git a/recipes/recipes_emscripten/matplotlib/recipe.yaml b/recipes/recipes_emscripten/matplotlib/recipe.yaml index d63c68c30..46c350d3f 100644 --- a/recipes/recipes_emscripten/matplotlib/recipe.yaml +++ b/recipes/recipes_emscripten/matplotlib/recipe.yaml @@ -19,7 +19,7 @@ source: - path: setupext.py build: - number: 0 + number: 3 steps: - package: @@ -30,13 +30,13 @@ steps: build: - python - numpy - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - "{{ compiler('c') }}" - "{{ compiler('cxx') }}" - sel(not win): pkg-config - # TODO add certifi package to emscripten-32 and depend in host on this + # TODO add certifi package to emscripten-wasm32 and depend in host on this - certifi - pip - setuptools_scm_git_archive diff --git a/recipes/recipes_emscripten/mpdecimal/build.sh b/recipes/recipes_emscripten/mpdecimal/build.sh index 2e737c3d2..8d32f91b2 100644 --- a/recipes/recipes_emscripten/mpdecimal/build.sh +++ b/recipes/recipes_emscripten/mpdecimal/build.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -if [[ $target_platform == "emscripten-32" ]]; then +if [[ $target_platform == "emscripten-wasm32" ]]; then emconfigure ./configure --prefix="${PREFIX}" make make install diff --git a/recipes/recipes_emscripten/msgpack/recipe.yaml b/recipes/recipes_emscripten/msgpack/recipe.yaml index e7a7573f7..b39ccea91 100644 --- a/recipes/recipes_emscripten/msgpack/recipe.yaml +++ b/recipes/recipes_emscripten/msgpack/recipe.yaml @@ -15,7 +15,7 @@ build: requirements: build: - '{{ compiler("c") }}' - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - pip host: diff --git a/recipes/recipes_emscripten/nlohmann_json/recipe.yaml b/recipes/recipes_emscripten/nlohmann_json/recipe.yaml index bcc7e7f59..ed603fd3d 100644 --- a/recipes/recipes_emscripten/nlohmann_json/recipe.yaml +++ b/recipes/recipes_emscripten/nlohmann_json/recipe.yaml @@ -10,11 +10,12 @@ source: sha256: d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273 build: - number: 1 + number: 2 requirements: build: - '{{ compiler("cxx") }}' + - clang - cmake - ninja diff --git a/recipes/recipes_emscripten/nlopt/build.sh b/recipes/recipes_emscripten/nlopt/build.sh index c44f4e3f5..e65003665 100644 --- a/recipes/recipes_emscripten/nlopt/build.sh +++ b/recipes/recipes_emscripten/nlopt/build.sh @@ -1,4 +1,4 @@ #!/bin/bash -export CFLAGS="${CFLAGS} -DHAVE_UINT32_T -I$BUILD_PREFIX/lib/python3.10/site-packages/numpy/core/include/" +export CFLAGS="${CFLAGS} -DHAVE_UINT32_T -I$BUILD_PREFIX/lib/python3.11/site-packages/numpy/core/include/" ${PYTHON} -m pip install . diff --git a/recipes/recipes_emscripten/nlopt/recipe.yaml b/recipes/recipes_emscripten/nlopt/recipe.yaml index 8fd03f2fd..093d531b0 100644 --- a/recipes/recipes_emscripten/nlopt/recipe.yaml +++ b/recipes/recipes_emscripten/nlopt/recipe.yaml @@ -15,10 +15,11 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - swig - pip + - numpy host: - numpy - python diff --git a/recipes/recipes_emscripten/numcodecs/recipe.yaml b/recipes/recipes_emscripten/numcodecs/recipe.yaml index 25e100ec4..27fa38568 100644 --- a/recipes/recipes_emscripten/numcodecs/recipe.yaml +++ b/recipes/recipes_emscripten/numcodecs/recipe.yaml @@ -21,7 +21,7 @@ build: requirements: build: - '{{ compiler("c") }}' - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - cython - python - pip diff --git a/recipes/recipes_emscripten/numpy/build.sh b/recipes/recipes_emscripten/numpy/build.sh index 31c1d9003..6a10fd778 100644 --- a/recipes/recipes_emscripten/numpy/build.sh +++ b/recipes/recipes_emscripten/numpy/build.sh @@ -8,10 +8,18 @@ rm -r -f branding cp $RECIPE_DIR/config/site.cfg . # export EMCC_DEBUG=1 -export LDFLAGS="-s MODULARIZE=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s WASM=1 -std=c++14 -s LZ4=1 -s SIDE_MODULE=1 -sWASM_BIGINT" -LDFLAGS="$LDFLAGS" CFLAGS="-fno-asm -Wno-error=unknown-attributes" python -m pip install . +#export LDFLAGS="-s MODULARIZE=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s WASM=1 -std=c++14 -s LZ4=1 -s SIDE_MODULE=1 -sWASM_BIGINT" -# export LDFLAGS="-s MODULARIZE=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s WASM=1 std=c++14 -s LZ4=1 -s SIDE_MODULE=1" -# LDFLAGS="$LDFLAGS" CFLAGS="-fno-asm -Wno-error=unknown-attributes" python setup.py build -j 4 install --prefix $PREFIX \ No newline at end of file +#redefine the ar command to use emar +export AR=emar +export RANLIB=emranlib + +export NPY_DISABLE_SVML=1 +export LDFLAGS="$LDFLAGS" +export CFLAGS="-fno-asm -Wno-error=unknown-attributes -I$PREFIX" +export _PYTHON_HOST_PLATFORM="unkown" +python -m pip install . --global-option " --cpu-dispatch=NONE --cpu-baseline=min" + +rm -rf $PREFIX/bin \ No newline at end of file diff --git a/recipes/recipes_emscripten/numpy/recipe.yaml b/recipes/recipes_emscripten/numpy/recipe.yaml index ba933da49..7515329fb 100644 --- a/recipes/recipes_emscripten/numpy/recipe.yaml +++ b/recipes/recipes_emscripten/numpy/recipe.yaml @@ -1,7 +1,7 @@ context: version: '1.25.2' - cross_target_plattform: emscripten-32 - target_plattform: emscripten-32 + cross_target_plattform: emscripten-wasm32 + target_plattform: emscripten-wasm32 package: name: numpy @@ -10,15 +10,14 @@ source: url: https://github.com/numpy/numpy/releases/download/v{{ version }}/numpy-{{ version }}.tar.gz sha256: fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760 build: - number: 0 + number: 2 requirements: build: - '{{ compiler("c") }}' - - cross-python_emscripten-32 - - python + - cross-python_emscripten-wasm32 - cython - - setuptools <60.0 + - setuptools >=68.0 - pip host: - python diff --git a/recipes/recipes_emscripten/openblas/build.sh b/recipes/recipes_emscripten/openblas/build.sh new file mode 100644 index 000000000..f5f86f5de --- /dev/null +++ b/recipes/recipes_emscripten/openblas/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +PYODIDE_PACKED=$RECIPE_DIR/openblas-0.3.23.zip +# unzip +unzip $PYODIDE_PACKED +# copy libopenblas.so to +mkdir -p $PREFIX/lib +cp libopenblas.so $PREFIX/lib \ No newline at end of file diff --git a/recipes/recipes_emscripten/openblas/openblas-0.3.23.zip.zip b/recipes/recipes_emscripten/openblas/openblas-0.3.23.zip.zip new file mode 100644 index 000000000..11b7eaaca Binary files /dev/null and b/recipes/recipes_emscripten/openblas/openblas-0.3.23.zip.zip differ diff --git a/recipes/recipes_emscripten/openblas/recipe.yaml b/recipes/recipes_emscripten/openblas/recipe.yaml new file mode 100644 index 000000000..dd5ba1683 --- /dev/null +++ b/recipes/recipes_emscripten/openblas/recipe.yaml @@ -0,0 +1,19 @@ +context: + version: 0.3.23 + name: openblas + +package: + name: '{{ name }}' + version: '{{ version }}' + +build: + number: 2 + +requirements: + build: + - "{{ compiler('c') }}" + + +extra: + recipe-maintainers: + - DerThorsten diff --git a/recipes/recipes_emscripten/openblas/scipy-1.11.1-cp311-cp311-emscripten_3_1_45_wasm32.whl b/recipes/recipes_emscripten/openblas/scipy-1.11.1-cp311-cp311-emscripten_3_1_45_wasm32.whl new file mode 100644 index 000000000..26e71ec68 Binary files /dev/null and b/recipes/recipes_emscripten/openblas/scipy-1.11.1-cp311-cp311-emscripten_3_1_45_wasm32.whl differ diff --git a/recipes/recipes_emscripten/openssl/build.sh b/recipes/recipes_emscripten/openssl/build.sh index 14c21e9e6..6a36dd954 100644 --- a/recipes/recipes_emscripten/openssl/build.sh +++ b/recipes/recipes_emscripten/openssl/build.sh @@ -1,7 +1,7 @@ #!/bin/bash emconfigure ./Configure gcc -no-ui-console -DHAVE_FORK=0 -DOPENSSL_NO_SECURE_MEMORY -DNO_SYSLOG -fPIC -sed -i 's!^CROSS_COMPILE=.*!!g' Makefile +sed -i '' -e 's!^CROSS_COMPILE=.*!!g' Makefile make build_generated make -j ${CPU_COUNT:-3} libcrypto.a make -j ${CPU_COUNT:-3} libssl.a diff --git a/recipes/recipes_emscripten/openssl/recipe.yaml b/recipes/recipes_emscripten/openssl/recipe.yaml index b5f22ca75..932f1b03a 100644 --- a/recipes/recipes_emscripten/openssl/recipe.yaml +++ b/recipes/recipes_emscripten/openssl/recipe.yaml @@ -1,5 +1,5 @@ context: - version: '1.1.1m' + version: '1.1.1w' package: name: openssl @@ -7,11 +7,12 @@ package: source: url: https://www.openssl.org/source/openssl-{{ version }}.tar.gz - sha256: f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96 + #sha256: f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96 build: - number: 1 + number: 7 requirements: build: - '{{ compiler("c") }}' + - python diff --git a/recipes/recipes_emscripten/pandas/recipe.yaml b/recipes/recipes_emscripten/pandas/recipe.yaml index 191c9c511..c84ab5578 100644 --- a/recipes/recipes_emscripten/pandas/recipe.yaml +++ b/recipes/recipes_emscripten/pandas/recipe.yaml @@ -1,5 +1,5 @@ context: - version: '1.4.3' + version: '1.5.3' package: name: pandas @@ -7,18 +7,18 @@ package: source: - url: https://github.com/pandas-dev/pandas/releases/download/v{{ version }}/pandas-{{ version }}.tar.gz - sha256: 2ff7788468e75917574f080cd4681b27e1a7bf36461fe968b49a87b5a54d007c - patches: - - patches/fix_json_signature.patch + #sha256: 2ff7788468e75917574f080cd4681b27e1a7bf36461fe968b49a87b5a54d007c + #patches: + # - patches/fix_json_signature.patch build: number: 0 requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - numpy - - cython + - cython <=2 - pip - versioneer - tomli diff --git a/recipes/recipes_emscripten/patsy/recipe.yaml b/recipes/recipes_emscripten/patsy/recipe.yaml index cbebd4f61..53db7ce83 100644 --- a/recipes/recipes_emscripten/patsy/recipe.yaml +++ b/recipes/recipes_emscripten/patsy/recipe.yaml @@ -15,7 +15,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - pip host: diff --git a/recipes/recipes_emscripten/peewee/recipe.yaml b/recipes/recipes_emscripten/peewee/recipe.yaml index 4c3b38a7a..ad9cfd5f5 100644 --- a/recipes/recipes_emscripten/peewee/recipe.yaml +++ b/recipes/recipes_emscripten/peewee/recipe.yaml @@ -12,17 +12,17 @@ source: build: number: 0 + ignore_run_exports: + - python_abi requirements: build: - '{{ compiler("c") }}' - - cross-python_emscripten-32 - - python - - cffi ==1.15.0 + - cross-python_emscripten-wasm32 - pip host: - python >=3.7 - - cffi ==1.15.0 + - cffi run: - python >=3.7 - cffi diff --git a/recipes/recipes_emscripten/picomamba/build.sh b/recipes/recipes_emscripten/picomamba/build.sh deleted file mode 100644 index 376e639a2..000000000 --- a/recipes/recipes_emscripten/picomamba/build.sh +++ /dev/null @@ -1,23 +0,0 @@ -mkdir build -cd build - -export CMAKE_PREFIX_PATH=$PREFIX -export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX - - -# Configure step -cmake ${CMAKE_ARGS} .. \ - -GNinja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_PREFIX_PATH=$PREFIX \ - -DCMAKE_INSTALL_PREFIX=$PREFIX \ - -DPYTHON_MODULE_INSTALL_DIR="$PREFIX/lib/python3.10/site-packages" \ - -DLIBSOLV_LIBRARY="$PREFIX/lib/libsolv.a"\ - -DLIBSOLV_EXT_LIBRARY="$PREFIX/lib/libsolvext.a"\ - -DLibSolv_INCLUDE_DIRS="$PREFIX/include"\ - -ninja - - - -ninja install diff --git a/recipes/recipes_emscripten/picomamba/recipe.yaml b/recipes/recipes_emscripten/picomamba/recipe.yaml deleted file mode 100644 index 66e90248e..000000000 --- a/recipes/recipes_emscripten/picomamba/recipe.yaml +++ /dev/null @@ -1,50 +0,0 @@ -context: - version: 0.4.0 - name: picomamba - -package: - name: '{{ name }}' - version: '{{ version }}' - -source: - - url: https://github.com/mamba-org/picomamba/archive/refs/tags/{{ version }}.tar.gz - sha256: 26223312b44401db4a22eaf176554a1d8ce1ff3d03a9ec7379112e6b815aa9fb - -build: - number: 0 - -requirements: - build: - - '{{ compiler("cxx") }}' - - cmake - - ninja - - numpy - host: - - python - - pybind11 - - numpy - - libsolv - - nlohmann_json - run: - - numpy - - python - - -about: - home: https://github.com/mamba-org/picomamba - license: MIT - license_family: MIT - license_file: LICENSE - summary: pyb2d - doc_url: https://github.com/mamba-org/picomamba - dev_url: https://github.com/mamba-org/picomamba - -extra: - recipe-maintainers: - - DerThorsten - - emscripten_tests: - python: - pytest_files: - - test_picomamba.py - diff --git a/recipes/recipes_emscripten/picomamba/test_picomamba.py b/recipes/recipes_emscripten/picomamba/test_picomamba.py deleted file mode 100644 index aa407ecd9..000000000 --- a/recipes/recipes_emscripten/picomamba/test_picomamba.py +++ /dev/null @@ -1,2 +0,0 @@ -def test_picomamba_import(): - import picomamba diff --git a/recipes/recipes_emscripten/pillow/recipe.yaml b/recipes/recipes_emscripten/pillow/recipe.yaml index b3b8e8634..26a8cf608 100644 --- a/recipes/recipes_emscripten/pillow/recipe.yaml +++ b/recipes/recipes_emscripten/pillow/recipe.yaml @@ -18,7 +18,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - pip host: - python diff --git a/recipes/recipes_emscripten/pyb2d/build.sh b/recipes/recipes_emscripten/pyb2d/build.sh index 095949389..0c79a151d 100644 --- a/recipes/recipes_emscripten/pyb2d/build.sh +++ b/recipes/recipes_emscripten/pyb2d/build.sh @@ -11,8 +11,8 @@ cmake ${CMAKE_ARGS} .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH=$PREFIX \ -DCMAKE_INSTALL_PREFIX=$PREFIX \ - -DPYTHON_NUMPY_INCLUDE_DIR="$PREFIX/lib/python3.10/site-packages/numpy/core/include" \ - -DPYTHON_MODULE_INSTALL_DIR="$PREFIX/lib/python3.10/site-packages" \ + -DPYTHON_NUMPY_INCLUDE_DIR="$PREFIX/lib/python3.11/site-packages/numpy/core/include" \ + -DPYTHON_MODULE_INSTALL_DIR="$PREFIX/lib/python3.11/site-packages" \ -DPYB2D_LIQUID_FUN=ON # Build step ninja diff --git a/recipes/recipes_emscripten/pyb2d/recipe.yaml b/recipes/recipes_emscripten/pyb2d/recipe.yaml index 65cdb1367..ef17220ee 100644 --- a/recipes/recipes_emscripten/pyb2d/recipe.yaml +++ b/recipes/recipes_emscripten/pyb2d/recipe.yaml @@ -36,7 +36,6 @@ about: home: https://github.com/pyb2d/pyb2d license: BSD-3 license_family: BSD-3 - license_file: LICENSE summary: pyb2d doc_url: https://github.com/pyb2d/pyb2d dev_url: https://github.com/pyb2d/pyb2d diff --git a/recipes/recipes_emscripten/pybind11/FindPythonLibsNew.cmake b/recipes/recipes_emscripten/pybind11/FindPythonLibsNew.cmake index ca903df74..469538016 100644 --- a/recipes/recipes_emscripten/pybind11/FindPythonLibsNew.cmake +++ b/recipes/recipes_emscripten/pybind11/FindPythonLibsNew.cmake @@ -15,10 +15,10 @@ # Thanks to talljimbo for the patch adding the 'LDVERSION' config # variable usage. -set(PYTHON_INCLUDE_DIR "$ENV{PREFIX}/include/python3.10") -set(PYTHON_LIBRARY "$ENV{PREFIX}/lib/libpython3.10.a") +set(PYTHON_INCLUDE_DIR "$ENV{PREFIX}/include/python3.11") +set(PYTHON_LIBRARY "$ENV{PREFIX}/lib/libpython3.11.a") set(PYTHON_MODULE_EXTENSION ".so") -set(PYTHON_SITE_PACKAGES "$ENV{PREFIX}/lib/python3.10/site-packages") +set(PYTHON_SITE_PACKAGES "$ENV{PREFIX}/lib/python3.11/site-packages") set(PYTHON_IS_DEBUG "FALSE") mark_as_advanced(PYTHON_LIBRARY PYTHON_INCLUDE_DIR) diff --git a/recipes/recipes_emscripten/pybind11/build.sh b/recipes/recipes_emscripten/pybind11/build.sh index ec1a84bb7..f3b918e35 100644 --- a/recipes/recipes_emscripten/pybind11/build.sh +++ b/recipes/recipes_emscripten/pybind11/build.sh @@ -4,7 +4,7 @@ mkdir build cd build -if [[ $target_platform == "emscripten-32" ]]; then +if [[ $target_platform == "emscripten-wasm32" ]]; then cp ${RECIPE_DIR}/"FindPythonLibsNew.cmake" ${SRC_DIR}/tools/ fi diff --git a/recipes/recipes_emscripten/pybind11/recipe.yaml b/recipes/recipes_emscripten/pybind11/recipe.yaml index 6fc470a07..39088a774 100644 --- a/recipes/recipes_emscripten/pybind11/recipe.yaml +++ b/recipes/recipes_emscripten/pybind11/recipe.yaml @@ -11,7 +11,7 @@ source: patches: - sel(emscripten): patches/0001-no-bitsize-check.patch build: - number: 0 + number: 4 requirements: build: diff --git a/recipes/recipes_emscripten/pydro/recipe.yaml b/recipes/recipes_emscripten/pydro/recipe.yaml index 72c4d423c..3149199a6 100644 --- a/recipes/recipes_emscripten/pydro/recipe.yaml +++ b/recipes/recipes_emscripten/pydro/recipe.yaml @@ -17,7 +17,7 @@ build: requirements: build: - '{{ compiler("c") }}' - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - cython - numpy - python diff --git a/recipes/recipes_emscripten/pyerfa/recipe.yaml b/recipes/recipes_emscripten/pyerfa/recipe.yaml index 953c02f0d..4cc6aec68 100644 --- a/recipes/recipes_emscripten/pyerfa/recipe.yaml +++ b/recipes/recipes_emscripten/pyerfa/recipe.yaml @@ -18,7 +18,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - "{{ compiler('c') }}" - pip diff --git a/recipes/recipes_emscripten/pyjs/build.sh b/recipes/recipes_emscripten/pyjs/build.sh index a10d4dd6d..737fcaea1 100644 --- a/recipes/recipes_emscripten/pyjs/build.sh +++ b/recipes/recipes_emscripten/pyjs/build.sh @@ -6,16 +6,29 @@ cd build export CMAKE_PREFIX_PATH=$PREFIX export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX +echo "CXX" $CXX +echo "CC" $CC + +export CC=emcc +export CXX=em++ + + +# cp $BUILD_PREFIX/share/gnuconfig/config.* . + # Configure step -cmake ${CMAKE_ARGS} .. \ - -GNinja \ +emmake cmake ${CMAKE_ARGS} .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH=$PREFIX \ -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DBUILD_RUNTIME_BROWSER=ON \ - -DBUILD_RUNTIME_NODE=ON \ - -DWITH_NODE_TESTS=OFF + -DBUILD_RUNTIME_NODE=OFF \ + -DLINK_LIBMPDEC=OFF \ + -DLINK_LIBEXPAT=OFF \ + -DWITH_NODE_TESTS=OFF \ + -DCMAKE_TOOLCHAIN_FILE=$EMSCRIPTEN_FORGE_EMSDK_DIR/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake # Build step -ninja install +emmake make + +emmake make install diff --git a/recipes/recipes_emscripten/pyjs/recipe.yaml b/recipes/recipes_emscripten/pyjs/recipe.yaml index 4b665fc2b..da7719b4a 100644 --- a/recipes/recipes_emscripten/pyjs/recipe.yaml +++ b/recipes/recipes_emscripten/pyjs/recipe.yaml @@ -1,5 +1,5 @@ context: - version: 1.1.0 + version: 1.3.2 name: pyjs package: name: '{{name}}' @@ -7,16 +7,17 @@ package: source: - url: https://github.com/emscripten-forge/{{name}}/archive/refs/tags/{{version}}.tar.gz - sha256: e4cef4fc6b8aefb9f347d848b037c2085d7abad0bebd863e42f62e1f01401a87 + sha256: 98f7c926643f0edbddc8105c4158af2117212a3aeedd578452086dbe4bf0831b + build: - number: 0 + number: 2 requirements: build: + - '{{ compiler("c") }}' - '{{ compiler("cxx") }}' - cmake - - ninja - - python + - make host: - python - sqlite @@ -32,7 +33,6 @@ about: license_file: LICENSE summary: pyjs - extra: recipe-maintainers: - DerThorsten diff --git a/recipes/recipes_emscripten/pyomo/recipe.yaml b/recipes/recipes_emscripten/pyomo/recipe.yaml deleted file mode 100644 index f59699807..000000000 --- a/recipes/recipes_emscripten/pyomo/recipe.yaml +++ /dev/null @@ -1,53 +0,0 @@ -context: - version: "6.6.2" -package: - name: pyomo - version: "{{ version }}" - -source: # pypi md5 - fn: Pyomo-{{ version }}.tar.gz - url: https://pypi.io/packages/source/P/Pyomo/Pyomo-{{ version }}.tar.gz - sha256: c8ad55213ff8b1a2c4e469110db8079722d5a6f364c6c46a42e2f750fc9e4d26 - -build: - number: 0 - script: "{{ PYTHON }} -m pip install . --install-option=--with-distributable-extensions --no-deps -vv" - # entry_points: - # - pyomo=pyomo.scripting.pyomo_main:main - -requirements: - build: - - python # [build_platform != target_platform] - - cross-python_{{ target_platform }} # [build_platform != target_platform] - - cython # [build_platform != target_platform] - - pybind11 # [build_platform != target_platform] - - "{{ compiler('c') }}" - - "{{ compiler('cxx') }}" - - cython - - pip - - host: - - python - - pybind11 - - run: - - python - - setuptools - - ply - - -about: - home: http://pyomo.org - license: "BSD-3-Clause" - license_file: '{{ environ["RECIPE_DIR"] }}/Pyomo-LICENSE.txt' - summary: 'Pyomo: Python Optimization Modeling Objects' - license_family: BSD - -extra: - emscripten_tests: - python: - pytest_files: - - test_pyomo.py - - recipe-maintainers: - - DerThorsten diff --git a/recipes/recipes_emscripten/pyomo/test_pyomo.py b/recipes/recipes_emscripten/pyomo/test_pyomo.py deleted file mode 100644 index 4991fef7a..000000000 --- a/recipes/recipes_emscripten/pyomo/test_pyomo.py +++ /dev/null @@ -1,17 +0,0 @@ - - -def test_import(): - import pyomo - - - -def test_simple_model(): - import pyomo.environ as pyo - - model = pyo.ConcreteModel() - - model.x = pyo.Var([1,2], domain=pyo.NonNegativeReals) - - model.OBJ = pyo.Objective(expr = 2*model.x[1] + 3*model.x[2]) - - model.Constraint1 = pyo.Constraint(expr = 3*model.x[1] + 4*model.x[2] >= 1) \ No newline at end of file diff --git a/recipes/recipes_emscripten/pyrsistent/recipe.yaml b/recipes/recipes_emscripten/pyrsistent/recipe.yaml index dadaffceb..921a7af2f 100644 --- a/recipes/recipes_emscripten/pyrsistent/recipe.yaml +++ b/recipes/recipes_emscripten/pyrsistent/recipe.yaml @@ -16,7 +16,7 @@ build: requirements: build: - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - "{{ compiler('c') }}" - pip host: diff --git a/recipes/recipes_emscripten/pytest/recipe.yaml b/recipes/recipes_emscripten/pytest/recipe.yaml index 2d428313c..292bd7f76 100644 --- a/recipes/recipes_emscripten/pytest/recipe.yaml +++ b/recipes/recipes_emscripten/pytest/recipe.yaml @@ -1,5 +1,5 @@ context: - version: "7.4.0" + version: "7.1.1" package: name: pytest @@ -7,15 +7,14 @@ package: source: url: https://pypi.io/packages/source/p/pytest/pytest-{{ version }}.tar.gz - sha256: b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a + #sha256: b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a build: number: 0 requirements: build: - - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - pip host: - python diff --git a/recipes/recipes_emscripten/python-sat/recipe.yaml b/recipes/recipes_emscripten/python-sat/recipe.yaml index 02cf38c6e..56028deb4 100644 --- a/recipes/recipes_emscripten/python-sat/recipe.yaml +++ b/recipes/recipes_emscripten/python-sat/recipe.yaml @@ -19,7 +19,7 @@ requirements: build: - '{{ compiler("c") }}' - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - pip host: - python diff --git a/recipes/recipes_emscripten/python/Makefile.envs b/recipes/recipes_emscripten/python/Makefile.envs new file mode 100644 index 000000000..9ba6bf006 --- /dev/null +++ b/recipes/recipes_emscripten/python/Makefile.envs @@ -0,0 +1,187 @@ +export PYVERSION ?= 3.11.3 +export PYODIDE_EMSCRIPTEN_VERSION ?= 3.1.45 + +ifdef CPYTHON_DEBUG + export CPYTHON_ABI_FLAGS=d +endif + +export PLATFORM_TRIPLET=wasm32-emscripten +export SYSCONFIG_NAME=_sysconfigdata_$(CPYTHON_ABI_FLAGS)_emscripten_$(PLATFORM_TRIPLET) + +# BASH_ENV tells bash to run pyodide_env.sh on startup, which sets various +# environment variables. The next line instructs make to use bash to run each +# command. +export BASH_ENV := $(PYODIDE_ROOT)/pyodide_env.sh +SHELL := /bin/bash + +version_tmp_1 := $(subst ., ,$(PYVERSION:v%=%)) +# Handle alpha, beta, and release candidate versions +version_tmp_2 := $(subst a, ,$(version_tmp_1)) +version_tmp_3 := $(subst b, ,$(version_tmp_2)) +version_tuple := $(subst r, ,$(version_tmp_3)) + +export PYMAJOR=$(word 1,$(version_tuple)) +export PYMINOR=$(word 2,$(version_tuple)) +export PYMICRO=$(word 3,$(version_tuple)) +export PYSTABLEVERSION=$(PYMAJOR).$(PYMINOR).$(PYMICRO) + +export HOSTPYTHONROOT=$(shell python${PYMAJOR}.${PYMINOR} -c "import sys; print(sys.prefix)") +export HOSTPYTHON=$(HOSTPYTHONROOT)/bin/python$(PYMAJOR).$(PYMINOR) + +export PYTHON_ARCHIVE_URL=https://www.python.org/ftp/python/$(PYSTABLEVERSION)/Python-$(PYVERSION).tgz +export PYTHON_ARCHIVE_SHA256=1a79f3df32265d9e6625f1a0b31c28eb1594df911403d11f3320ee1da1b3e048 + +export CPYTHONROOT=$(PYODIDE_ROOT)/cpython +export CPYTHONINSTALL=$(PREFIX) +export CPYTHONLIB=$(CPYTHONINSTALL)/lib/python$(PYMAJOR).$(PYMINOR) +export SYSCONFIGDATA_DIR=$(CPYTHONINSTALL)/sysconfigdata/ +export CPYTHONBUILD=$(CPYTHONROOT)/build/Python-$(PYVERSION)/ + +export TARGETINSTALLDIR=$(PYODIDE_ROOT)/cpython/installs/python-$(PYVERSION) +export HOSTINSTALLDIR=$(PYODIDE_ROOT)/packages/.artifacts +export HOSTSITEPACKAGES=$(PYODIDE_ROOT)/packages/.artifacts/lib/python$(PYMAJOR).$(PYMINOR)/site-packages +export WASM_LIBRARY_DIR=$(PYODIDE_ROOT)/packages/.libs +export PKG_CONFIG_PATH=$(PYODIDE_ROOT)/packages/.libs/lib/pkgconfig + +export PYTHONINCLUDE=$(PYODIDE_ROOT)/cpython/installs/python-$(PYVERSION)/include/python$(PYMAJOR).$(PYMINOR)$(CPYTHON_ABI_FLAGS) + +# Use env variable if defined, otherwise fallback to './' +export PYODIDE_BASE_URL?=./ + +# The compression level used for zip files and wheels. When distributing via a +# CDN it's more efficient to keep this value to 0, and let the CDN perform the +# Brotli compression. +export PYODIDE_ZIP_COMPRESSION_LEVEL?=6 + +export PIP_CONSTRAINT=$(PYODIDE_ROOT)/tools/constraints.txt + +# For packages that depend on numpy. +# TODO: maybe move this somewhere else? +export NUMPY_LIB=$(HOSTSITEPACKAGES)/numpy/ + + +# This environment variable is used for packages to detect if they are built +# for pyodide during build time +export PYODIDE=1 +# This is the legacy environment variable used for the aforementioned purpose +export PYODIDE_PACKAGE_ABI=1 + +export DBGFLAGS_NODEBUG=-g0 +export DBGFLAGS_WASMDEBUG=-g2 +export DBGFLAGS_SOURCEMAPDEBUG=-g3 +export DBG_LDFLAGS_SOURCEMAPDEBUG=-gseparate-dwarf + +export DBGFLAGS=$(DBGFLAGS_NODEBUG) + +ifdef PYODIDE_DEBUG + export PYODIDE_SYMBOLS=1 + export PYODIDE_DEBUG_JS=1 + export PYODIDE_ASSERTIONS=1 +endif + +ifdef PYODIDE_SOURCEMAP + # Debug with source maps (less useful than WASMDEBUG but easier if it helps) + export DBGFLAGS=$(DBGFLAGS_SOURCEMAPDEBUG) + export DBG_LDFLAGS=$(DBG_LDFLAGS_SOURCEMAPDEBUG) +else + ifdef PYODIDE_SYMBOLS + # Include debug symbols but no source maps (most useful) + export DBGFLAGS=$(DBGFLAGS_WASMDEBUG) + endif +endif + +ifdef PYODIDE_ASSERTIONS + EXTRA_CFLAGS+= -DDEBUG_F +endif + + +export OPTFLAGS=-O2 +export CFLAGS_BASE=\ + $(OPTFLAGS) \ + $(DBGFLAGS) \ + -fPIC \ + $(EXTRA_CFLAGS) + + +export LDFLAGS_BASE=\ + $(OPTFLAGS) \ + $(DBGFLAGS) \ + $(DBG_LDFLAGS) \ + -L$(CPYTHONROOT)/installs/python-$(PYVERSION)/lib/ \ + -s WASM_BIGINT \ + $(EXTRA_LDFLAGS) + +export CXXFLAGS_BASE= + +export SIDE_MODULE_LDFLAGS= $(LDFLAGS_BASE) -s SIDE_MODULE=1 +export MAIN_MODULE_LDFLAGS= $(LDFLAGS_BASE) \ + -s MAIN_MODULE=1 \ + -s MODULARIZE=1 \ + -s LZ4=1 \ + -s EXPORT_NAME="'_createPyodideModule'" \ + -s EXPORT_EXCEPTION_HANDLING_HELPERS \ + -s EXCEPTION_CATCHING_ALLOWED=['we only want to allow exception handling in side modules'] \ + -sEXPORTED_RUNTIME_METHODS='stackAlloc,stackRestore,stackSave' \ + -s DEMANGLE_SUPPORT=1 \ + -s USE_ZLIB \ + -s USE_BZIP2 \ + -s FORCE_FILESYSTEM=1 \ + -s TOTAL_MEMORY=20971520 \ + -s ALLOW_MEMORY_GROWTH=1 \ + -s EXPORT_ALL=1 \ + -s POLYFILL \ + -s MIN_SAFARI_VERSION=140000 \ + -s STACK_SIZE=5MB \ + -s AUTO_JS_LIBRARIES=0 \ + -s AUTO_NATIVE_LIBRARIES=0 \ + -s NODEJS_CATCH_EXIT=0 \ + -s NODEJS_CATCH_REJECTION=0 \ + \ + -lpython$(PYMAJOR).$(PYMINOR)$(CPYTHON_ABI_FLAGS) \ + -lffi \ + -lstdc++ \ + -lidbfs.js \ + -lnodefs.js \ + -lproxyfs.js \ + -lworkerfs.js \ + -lwebsocket.js \ + -leventloop.js \ + \ + -lGL \ + -legl.js \ + -lwebgl.js \ + -lhtml5_webgl.js \ + -sGL_WORKAROUND_SAFARI_GETCONTEXT_BUG=0 + + +export SIDE_MODULE_CXXFLAGS = $(CXXFLAGS_BASE) + +export SIDE_MODULE_CFLAGS= $(CFLAGS_BASE) -I$(PYTHONINCLUDE) +export MAIN_MODULE_CFLAGS= $(CFLAGS_BASE) \ + -Wall \ + -Wno-warn-absolute-paths \ + -Werror=unused-variable \ + -Werror=sometimes-uninitialized \ + -Werror=int-conversion \ + -Werror=incompatible-pointer-types \ + -Werror=unused-result \ + -I$(PYTHONINCLUDE) \ + -s EXCEPTION_CATCHING_ALLOWED=['we only want to allow exception handling in side modules'] + +export STDLIB_MODULE_CFLAGS= $(SIDE_MODULE_CFLAGS) -I Include/ -I . -I Include/internal/ + +# For RUST +export CARGO_BUILD_TARGET=wasm32-unknown-emscripten +export CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_LINKER=emcc +export RUST_TOOLCHAIN=nightly-2023-04-29 +export PYO3_CROSS_LIB_DIR=${CPYTHONINSTALL}/lib +export PYO3_CROSS_INCLUDE_DIR=${PYTHONINCLUDE} + +# idealy we could automatically include all SIDE_MODULE_LDFLAGS here +export RUSTFLAGS= \ + -C link-arg=-sSIDE_MODULE=2 \ + -C link-arg=-sWASM_BIGINT \ + -Z link-native-libraries=no + +.output_vars: + set diff --git a/recipes/recipes_emscripten/python/Setup.local b/recipes/recipes_emscripten/python/Setup.local new file mode 100644 index 000000000..807b9a351 --- /dev/null +++ b/recipes/recipes_emscripten/python/Setup.local @@ -0,0 +1,25 @@ + # This file gets copied into the Modules/ folder when building +# newlib configurations which do not support dynamic library +# loading. +# +# See build/Python-*/Modules/Setup for more details + +*static* + +CTYPES_FLAGS=-DHAVE_FFI_PREP_CIF_VAR=1 -DHAVE_FFI_PREP_CLOSURE_LOC=1 -DHAVE_FFI_CLOSURE_ALLOC=1 -I ../libffi/include +_ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/cfield.c _ctypes/stgdict.c $(CTYPES_FLAGS) + +_posixsubprocess _posixsubprocess.c + +_bz2 _bz2module.c -lbz2 +zlib zlibmodule.c + + +_xxsubinterpreters _xxsubinterpretersmodule.c + +*disabled* +pwd +_ssl +_lzma +_hashlib +_uuid \ No newline at end of file diff --git a/recipes/recipes_emscripten/python/adjust_sysconfig.py b/recipes/recipes_emscripten/python/adjust_sysconfig.py new file mode 100644 index 000000000..564455ae3 --- /dev/null +++ b/recipes/recipes_emscripten/python/adjust_sysconfig.py @@ -0,0 +1,36 @@ +import os +import pprint + + +def load_sysconfig(sysconfig_name: str): + _temp = __import__(sysconfig_name, globals(), locals(), ["build_time_vars"], 0) + config_vars = _temp.build_time_vars + return config_vars, _temp.__file__ + + +def write_sysconfig(destfile: str, config_vars: dict[str, str]): + with open(destfile, "w", encoding="utf8") as f: + f.write( + "# system configuration generated and used by" " the sysconfig module\n" + ) + f.write("build_time_vars = ") + pprint.pprint(config_vars, stream=f) + + +def adjust_sysconfig(config_vars: dict[str, str]): + config_vars.update( + CC="emcc", + MAINCC="emcc", + LDSHARED="emcc -s MODULARIZE=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s WASM=1 -s SIDE_MODULE=1 -sWASM_BIGINT", + LINKCC="emcc", + BLDSHARED="emcc -s MODULARIZE=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s WASM=1 -s SIDE_MODULE=1 -sWASM_BIGINT", + CXX="emcc", + LDCXXSHARED="emcc -s MODULARIZE=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s WASM=1 -s SIDE_MODULE=1 -sWASM_BIGINT" + ) + + +if __name__ == "__main__": + sysconfig_name = os.environ["SYSCONFIG_NAME"] + config_vars, file = load_sysconfig(sysconfig_name) + adjust_sysconfig(config_vars) + write_sysconfig(file, config_vars) diff --git a/recipes/recipes_emscripten/python/build.sh b/recipes/recipes_emscripten/python/build.sh index 3f0ae74df..e66625ec9 100644 --- a/recipes/recipes_emscripten/python/build.sh +++ b/recipes/recipes_emscripten/python/build.sh @@ -1,123 +1,81 @@ -#!/bin/bash -cp $RECIPE_DIR/patches/configure . +# make some directories +mkdir -p $PREFIX/include +mkdir -p $PREFIX/lib +mkdir -p $PREFIX/bin +mkdir -p $PREFIX/etc/conda +mkdir -p cpython/build -PYTHON=${BUILD_PREFIX}/bin/python3.10 +# the following line can re-enable the _sqlite3 module (but atm we keep it disabled) +cp $RECIPE_DIR/Setup.local ./cpython/Setup.local -export DBGFLAGS=-g0 -export OPTFLAGS=-O2 -export CFLAGS_BASE="${DBGFLAGS} ${DBGFLAGS} -fPIC -Wno-implicit-function-declaration" -export PYTHON_CFLAGS=${CFLAGS_BASE} +# this only overwrite the install path +cp $RECIPE_DIR/Makefile.envs . +# pyodide uses cc instead of emcc so we need to overwrite this +cp $RECIPE_DIR/adjust_sysconfig.py ./cpython/adjust_sysconfig.py -export MULTIARCH=wasm32-emscripten -export PYVERSION=$PKG_VERSION -export PLATFORM_TRIPLET=wasm32-emscripten -export SYSCONFIG_NAME=_sysconfigdata__emscripten_$PLATFORM_TRIPLET -echo "PYVERSION" $PYVERSION -echo "EMSCRIPTEN_VERSION" $EMSCRIPTEN_VERSION -echo "PLATFORM_TRIPLET" $PLATFORM_TRIPLET +# overwrite $RECIPEDIR/pyodide_env.sh with am empty file +# since we do not want to use the pyodide_env.sh from pyodide +echo "" > $RECIPE_DIR/pyodide_env.sh -LIB=libpython3.10.a +# create a symlink from $BUILD_PREFIX/bin/python3.11 to $BUILD_PREFIX/bin/python.js +# since the python build script overwrites the env variable PYTHON to python.js +# as it assumes this is the correct name for the python binary when building for emscripten. +# But emscripten itself (emcc/emar/...) relies on the env variable PYTHON to be set to python3.11 +ln -s $BUILD_PREFIX/bin/python3.11 $BUILD_PREFIX/bin/python.js +# create a symlink from $BUILD_PREFIX/emsdk directory to this dir emsdk. +# This allows us to overwrite the emsdk from pyodide +rm -rf emsdk +mkdir -p emsdk +cd emsdk +ln -s $CONDA_EMSDK_DIR emsdk +cd .. -if [[ $target_platform == "emscripten-32" ]]; then - cp ${RECIPE_DIR}/config/config.site . +# when only building libffi we need to uncomment the following line +# mkdir -p cpython/build/Python-3.11.3/Include - CONFIG_SITE=./config.site READELF=true emconfigure \ - ./configure \ - CFLAGS="${PYTHON_CFLAGS}" \ - CPPFLAGS="-I${PREFIX}/include" \ - LDFLAGS="-L${PREFIX}/lib -lffi -lz -sWASM_BIGINT" \ - PLATFORM_TRIPLET=$PLATFORM_TRIPLET \ - MULTIARCH=$MULTIARCH \ - --without-pymalloc \ - --disable-shared \ - --disable-ipv6 \ - --enable-big-digits=30 \ - --enable-optimizations \ - --host=wasm32-unknown-emscripten\ - --build=$(./config.guess) \ - --prefix=${PREFIX} \ +################################################################# +# THE ACTUAL BUILD +make -C cpython +################################################################ - cp ${RECIPE_DIR}/config/Setup.local ./Modules/ +# install libffi (we do this in libffi_pyodide) +#cp -r cpython/build/libffi/target/ $PREFIX/ - cat ${RECIPE_DIR}/config/pyconfig.undefs.h >> ./pyconfig.h +# (TODO move in recipe) install libmpdec and libexpat +cp cpython/build/Python-3.11.3/Modules/_decimal/libmpdec/libmpdec.a $PREFIX/lib +cp cpython/build/Python-3.11.3/Modules/expat/libexpat.a $PREFIX/lib - emmake make CROSS_COMPILE=yes ${LIB} -j8 +# a fake wheel command +touch $PREFIX/bin/wheel +# append #!/bin/bash +echo "#!/bin/bash" >> $PREFIX/bin/wheel +echo "echo \"wheel is not a supported on this platform.\"" >> $PREFIX/bin/wheel +chmod +x $PREFIX/bin/wheel - sed -i -e 's/libinstall:.*/libinstall:/' Makefile; +# a fake pip command +touch $PREFIX/bin/pip +echo "#!/bin/bash" >> $PREFIX/bin/pip +echo "echo \"pip is not a supported on this platform.\"" >> $PREFIX/bin/pip +chmod +x $PREFIX/bin/pip - # emmake make PYTHON_FOR_BUILD=${BUILD_PREFIX}/bin/python3.10 CROSS_COMPILE=yes inclinstall libinstall ${LIB} - emmake make PYTHON_FOR_BUILD=${BUILD_PREFIX}/bin/python3.10 CROSS_COMPILE=yes inclinstall libinstall bininstall ${LIB} - cp ${LIB} ${PREFIX}/lib/ +# a fake python3 command +touch $PREFIX/bin/python3.11 +echo "#!/bin/bash" >> $PREFIX/bin/python3.11 +echo "echo \"python3 is not a supported on this platform.\"" >> $PREFIX/bin/python3.11 +chmod +x $PREFIX/bin/python3.11 - emmake make CROSS_COMPILE=yes -j8 +# create symlink st. all possible python3.11 commands are available +ln -s $PREFIX/bin/python3.11 $PREFIX/bin/python +ln -s $PREFIX/bin/python3.11 $PREFIX/bin/python3 - # replace: - # "some/long/path/containing_the_build_dir/emcc" with "emcc" - # "some/long/path/containing_the_build_dir/emar" with "emar" - # "some/long/path/containing_the_build_dir/em++" with "em++" - FNAME_IN="build/lib.emscripten-3.10/$SYSCONFIG_NAME.py" - FNAME_OUT="build/lib.emscripten-3.10/$SYSCONFIG_NAME.py" - $PYTHON $RECIPE_DIR/patch_sysconfigdata.py \ - --fname-in $FNAME_IN \ - --fname-out $FNAME_OUT \ - - cp build/lib.emscripten-3.10/$SYSCONFIG_NAME.py ${PREFIX}/lib/python3.10/ - - # CHANGE PLATTFORM TRIPLET IN SYSCONFIG - sed -i "s/-lffi -lz/ /g" ${PREFIX}/lib/python3.10/$SYSCONFIG_NAME.py - # sed -i "s/'SHLIB_SUFFIX': '.so',/'SHLIB_SUFFIX': '.cpython-310-wasm32-emscripten.so',/g" ${PREFIX}/lib/python3.10/_sysconfigdata__emscripten_.py - - # install/copy sysconfig to a place where cross-python expects the sysconfig - mkdir -p ${PREFIX}/etc/conda - cp ${PREFIX}/lib/python3.10/$SYSCONFIG_NAME.py ${PREFIX}/etc/conda/ - - # cleanup - pushd ${PREFIX} - find . grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf - popd - - # cleanup - pushd ${PREFIX} - find . grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf - popd - - # remove the removal modules - pushd ${PREFIX}/lib/python3.10/ - rm -rf `cat ${RECIPE_DIR}/config/remove_modules.txt` - popd - - # unwanted test dirs - rm -rf ${PREFIX}/lib/python3.10/ctypes/test - rm -rf ${PREFIX}/lib/python3.10/distutils/test - rm -rf ${PREFIX}/lib/python3.10/sqlite3/test - rm -rf ${PREFIX}/lib/python3.10/unittest/tests - - # remove broken links but keep python3.10 binary - # and the non-broken link to it - rm ${PREFIX}/bin/2to3 - rm ${PREFIX}/bin/idle3 - rm ${PREFIX}/bin/pydoc3 - rm ${PREFIX}/bin/python3-config - - # remove broken links - rm -rf ${PREFIX}/lib/pkgconfig - -else - mkdir -p build - pushd build - ../configure -C \ - --prefix=$PREFIX - - make -j$(nproc) - make install - popd -fi +# copy sysconfigdata +cp $PREFIX/sysconfigdata/_sysconfigdata__emscripten_wasm32-emscripten.py $PREFIX/etc/conda/ \ No newline at end of file diff --git a/recipes/recipes_emscripten/python/config/Setup.local b/recipes/recipes_emscripten/python/config/Setup.local deleted file mode 100644 index e570f2875..000000000 --- a/recipes/recipes_emscripten/python/config/Setup.local +++ /dev/null @@ -1,73 +0,0 @@ -# This file gets copied into the Modules/ folder when building -# newlib configurations which do not support dynamic library -# loading. -# -# See build/Python-*/Modules/Setup for more details - -*static* - -array arraymodule.c # array objects -audioop audioop.c # Operations on audio samples -math mathmodule.c _math.c # -lm # math library functions, e.g. sin() -cmath cmathmodule.c # complex math functions -_contextvars _contextvarsmodule.c -_struct _struct.c # binary structure packing/unpacking -_random _randommodule.c # Random number generator -_bisect _bisectmodule.c # Bisection algorithms -_datetime _datetimemodule.c -_heapq _heapqmodule.c -_json _json.c -_csv _csv.c - -CTYPES_FLAGS=-DHAVE_FFI_PREP_CIF_VAR=1 -DHAVE_FFI_PREP_CLOSURE_LOC=1 -DHAVE_FFI_CLOSURE_ALLOC=1 -_ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/cfield.c _ctypes/stgdict.c $(CTYPES_FLAGS) -_ctypes_test _ctypes/_ctypes_test.c - -unicodedata unicodedata.c -_pickle _pickle.c - -_socket socketmodule.c -select selectmodule.c -_posixsubprocess _posixsubprocess.c -binascii binascii.c - -zlib zlibmodule.c - -pyexpat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI -DXML_POOR_ENTROPY - -_sha1 sha1module.c -_sha256 sha256module.c -_sha512 sha512module.c -_sha3 _sha3/sha3module.c -_md5 md5module.c -_blake2 _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c - -# If we put this directly in the next line, makesetup incorrectly views the -# line as a definition line, instead of specifying a module. We bypass this -# problem by defining an extra variable that contains the =, and this line is -# correctly viewed as a definition line. We need extra quotes to make gcc think -# we want to define MODULE_NAME to be the string "sqlite" instead of the -# abstract symbol sqlite. -SQLITEMODULENAME=MODULE_NAME=\'"sqlite"\' -_sqlite3 _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 -D$(SQLITEMODULENAME) -lsqlite3 -_crypt _cryptmodule.c -_bz2 _bz2module.c -lbz2 - -_queue _queuemodule.c - -#future_builtins future_builtins.c - -_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 - -_lsprof _lsprof.c rotatingtree.c - -_decimal _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 -I$(srcdir)/Modules/_decimal/libmpdec -mmap mmapmodule.c -_xxsubinterpreters _xxsubinterpretersmodule.c diff --git a/recipes/recipes_emscripten/python/config/config.site b/recipes/recipes_emscripten/python/config/config.site deleted file mode 100644 index 488bc598c..000000000 --- a/recipes/recipes_emscripten/python/config/config.site +++ /dev/null @@ -1,7 +0,0 @@ -ac_cv_file__dev_ptmx=no -ac_cv_file__dev_ptc=no -ac_cv_func_dlopen=yes -ac_cv_lib_socket_socket=no -ac_cv_header_linux_vm_sockets_h=yes -ac_cv_little_endian_double=yes -ax_cv_c_float_words_bigendian=no diff --git a/recipes/recipes_emscripten/python/config/pyconfig.undefs.h b/recipes/recipes_emscripten/python/config/pyconfig.undefs.h deleted file mode 100644 index aa80fa944..000000000 --- a/recipes/recipes_emscripten/python/config/pyconfig.undefs.h +++ /dev/null @@ -1,38 +0,0 @@ -#undef HAVE_EPOLL -#undef HAVE_EPOLL_CREATE1 -#undef HAVE_LINUX_VM_SOCKETS_H -#undef HAVE_SOCKETPAIR -#undef HAVE_UTIMENSAT -#undef HAVE_SIGACTION - -/* Untested syscalls in emscripten */ -#undef HAVE_OPENAT -#undef HAVE_MKDIRAT -#undef HAVE_FCHOWNAT -#undef HAVE_RENAMEAT -#undef HAVE_LINKAT -#undef HAVE_SYMLINKAT -#undef HAVE_READLINKAT -#undef HAVE_FCHMODAT -#undef HAVE_DUP3 - -/* Syscalls not implemented in emscripten */ -#undef HAVE_PREADV -#undef HAVE_PWRITEV -#undef HAVE_PIPE2 -#undef HAVE_NICE - -/* Syscalls that resulted in a segfault */ -#undef HAVE_UTIMENSAT -#undef HAVE_SYS_SOCKET_H -#undef HAVE_SYS_IOCTL_H - -/* Unsupported functionality */ -#undef HAVE_PTHREAD_H - -#define CONFIG_32 -#define ANSI - -/* CUSTOM STUFF WHICH WAS SOMEHOW NOT NEEDED BY PYODIDE*/ -#undef HAVE_EVENTFD -#undef HAVE_MEMFD_CREATE \ No newline at end of file diff --git a/recipes/recipes_emscripten/python/config/remove_modules.txt b/recipes/recipes_emscripten/python/config/remove_modules.txt deleted file mode 100644 index 29a0e0d96..000000000 --- a/recipes/recipes_emscripten/python/config/remove_modules.txt +++ /dev/null @@ -1,13 +0,0 @@ -_osx_support.py -curses -dbm -ensurepip -idlelib -lib2to3 -tkinter -turtle.py -turtledemo -venv -distutils/command/wininst-*.exe -webbrowser.py -test \ No newline at end of file diff --git a/recipes/recipes_emscripten/python/patch_sysconfigdata.py b/recipes/recipes_emscripten/python/patch_sysconfigdata.py deleted file mode 100644 index ba7240671..000000000 --- a/recipes/recipes_emscripten/python/patch_sysconfigdata.py +++ /dev/null @@ -1,72 +0,0 @@ -if __name__ == "__main__": - import argparse - import json - import os - from pathlib import Path - - parser = argparse.ArgumentParser(prog="PatchSysConfigData") - - parser.add_argument("--fname-in", required=True) - parser.add_argument("--fname-out", required=True) - - args = parser.parse_args() - - with open(args.fname_in, "r") as f: - content = f.read() - - exec(content) - - prefix = os.environ["PREFIX"] - lib_dir = str(Path(prefix) / "lib") - include_dir = str(Path(prefix) / "include") - - # build time var is in the global scope because of the 'exec' - build_time_vars["AR"] = "emar" - build_time_vars["CC"] = "emcc" - build_time_vars["CXX"] = "em++" - build_time_vars["LDCXXSHARED"] = "emcc" - build_time_vars["LINKCC"] = "emcc" - build_time_vars["MAINCC"] = "emcc" - build_time_vars["BLDSHARED"] = f"emcc -L{str(lib_dir)} -sWASM_BIGINT" - - config_args = ( - f"'CFLAGS=-g0 -g0 -fPIC -Wno-implicit-function-declaration' " - + f"'LDFLAGS=-L{lib_dir} " - + " -sWASM_BIGINT' 'PLATFORM_TRIPLET=wasm32-emscripten' " - + "'MULTIARCH=wasm32-emscripten' '--without-pymalloc' " - + "'--disable-shared' '--disable-ipv6' '--enable-big-digits=30' " - + "'--enable-optimizations' '--host=wasm32-unknown-emscripten' " - + "'--build=x86_64-pc-linux-gnu' " - + f"'--prefix={str(prefix)}' " - + "'build_alias=x86_64-pc-linux-gnu' " - + "'host_alias=wasm32-unknown-emscripten' " - + "'CC=emcc' " - + "'PKG_CONFIG_PATH=' " - + f"'PKG_CONFIG_LIBDIR={str(prefix)}/lib/pkgconfig:{str(prefix)}/lib/pkgconfig'" - ) - build_time_vars["CONFIG_ARGS"] = config_args - - print(config_args) - - build_time_vars["LDSHARED"] = f"emcc -L{lib_dir} -sWASM_BIGINT" - build_time_vars["abs_builddir"] = str(prefix) - build_time_vars["abs_srcdir"] = str(prefix) - - # we need to write the sysconfig data in the following format - - # build_time_vars = { - # "ABIFLAGS": "", - # "AC_APPLE_UNIVERSAL_BUILD": 0, - # "AIX_BUILDDATE": 0, - # "AIX_GENUINE_CPLUSPLUS": 0, - # "ALIGNOF_LONG": 4,# - # ... - # } - - build_time_vars_string = json.dumps(build_time_vars, indent=4) - - content = f"""build_time_vars = {build_time_vars_string} - """ - - with open(args.fname_out, "w") as f: - f.write(content) diff --git a/recipes/recipes_emscripten/python/patches/0001-Patch-in-call-trampolines-to-handle-fpcast-troubles.patch b/recipes/recipes_emscripten/python/patches/0001-Patch-in-call-trampolines-to-handle-fpcast-troubles.patch deleted file mode 100644 index 0d1cf2c5f..000000000 --- a/recipes/recipes_emscripten/python/patches/0001-Patch-in-call-trampolines-to-handle-fpcast-troubles.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 321c69e607de23e0f9e2ce12e0e849280d8338a9 Mon Sep 17 00:00:00 2001 -From: Hood Chatham -Date: Mon, 28 Feb 2022 00:44:13 -0500 -Subject: [PATCH 01/14] Patch in call trampolines to handle fpcast troubles - -The wasm call_indirect instruction takes a function signature as an immediate -argument (an immediate argument is one which is determined statically at compile -time). The web assembly runtime checks at runtime that the function pointer we -are attempting to call has a signature which matches the asserted function -signature, if they don't match, the runtime traps with "indirect call signature -mismatch". The codegen provided by default by the emscripten toolchain produces -an ABI that also has this constraint. - -By contrast, typical native ABIs handle function pointer casts very gracefully: -extra arguments are ignored, missing arguments are filled in as 0, even wrong -return values are completely fine. - -The Python ecosystem is full of code which contain function pointer casts. -Emscripten offers a second "EMULATE_FPCASTS" ABI that fixes many of these -issues, but it shims in the function pointer cast support in a binaryen pass -that happens on the fully linked wasm module. At this point, lots of information -has been destroyed and as a result the only possible solutions are extremely -costly in run time, stack space, and code size. - -We wish to avoid these costs. Patching the packages is prohibitively time -consuming and boring, especially given our limited developer effort. I have -explored making automated detection tools, and these work. However, getting -these tools included into the CI of Python ecosystem packages would be -prohibitively time consuming. - -There is a best of both worlds solution. It is possible to define an ABI which -allows for specific types of function pointer casts with neglible costs. I hope -to do this in future work. However, this will require custom llvm passes. -Because llvm is implemented in C++ which has very poor ABI compatibility, this -means our whole toolchain needs to be built against the same version of llvm, -from llvm all the way down to binaryen and the wasm binary toolkit. - -In the meantime, most bad function pointer calls happen in a small number of -locations. Calling a function pointer from Javascript has no restrictions on -arguments. Extra arguments can be provided, arguments can be left off, etc with -no issue (this mimics Javascript's typical function call semantics). So at the -locations where the bad calls occur, we patch in a trampoline which calls out to -Javascript to make the call for us. Like magic, the problem is gone. Research -shows that the performance cost of this is surprisingly low too. ---- - Objects/call.c | 5 ++++- - Objects/descrobject.c | 28 +++++++++++++++++++--------- - Objects/methodobject.c | 12 +++++++++--- - 3 files changed, 32 insertions(+), 13 deletions(-) - -diff --git a/Objects/call.c b/Objects/call.c -index 960c37e196..98861e8b87 100644 ---- a/Objects/call.c -+++ b/Objects/call.c -@@ -167,6 +167,9 @@ PyObject_VectorcallDict(PyObject *callable, PyObject *const *args, - } - - -+// Defined in methodobject patch -+PyObject* method_call_trampoline(PyCFunction func, PyObject *self, PyObject *arg1, PyObject *arg2); -+ - PyObject * - _PyObject_MakeTpCall(PyThreadState *tstate, PyObject *callable, - PyObject *const *args, Py_ssize_t nargs, -@@ -212,7 +215,7 @@ _PyObject_MakeTpCall(PyThreadState *tstate, PyObject *callable, - PyObject *result = NULL; - if (_Py_EnterRecursiveCall(tstate, " while calling a Python object") == 0) - { -- result = call(callable, argstuple, kwdict); -+ result = method_call_trampoline((PyCFunction)call, callable, argstuple, kwdict); - _Py_LeaveRecursiveCall(tstate); - } - -diff --git a/Objects/descrobject.c b/Objects/descrobject.c -index 97669bef36..34096aa7e1 100644 ---- a/Objects/descrobject.c -+++ b/Objects/descrobject.c -@@ -172,6 +172,11 @@ member_get(PyMemberDescrObject *descr, PyObject *obj, PyObject *type) - return PyMember_GetOne((char *)obj, descr->d_member); - } - -+#include -+EM_JS(PyObject*, getter_call_trampoline, (getter get, PyObject *obj, void *closure), { -+ return wasmTable.get(get)(obj, closure); -+}); -+ - static PyObject * - getset_get(PyGetSetDescrObject *descr, PyObject *obj, PyObject *type) - { -@@ -182,7 +187,7 @@ getset_get(PyGetSetDescrObject *descr, PyObject *obj, PyObject *type) - return NULL; - } - if (descr->d_getset->get != NULL) -- return descr->d_getset->get(obj, descr->d_getset->closure); -+ return getter_call_trampoline(descr->d_getset->get, obj, descr->d_getset->closure); - PyErr_Format(PyExc_AttributeError, - "attribute '%V' of '%.100s' objects is not readable", - descr_name((PyDescrObject *)descr), "?", -@@ -227,6 +232,10 @@ member_set(PyMemberDescrObject *descr, PyObject *obj, PyObject *value) - return PyMember_SetOne((char *)obj, descr->d_member, value); - } - -+EM_JS(int, setter_call_trampoline, (setter set, PyObject *obj, PyObject *value, void *closure), { -+ return wasmTable.get(set)(obj, value, closure); -+}); -+ - static int - getset_set(PyGetSetDescrObject *descr, PyObject *obj, PyObject *value) - { -@@ -234,8 +243,7 @@ getset_set(PyGetSetDescrObject *descr, PyObject *obj, PyObject *value) - return -1; - } - if (descr->d_getset->set != NULL) { -- return descr->d_getset->set(obj, value, -- descr->d_getset->closure); -+ return setter_call_trampoline(descr->d_getset->set, obj, value, descr->d_getset->closure); - } - PyErr_Format(PyExc_AttributeError, - "attribute '%V' of '%.100s' objects is not writable", -@@ -289,6 +297,9 @@ method_enter_call(PyThreadState *tstate, PyObject *func) - return (funcptr)((PyMethodDescrObject *)func)->d_method->ml_meth; - } - -+// Defined in methodobject patch -+PyObject* method_call_trampoline(PyCFunction func, PyObject *self, PyObject *arg1, PyObject *arg2); -+ - /* Now the actual vectorcall functions */ - static PyObject * - method_vectorcall_VARARGS( -@@ -308,7 +319,7 @@ method_vectorcall_VARARGS( - Py_DECREF(argstuple); - return NULL; - } -- PyObject *result = meth(args[0], argstuple); -+ PyObject *result = method_call_trampoline(meth, args[0], argstuple, NULL); - Py_DECREF(argstuple); - _Py_LeaveRecursiveCall(tstate); - return result; -@@ -336,12 +347,11 @@ method_vectorcall_VARARGS_KEYWORDS( - goto exit; - } - } -- PyCFunctionWithKeywords meth = (PyCFunctionWithKeywords) -- method_enter_call(tstate, func); -+ PyCFunction meth = (PyCFunction)method_enter_call(tstate, func); - if (meth == NULL) { - goto exit; - } -- result = meth(args[0], argstuple, kwdict); -+ result = method_call_trampoline(meth, args[0], argstuple, kwdict); - _Py_LeaveRecursiveCall(tstate); - exit: - Py_DECREF(argstuple); -@@ -429,7 +439,7 @@ method_vectorcall_NOARGS( - if (meth == NULL) { - return NULL; - } -- PyObject *result = meth(args[0], NULL); -+ PyObject *result = method_call_trampoline(meth, args[0], NULL, NULL); - _Py_LeaveRecursiveCall(tstate); - return result; - } -@@ -457,7 +467,7 @@ method_vectorcall_O( - if (meth == NULL) { - return NULL; - } -- PyObject *result = meth(args[0], args[1]); -+ PyObject *result = method_call_trampoline(meth, args[0], args[1], NULL); - _Py_LeaveRecursiveCall(tstate); - return result; - } -diff --git a/Objects/methodobject.c b/Objects/methodobject.c -index 2df63cfdf6..978d62cd67 100644 ---- a/Objects/methodobject.c -+++ b/Objects/methodobject.c -@@ -464,6 +464,12 @@ cfunction_vectorcall_FASTCALL_KEYWORDS_METHOD( - return result; - } - -+#include -+ -+EM_JS(PyObject*, method_call_trampoline, (PyCFunction func, PyObject *self, PyObject *arg1, PyObject *arg2), { -+ return wasmTable.get(func)(self, arg1, arg2); -+}); -+ - static PyObject * - cfunction_vectorcall_NOARGS( - PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -@@ -486,7 +492,7 @@ cfunction_vectorcall_NOARGS( - if (meth == NULL) { - return NULL; - } -- PyObject *result = meth(PyCFunction_GET_SELF(func), NULL); -+ PyObject *result = method_call_trampoline(meth, PyCFunction_GET_SELF(func), NULL, NULL); - _Py_LeaveRecursiveCall(tstate); - return result; - } -@@ -540,7 +546,7 @@ cfunction_call(PyObject *func, PyObject *args, PyObject *kwargs) - - PyObject *result; - if (flags & METH_KEYWORDS) { -- result = (*(PyCFunctionWithKeywords)(void(*)(void))meth)(self, args, kwargs); -+ result = method_call_trampoline(meth, self, args, kwargs); - } - else { - if (kwargs != NULL && PyDict_GET_SIZE(kwargs) != 0) { -@@ -549,7 +555,7 @@ cfunction_call(PyObject *func, PyObject *args, PyObject *kwargs) - ((PyCFunctionObject*)func)->m_ml->ml_name); - return NULL; - } -- result = meth(self, args); -+ result = method_call_trampoline(meth, self, args, NULL); - } - return _Py_CheckFunctionResult(tstate, func, result, NULL); - } --- -2.25.1 diff --git a/recipes/recipes_emscripten/python/patches/0002-add-emscripten-host.patch b/recipes/recipes_emscripten/python/patches/0002-add-emscripten-host.patch deleted file mode 100644 index ad78d11e6..000000000 --- a/recipes/recipes_emscripten/python/patches/0002-add-emscripten-host.patch +++ /dev/null @@ -1,93 +0,0 @@ -From fb49efa04e2ecf57c68c73e00538b2c13abea503 Mon Sep 17 00:00:00 2001 -From: Michael Droettboom -Date: Mon, 28 Feb 2022 00:50:54 -0500 -Subject: [PATCH 02/10] add emscripten host - ---- - config.sub | 7 ++++++- - configure | 6 ++++++ - configure.ac | 5 +++++ - 3 files changed, 17 insertions(+), 1 deletion(-) - -diff --git a/config.sub b/config.sub -index d74fb6deac..3f5097a1af 100755 ---- a/config.sub -+++ b/config.sub -@@ -145,7 +145,8 @@ case $1 in - nto-qnx* | linux-* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ -- | storm-chaos* | os2-emx* | rtmk-nova*) -+ | storm-chaos* | os2-emx* | rtmk-nova* | \ -+ emscripten) - basic_machine=$field1 - basic_os=$maybe_os - ;; -@@ -255,6 +256,9 @@ case $1 in - basic_machine=i386-pc - basic_os=aros - ;; -+ wasm32) -+ basic_machine=wasm32-unknown -+ ;; - aux) - basic_machine=m68k-apple - basic_os=aux -@@ -1184,6 +1188,7 @@ case $cpu-$vendor in - | amdgcn \ - | arc | arceb | arc32 | arc64 \ - | arm | arm[lb]e | arme[lb] | armv* \ -+ | wasm32 \ - | avr | avr32 \ - | asmjs \ - | ba \ -diff --git a/configure b/configure -index a7d2975f1f..13aeb01b73 100755 ---- a/configure -+++ b/configure -@@ -3347,6 +3347,9 @@ then - *-*-vxworks*) - ac_sys_system=VxWorks - ;; -+ wasm32-*-*) -+ ac_sys_system=Emscripten -+ ;; - *) - # for now, limit cross builds to known configurations - MACHDEP="unknown" -@@ -3397,6 +3400,9 @@ if test "$cross_compiling" = yes; then - *-*-vxworks*) - _host_cpu=$host_cpu - ;; -+ wasm32-*-*) -+ _host_cpu= -+ ;; - *) - # for now, limit cross builds to known configurations - MACHDEP="unknown" -diff --git a/configure.ac b/configure.ac -index 5aa91cbad3..87c397e969 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -403,6 +403,9 @@ then - *-*-vxworks*) - ac_sys_system=VxWorks - ;; -+ wasm32-*-*) -+ ac_sys_system=Emscripten -+ ;; - *) - # for now, limit cross builds to known configurations - MACHDEP="unknown" -@@ -451,6 +454,8 @@ if test "$cross_compiling" = yes; then - ;; - *-*-vxworks*) - _host_cpu=$host_cpu -+ wasm32-*-*) -+ _host_cpu= - ;; - *) - # for now, limit cross builds to known configurations --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0003-fix-Py_Sigset_Converter.patch b/recipes/recipes_emscripten/python/patches/0003-fix-Py_Sigset_Converter.patch deleted file mode 100644 index 0a9fb7e57..000000000 --- a/recipes/recipes_emscripten/python/patches/0003-fix-Py_Sigset_Converter.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 88529d19154fae757a58229e76c0fb849d279725 Mon Sep 17 00:00:00 2001 -From: Roman Yurchak -Date: Mon, 28 Feb 2022 00:53:53 -0500 -Subject: [PATCH 03/10] fix Py_Sigset_Converter - ---- - Modules/posixmodule.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index 03de470323..b115552dcd 100644 ---- a/Modules/posixmodule.c -+++ b/Modules/posixmodule.c -@@ -1552,6 +1552,13 @@ _Py_Sigset_Converter(PyObject *obj, void *addr) - Py_DECREF(iterator); - return 0; - } -+#else -+int -+_Py_Sigset_Converter(PyObject *obj, void *addr) -+{ -+ PyErr_SetFromErrno(PyExc_OSError); -+ return 0; -+} - #endif /* HAVE_SIGSET_T */ - - #ifdef MS_WINDOWS --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0004-testing.patch b/recipes/recipes_emscripten/python/patches/0004-testing.patch deleted file mode 100644 index 7d43f6be5..000000000 --- a/recipes/recipes_emscripten/python/patches/0004-testing.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 17c0cf37fa3a23bed2dbe3c365b24c20e7e862f0 Mon Sep 17 00:00:00 2001 -From: Michael Droettboom -Date: Mon, 28 Feb 2022 00:54:33 -0500 -Subject: [PATCH 04/10] testing - ---- - Lib/platform.py | 2 +- - Lib/test/libregrtest/main.py | 4 +++- - Lib/test/support/script_helper.py | 5 +++++ - Lib/test/test_cgi.py | 1 + - Lib/test/test_fcntl.py | 2 ++ - Lib/test/test_gzip.py | 2 ++ - Lib/test/test_itertools.py | 1 + - 7 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/Lib/platform.py b/Lib/platform.py -index e32f9c11cd..69939e527f 100755 ---- a/Lib/platform.py -+++ b/Lib/platform.py -@@ -605,7 +605,7 @@ def _syscmd_file(target, default=''): - default in case the command should fail. - - """ -- if sys.platform in ('dos', 'win32', 'win16'): -+ if sys.platform in ('dos', 'win32', 'win16', 'emscripten'): - # XXX Others too ? - return default - -diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py -index 52cc065da1..bd217172fb 100644 ---- a/Lib/test/libregrtest/main.py -+++ b/Lib/test/libregrtest/main.py -@@ -659,7 +659,9 @@ def main(self, tests=None, **kwargs): - except SystemExit as exc: - # bpo-38203: Python can hang at exit in Py_Finalize(), especially - # on threading._shutdown() call: put a timeout -- faulthandler.dump_traceback_later(EXIT_TIMEOUT, exit=True) -+ -+ # Skipping, pyodide doesn't support threading. -+ # faulthandler.dump_traceback_later(EXIT_TIMEOUT, exit=True) - - sys.exit(exc.code) - -diff --git a/Lib/test/support/script_helper.py b/Lib/test/support/script_helper.py -index 6d699c8486..b160d5fe30 100644 ---- a/Lib/test/support/script_helper.py -+++ b/Lib/test/support/script_helper.py -@@ -9,6 +9,7 @@ - import subprocess - import py_compile - import zipfile -+import unittest - - from importlib.util import source_from_cache - from test import support -@@ -36,6 +37,8 @@ def interpreter_requires_environment(): - situation. PYTHONPATH or PYTHONUSERSITE are other common environment - variables that might impact whether or not the interpreter can start. - """ -+ raise unittest.SkipTest('no subprocess') -+ - global __cached_interp_requires_environment - if __cached_interp_requires_environment is None: - # If PYTHONHOME is set, assume that we need it -@@ -177,6 +180,8 @@ def spawn_python(*args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, **kw): - kw is extra keyword args to pass to subprocess.Popen. Returns a Popen - object. - """ -+ raise unittest.SkipTest("no subprocess") -+ - cmd_line = [sys.executable] - if not interpreter_requires_environment(): - cmd_line.append('-E') -diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py -index c1b893d3fe..cfd4d47fa3 100644 ---- a/Lib/test/test_cgi.py -+++ b/Lib/test/test_cgi.py -@@ -223,6 +223,7 @@ def test_separator(self): - - @warnings_helper.ignore_warnings(category=DeprecationWarning) - def test_log(self): -+ raise unittest.SkipTest('known pyodide failure') - cgi.log("Testing") - - cgi.logfp = StringIO() -diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py -index fc8c39365f..91b610542e 100644 ---- a/Lib/test/test_fcntl.py -+++ b/Lib/test/test_fcntl.py -@@ -157,6 +157,7 @@ def test_flock(self): - - @unittest.skipIf(platform.system() == "AIX", "AIX returns PermissionError") - def test_lockf_exclusive(self): -+ raise unittest.SkipTest('threading not supported') - self.f = open(TESTFN, 'wb+') - cmd = fcntl.LOCK_EX | fcntl.LOCK_NB - fcntl.lockf(self.f, cmd) -@@ -168,6 +169,7 @@ def test_lockf_exclusive(self): - - @unittest.skipIf(platform.system() == "AIX", "AIX returns PermissionError") - def test_lockf_share(self): -+ raise unittest.SkipTest('threading not supported') - self.f = open(TESTFN, 'wb+') - cmd = fcntl.LOCK_SH | fcntl.LOCK_NB - fcntl.lockf(self.f, cmd) -diff --git a/Lib/test/test_gzip.py b/Lib/test/test_gzip.py -index f86e767ac0..a763dbebe0 100644 ---- a/Lib/test/test_gzip.py -+++ b/Lib/test/test_gzip.py -@@ -753,6 +753,7 @@ class TestCommandLine(unittest.TestCase): - data = b'This is a simple test with gzip' - - def test_decompress_stdin_stdout(self): -+ raise unittest.SkipTest('no subprocess') - with io.BytesIO() as bytes_io: - with gzip.GzipFile(fileobj=bytes_io, mode='wb') as gzip_file: - gzip_file.write(self.data) -@@ -789,6 +790,7 @@ def test_decompress_infile_outfile_error(self): - - @create_and_remove_directory(TEMPDIR) - def test_compress_stdin_outfile(self): -+ raise unittest.SkipTest('no subprocess') - args = sys.executable, '-m', 'gzip' - with Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE) as proc: - out, err = proc.communicate(self.data) -diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py -index a12f6f0b97..acede437c3 100644 ---- a/Lib/test/test_itertools.py -+++ b/Lib/test/test_itertools.py -@@ -1533,6 +1533,7 @@ def __next__(self): - next(a) - - def test_tee_concurrent(self): -+ raise unittest.SkipTest('threading not supported') - start = threading.Event() - finish = threading.Event() - class I: --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0005-Drop-pwd-built-in-module.patch b/recipes/recipes_emscripten/python/patches/0005-Drop-pwd-built-in-module.patch deleted file mode 100644 index bb314ad65..000000000 --- a/recipes/recipes_emscripten/python/patches/0005-Drop-pwd-built-in-module.patch +++ /dev/null @@ -1,28 +0,0 @@ -From edfeabd42ac35f095a550e76084e4a549965f4ab Mon Sep 17 00:00:00 2001 -From: ryanking13 -Date: Wed, 6 Oct 2021 22:16:32 +0900 -Subject: [PATCH 05/10] Drop pwd built-in module - -This patch drops pwd module support from Cpython. -pwd module provides access to the Unix user account and password database, -which is not available in browser environment. ---- - Modules/Setup | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Modules/Setup b/Modules/Setup -index 87c6a152f8..89bab18530 100644 ---- a/Modules/Setup -+++ b/Modules/Setup -@@ -103,7 +103,7 @@ PYTHONPATH=$(COREPYTHONPATH) - - 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 -+# 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 --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0006-Don-t-dereference-function-pointer.patch b/recipes/recipes_emscripten/python/patches/0006-Don-t-dereference-function-pointer.patch deleted file mode 100644 index 4410cc7d1..000000000 --- a/recipes/recipes_emscripten/python/patches/0006-Don-t-dereference-function-pointer.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d9b55121e5e0671efaa850096d3f816cee18479a Mon Sep 17 00:00:00 2001 -From: Hood -Date: Wed, 23 Jun 2021 13:47:30 -0700 -Subject: [PATCH 06/10] Don't dereference function pointer - -Ctypes thinks that the result of dlsym is a pointer to the function pointer, so -it should call it like `result = (*f)(args)`. Probably this is true for the -native dlsym, but our dlsym returns an index into the indirect call table -"wasmTable", in particular it isn't even aligned like a pointer should be. -This patch fixes it so that it calls it like `result = f(args)` instead. ---- - Modules/_ctypes/_ctypes.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c -index 5f8a723f63..379aa8a7d5 100644 ---- a/Modules/_ctypes/_ctypes.c -+++ b/Modules/_ctypes/_ctypes.c -@@ -778,7 +778,11 @@ CDataType_in_dll(PyObject *type, PyObject *args) - return NULL; - } - #endif -- return PyCData_AtAddress(type, address); -+ CDataObject *ob = (CDataObject *)GenericPyCData_new(type, NULL, NULL); -+ if (ob == NULL) -+ return NULL; -+ *(void **)ob->b_ptr = address; -+ return (PyObject*)ob; - } - - static const char from_param_doc[] = --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0007-Patch-in-keyboard-interrupt-handling.patch b/recipes/recipes_emscripten/python/patches/0007-Patch-in-keyboard-interrupt-handling.patch deleted file mode 100644 index 46497da0a..000000000 --- a/recipes/recipes_emscripten/python/patches/0007-Patch-in-keyboard-interrupt-handling.patch +++ /dev/null @@ -1,131 +0,0 @@ -From d94b4b85f87cb2c0c83f605028acbe2de4ab028a Mon Sep 17 00:00:00 2001 -From: Hood -Date: Fri, 3 Sep 2021 18:08:26 -0700 -Subject: [PATCH 07/10] Patch in keyboard interrupt handling - -This patch adds a callback called pyodide_callback with signature -`int callback(void)` to the main loop in `ceval.c`. This function gets called once -per opcode except after opcodes `SETUP_FINALLY`, `SETUP_WITH`, `BEFORE_ASYNC_WITH`, -and `YIELD_FROM`. The main loop normally prevents signal handling, etc from happening -after these instructions, so I figured this should apply to my callback too. -(There is an extra layer of protection here though because in the callback we use -`PyErr_SetInterrupt` which simulates a SIGINT signal and triggers the KeyboardInterrupt -via the standard mechanism.) - -Note that we call the callback outside of the normal -`if (_Py_atomic_load_relaxed(eval_breaker))` -block where most of the "periodic things" happen. This is because normally when a -"periodic thing" is queued, the `eval_breaker` flag is set signalling the need for -handling. The whole point of this patch though is that we need to be able to set an -interrupt from a remote thread and the `eval_breaker` flag lives on the WASM heap. -Unless the whole WASM heap is made into a `SharedArrayBuffer` and shared between -webworkers, we have no way to set the `eval_breaker` flag. We still want to skip -the callback after the sensitive opcodes `SETUP_FINALLY`, `SETUP_WITH`, -`BEFORE_ASYNC_WITH`, and `YIELD_FROM`, so we hoisted the check for that condition -out of the `eval_breaker` conditional. - -We also patched the `threadstate` struct to include a `pyodide_callback` field, patch -`new_threadstate` to initialize the `pyodide_callback` field to `NULL`, and add a new -API `PyPyodide_SetPyodideCallback` to set `pyodide_callback`. - -Lastly, we patched PyErr_CheckSignals to check our custom source of keyboard interrupts -so that C extensions that use PyErr_CheckSignals to allow keyboard interrupts will be -interruptable in pyodide too. ---- - Include/cpython/ceval.h | 1 + - Include/cpython/pystate.h | 3 +++ - Modules/signalmodule.c | 4 ++++ - Python/ceval.c | 8 ++++++++ - Python/pystate.c | 2 ++ - 5 files changed, 18 insertions(+) - -diff --git a/Include/cpython/ceval.h b/Include/cpython/ceval.h -index 06338928f6..4e5720889d 100644 ---- a/Include/cpython/ceval.h -+++ b/Include/cpython/ceval.h -@@ -6,6 +6,7 @@ PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *); - PyAPI_DATA(int) _PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); - PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *); - PyAPI_FUNC(int) _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); -+PyAPI_FUNC(void) PyPyodide_SetPyodideCallback(PyPyodide_callback); - PyAPI_FUNC(int) _PyEval_GetCoroutineOriginTrackingDepth(void); - PyAPI_FUNC(int) _PyEval_SetAsyncGenFirstiter(PyObject *); - PyAPI_FUNC(PyObject *) _PyEval_GetAsyncGenFirstiter(void); -diff --git a/Include/cpython/pystate.h b/Include/cpython/pystate.h -index 7c995b9307..c3598ed028 100644 ---- a/Include/cpython/pystate.h -+++ b/Include/cpython/pystate.h -@@ -11,6 +11,7 @@ PyAPI_FUNC(PyObject *) _PyInterpreterState_GetMainModule(PyInterpreterState *); - - /* Py_tracefunc return -1 when raising an exception, or 0 for success. */ - typedef int (*Py_tracefunc)(PyObject *, PyFrameObject *, int, PyObject *); -+typedef void (*PyPyodide_callback)(void); - - /* The following values are used for 'what' for tracefunc functions - * -@@ -84,6 +85,8 @@ struct _ts { - PyObject *c_profileobj; - PyObject *c_traceobj; - -+ PyPyodide_callback pyodide_callback; -+ - /* The exception currently being raised */ - PyObject *curexc_type; - PyObject *curexc_value; -diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c -index 96881d4a49..7847b693f3 100644 ---- a/Modules/signalmodule.c -+++ b/Modules/signalmodule.c -@@ -1773,6 +1773,10 @@ PyErr_CheckSignals(void) - int - _PyErr_CheckSignalsTstate(PyThreadState *tstate) - { -+ if (tstate->pyodide_callback != NULL){ -+ tstate->pyodide_callback(); -+ } -+ - if (!_Py_atomic_load(&is_tripped)) { - return 0; - } -diff --git a/Python/ceval.c b/Python/ceval.c -index ab10b4166d..c03e664b75 100644 ---- a/Python/ceval.c -+++ b/Python/ceval.c -@@ -1750,6 +1750,9 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, PyFrameObject *f, int throwflag) - async I/O handler); see Py_AddPendingCall() and - Py_MakePendingCalls() above. */ - -+ if(tstate->pyodide_callback != NULL){ -+ tstate->pyodide_callback(); -+ } - if (_Py_atomic_load_relaxed(eval_breaker)) { - opcode = _Py_OPCODE(*next_instr); - if (opcode != SETUP_FINALLY && -@@ -5600,6 +5603,11 @@ PyEval_SetTrace(Py_tracefunc func, PyObject *arg) - } - } - -+void -+PyPyodide_SetPyodideCallback(PyPyodide_callback pyodide_callback){ -+ PyThreadState *tstate = _PyThreadState_GET(); -+ tstate->pyodide_callback = pyodide_callback; -+} - - void - _PyEval_SetCoroutineOriginTrackingDepth(PyThreadState *tstate, int new_depth) -diff --git a/Python/pystate.c b/Python/pystate.c -index df98eb11bb..1865377c41 100644 ---- a/Python/pystate.c -+++ b/Python/pystate.c -@@ -649,6 +649,8 @@ new_threadstate(PyInterpreterState *interp, int init) - tstate->c_profileobj = NULL; - tstate->c_traceobj = NULL; - -+ tstate->pyodide_callback = NULL; -+ - tstate->trash_delete_nesting = 0; - tstate->trash_delete_later = NULL; - tstate->on_delete = NULL; --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0008-Remove-duplicate-symbols-from-cfield.c.patch b/recipes/recipes_emscripten/python/patches/0008-Remove-duplicate-symbols-from-cfield.c.patch deleted file mode 100644 index 807fabd3c..000000000 --- a/recipes/recipes_emscripten/python/patches/0008-Remove-duplicate-symbols-from-cfield.c.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c1072b871866ac92abf18f159420dbf424902702 Mon Sep 17 00:00:00 2001 -From: Hood -Date: Tue, 22 Jun 2021 20:12:45 -0700 -Subject: [PATCH 08/10] Remove duplicate symbols from cfield.c - -These symbols are already defined by libffi. ---- - Modules/_ctypes/cfield.c | 26 -------------------------- - 1 file changed, 26 deletions(-) - -diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c -index ec6feca8b0..244c3399a5 100644 ---- a/Modules/_ctypes/cfield.c -+++ b/Modules/_ctypes/cfield.c -@@ -1599,31 +1599,5 @@ typedef struct _ffi_type - } ffi_type; - */ - --/* align and size are bogus for void, but they must not be zero */ --ffi_type ffi_type_void = { 1, 1, FFI_TYPE_VOID }; -- --ffi_type ffi_type_uint8 = { 1, 1, FFI_TYPE_UINT8 }; --ffi_type ffi_type_sint8 = { 1, 1, FFI_TYPE_SINT8 }; -- --ffi_type ffi_type_uint16 = { 2, 2, FFI_TYPE_UINT16 }; --ffi_type ffi_type_sint16 = { 2, 2, FFI_TYPE_SINT16 }; -- --ffi_type ffi_type_uint32 = { 4, INT_ALIGN, FFI_TYPE_UINT32 }; --ffi_type ffi_type_sint32 = { 4, INT_ALIGN, FFI_TYPE_SINT32 }; -- --ffi_type ffi_type_uint64 = { 8, LONG_LONG_ALIGN, FFI_TYPE_UINT64 }; --ffi_type ffi_type_sint64 = { 8, LONG_LONG_ALIGN, FFI_TYPE_SINT64 }; -- --ffi_type ffi_type_float = { sizeof(float), FLOAT_ALIGN, FFI_TYPE_FLOAT }; --ffi_type ffi_type_double = { sizeof(double), DOUBLE_ALIGN, FFI_TYPE_DOUBLE }; -- --#ifdef ffi_type_longdouble --#undef ffi_type_longdouble --#endif -- /* This is already defined on OSX */ --ffi_type ffi_type_longdouble = { sizeof(long double), LONGDOUBLE_ALIGN, -- FFI_TYPE_LONGDOUBLE }; -- --ffi_type ffi_type_pointer = { sizeof(void *), VOID_P_ALIGN, FFI_TYPE_POINTER }; - - /*---------------- EOF ----------------*/ --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0009-xfail-core-ctypes-tests-that-don-t-work.patch b/recipes/recipes_emscripten/python/patches/0009-xfail-core-ctypes-tests-that-don-t-work.patch deleted file mode 100644 index 6965b66d4..000000000 --- a/recipes/recipes_emscripten/python/patches/0009-xfail-core-ctypes-tests-that-don-t-work.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 16abd462459b36c73db23b776f1eb5ab2c0c7813 Mon Sep 17 00:00:00 2001 -From: Hood -Date: Thu, 24 Jun 2021 14:55:10 -0700 -Subject: [PATCH 09/10] xfail core ctypes tests that don't work - -PyCode_SetExtra doesn't work and ctypes doesn't seem to work with variadic functions including PyUnicode_FromFormat/ ---- - Lib/test/test_code.py | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/Lib/test/test_code.py b/Lib/test/test_code.py -index b9c4f8bdcb..31cb8876c8 100644 ---- a/Lib/test/test_code.py -+++ b/Lib/test/test_code.py -@@ -396,6 +396,7 @@ def test_bad_index(self): - ctypes.c_voidp(100)), 0) - - def test_free_called(self): -+ raise unittest.SkipTest("PyCode_SetExtra is broken") - # Verify that the provided free function gets invoked - # when the code object is cleaned up. - f = self.get_func() -@@ -405,6 +406,7 @@ def test_free_called(self): - self.assertEqual(LAST_FREED, 100) - - def test_get_set(self): -+ raise unittest.SkipTest("PyCode_SetExtra is broken") - # Test basic get/set round tripping. - f = self.get_func() - -@@ -421,6 +423,7 @@ def test_get_set(self): - del f - - def test_free_different_thread(self): -+ raise unittest.SkipTest("Requires threading") - # Freeing a code object on a different thread then - # where the co_extra was set should be safe. - f = self.get_func() -@@ -445,8 +448,8 @@ def test_main(verbose=None): - from test import test_code - run_doctest(test_code, verbose) - tests = [CodeTest, CodeConstsTest, CodeWeakRefTest] -- if check_impl_detail(cpython=True) and ctypes is not None: -- tests.append(CoExtra) -+ # if check_impl_detail(cpython=True) and ctypes is not None: -+ # tests.append(CoExtra) - run_unittest(*tests) - - if __name__ == "__main__": --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/0010-Fix-_PyImport_LoadDynamicModuleWithSpec-fpcast.patch b/recipes/recipes_emscripten/python/patches/0010-Fix-_PyImport_LoadDynamicModuleWithSpec-fpcast.patch deleted file mode 100644 index 95448a512..000000000 --- a/recipes/recipes_emscripten/python/patches/0010-Fix-_PyImport_LoadDynamicModuleWithSpec-fpcast.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 1775d9b346016fec4eb22f7b46d6aa8ece8aa761 Mon Sep 17 00:00:00 2001 -From: Hood Chatham -Date: Tue, 1 Mar 2022 17:06:53 -0800 -Subject: [PATCH 10/10] Fix _PyImport_LoadDynamicModuleWithSpec fpcast - ---- - Python/importdl.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/Python/importdl.c b/Python/importdl.c -index 6d2554741f..0caafd0e13 100644 ---- a/Python/importdl.c -+++ b/Python/importdl.c -@@ -89,6 +89,15 @@ get_encoded_name(PyObject *name, const char **hook_prefix) { - return NULL; - } - -+#include -+// Sometimes these init functions expect one argument, sometimes zero arguments -+// so they need a trampoline. -+typedef PyObject *(*PyInitFunctionType)(void); -+ -+EM_JS(PyObject*, em_call_init_function, (PyInitFunctionType f), { -+ return Module.wasmTable.get(f)(); -+}); -+ - PyObject * - _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp) - { -@@ -164,7 +173,7 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp) - _Py_PackageContext = oldcontext; - goto error; - } -- m = p0(); -+ m = em_call_init_function(p0); - _Py_PackageContext = oldcontext; - - if (m == NULL) { --- -2.25.1 - diff --git a/recipes/recipes_emscripten/python/patches/LICENSE b/recipes/recipes_emscripten/python/patches/LICENSE deleted file mode 100644 index a612ad981..000000000 --- a/recipes/recipes_emscripten/python/patches/LICENSE +++ /dev/null @@ -1,373 +0,0 @@ -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/recipes/recipes_emscripten/python/patches/configure b/recipes/recipes_emscripten/python/patches/configure deleted file mode 100644 index 526148995..000000000 --- a/recipes/recipes_emscripten/python/patches/configure +++ /dev/null @@ -1,19429 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for python 3.10. -# -# Report bugs to . -# -# -# 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://bugs.python.org/ about your system, including -$0: any error possibly output before this message. Then -$0: install a modern shell, or manually run the script -$0: 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 &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://bugs.python.org/' -PACKAGE_URL='' - -ac_unique_file="Include/object.h" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#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= - 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 if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - 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 . -_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://bugs.python.org/ ## -## --------------------------------------- ##" - ) | 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 -#include -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 &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 declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#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; } - if test -z "$PYTHON_FOR_BUILD"; then - for interp in python$PACKAGE_VERSION python3 python; do - which $interp >/dev/null 2>&1 || continue - if $interp -c "import sys;sys.exit(not '.'.join(str(n) for n in sys.version_info[:2]) == '$PACKAGE_VERSION')"; then - break - fi - interp= - done - if test x$interp = x; then - as_fn_error $? "python$PACKAGE_VERSION interpreter not found" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $interp" >&5 -$as_echo "$interp" >&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 _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp - fi -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.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 - ;; - wasm32-*-*) - ac_sys_system=Emscripten - ;; - *) - # 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 - ;; - wasm32-*-*) - _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 -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 -#include -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 to if __STDC__ is defined, since - # 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 -#else -# include -#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 -_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 to if __STDC__ is defined, since - # 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 -#else -# include -#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 -_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=" >&5 -$as_echo_n "checking for --with-cxx-main=... " >&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 <=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="wasm32-emscripten" - ;; -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 - -echo "MULTIARCH_CPPFLAGS: $MULTIARCH_CPPFLAGS" -echo "MULTIARCH: $MULTIARCH" - -{ $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 -#include -#include -#include - -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 - -_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 - -_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 -#include -#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 <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 -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 -#include - -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 -#include - -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 -#include - -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 -#include - -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 -#include -#include -#include - -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 - -_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 - -_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 -#include -#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/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 -#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 -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 -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_SYS_SOCKET_H -# include -#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 -#endif -#ifdef HAVE_SYS_SOCKET_H -#include -#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 -#endif -#ifdef HAVE_SYS_SOCKET_H -#include -#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 -#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 -#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 - -_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 -#elif defined(MAJOR_IN_SYSMACROS) -#include -#else -#include -#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 -#elif defined(HAVE_SYS_ENDIAN_H) -#include -#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 - -_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 -#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 -#endif -#ifdef HAVE_TIME_H -#include -#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 -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 -#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 -"; 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 -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 - 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 - &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 - &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 -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 -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 -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 -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 -#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 -#include - -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 - #include - 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 -#include -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 -#include -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 -#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 -#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 -#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 -#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 -#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 -#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 -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 -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 - #include -" -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 -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 -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 -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 -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 -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 -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 -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 -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 -#include - -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 -#include - -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 -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 -#endif -#ifdef HAVE_SYS_MEMFD_H -#include -#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 -#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 - -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 -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 - -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 - -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 -#include -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 -#include -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 - -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 -#include -#include -#include - -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 -#include -#include -#include - -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 -#ifdef HAVE_GRP_H -#include -#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 -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 -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 - -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 -#elif defined(MAJOR_IN_SYSMACROS) -#include -#else -#include -#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 -#include -#include -#include - -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 -#include -#include -#include -#include -#include - -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 -#include -#include - -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 -#include - -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 -#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 -" -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 -#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 - #include - -" -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 - #include - -" -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 -" -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 -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 -#include -#include - -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 -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 -# include -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 -# include -# include -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 whether char is unsigned" >&5 -$as_echo_n "checking whether char is unsigned... " >&6; } -if ${ac_cv_c_char_unsigned+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((char) -1) < 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_char_unsigned=no -else - ac_cv_c_char_unsigned=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_char_unsigned" >&5 -$as_echo "$ac_cv_c_char_unsigned" >&6; } -if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then - $as_echo "#define __CHAR_UNSIGNED__ 1" >>confdefs.h - -fi - -{ $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 -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 -#include - -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 -#include -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 - -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 - -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 - -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 http://bugs.python.org/issue2937 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 -#include -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 -" -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 -" -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 -" -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 -#include -#include -#include -#include - -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 -#include -#include -#include -#include - -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 -" -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 -" -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 -" -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 -" -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 -" -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 -" -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 -" -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 -" -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 -"; 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 -#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 - 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 - #include - -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 - #include - -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 defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -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 - -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..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 -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 /* Must be first for Gnu Readline */ -#ifdef WITH_EDITLINE -# include -#else -# include -#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 /* Must be first for Gnu Readline */ -#ifdef WITH_EDITLINE -# include -#else -# include -#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 /* Must be first for Gnu Readline */ -#ifdef WITH_EDITLINE -# include -#else -# include -#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 -#include -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 -#include - -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 -#include -#include - -#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 -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 -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 -#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 -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 - -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -#include -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#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 -#endif -#ifdef HAVE_SYS_SOCKET_H -#include -#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 -#include -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 -#include -#include -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 - 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 - - 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 - #include - #include - - 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 -{ $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 - - 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 -# 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 , 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 -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 -#include -#include - -#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 ." - -_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` -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 -' >$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 -' >$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 diff --git a/recipes/recipes_emscripten/python/pyodide_env.sh b/recipes/recipes_emscripten/python/pyodide_env.sh new file mode 100755 index 000000000..8b1378917 --- /dev/null +++ b/recipes/recipes_emscripten/python/pyodide_env.sh @@ -0,0 +1 @@ + diff --git a/recipes/recipes_emscripten/python/recipe.yaml b/recipes/recipes_emscripten/python/recipe.yaml index 63f4f4677..4dbd347be 100644 --- a/recipes/recipes_emscripten/python/recipe.yaml +++ b/recipes/recipes_emscripten/python/recipe.yaml @@ -1,56 +1,61 @@ context: - version: 3.10.2 - build_py_version: "{{ '.'.join(version.split('.')[:2]) }}" - -package: + version: 3.11.3 + pyodide_version: 0.24.0 name: python +package: + name: '{{name}}' version: '{{ version }}' source: - - url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}.tgz - sha256: 3c0ede893011319f9b0a56b44953a3d52c7abf9657c23fb4bc9ced93b86e9c97 - patches: - - sel(emscripten): patches/0001-Patch-in-call-trampolines-to-handle-fpcast-troubles.patch - - sel(emscripten): patches/0002-add-emscripten-host.patch - - sel(emscripten): patches/0003-fix-Py_Sigset_Converter.patch - - sel(emscripten): patches/0004-testing.patch - - sel(emscripten): patches/0005-Drop-pwd-built-in-module.patch - - sel(emscripten): patches/0006-Don-t-dereference-function-pointer.patch - - sel(emscripten): patches/0007-Patch-in-keyboard-interrupt-handling.patch - - sel(emscripten): patches/0008-Remove-duplicate-symbols-from-cfield.c.patch - - sel(emscripten): patches/0009-xfail-core-ctypes-tests-that-don-t-work.patch - - sel(emscripten): patches/0010-Fix-_PyImport_LoadDynamicModuleWithSpec-fpcast.patch - - sel(emscripten): patches/0011-Brand-Python.patch + - url: https://github.com/pyodide/pyodide/archive/refs/tags/{{pyodide_version}}.tar.gz + sha256: c8350c4780be44fe763a66f5024197025b0f8740cc4a7c9ad833a89c69916276 build: - # ATTENTION need to change build number in build string as well! - - number: 28 - # check with https://github.com/mamba-org/boa/issues/278 - string: h_hash_28_cpython - - # run_exports: - # strong: - # - '{{ pin_subpackage("python", max_pin="x.x") }}' + number: 24 + string: h_hash_24_cpython + ignore_run_exports: + - nodejs skip_compile_pyc: - "**/*.py" - requirements: build: - - sel(unix): make - - sel(unix): python {{ build_py_version }} - - sel(emscripten): "{{ compiler('c') }}" - host: - - bzip2 - - zlib - - libffi - - sqlite + - '{{ compiler("cxx") }}' + - '{{ compiler("c") }}' + - python=3.11 + - nodejs + - ccache + - f2c + - pkg-config + - swig + - make + - cmake + - pkg-config + - texinfo + - autoconf + - automake + - libtool + - patch # only needed on MacOS + - sed # only needed on MacOS + - wget + about: - home: todo - summary: todo - license: todo - license_file: todo + home: https://www.python.org/ + license: Python-2.0 + license_file: LICENSE + summary: General purpose programming language + description: | + Python is a widely used high-level, general-purpose, interpreted, dynamic + programming language. Its design philosophy emphasizes code + readability, and its syntax allows programmers to express concepts in + fewer lines of code than would be possible in languages such as C++ or + Java. The language provides constructs intended to enable clear programs + on both a small and large scale. + doc_url: https://www.python.org/doc/versions/ + doc_source_url: https://github.com/python/pythondotorg/blob/master/docs/source/index.rst + dev_url: https://docs.python.org/devguide/ + + extra: recipe-maintainers: diff --git a/recipes/recipes_emscripten/python_abi/recipe.yaml b/recipes/recipes_emscripten/python_abi/recipe.yaml index e63a63787..056d73fd8 100644 --- a/recipes/recipes_emscripten/python_abi/recipe.yaml +++ b/recipes/recipes_emscripten/python_abi/recipe.yaml @@ -7,14 +7,12 @@ package: version: '{{ version }}' build: - number: 0 + number: string: "0_cp311" about: home: python_abi license: BSD-3-Clause - license_family: BSD - license_file: LICENSE summary: python_abi description: python_abi doc_url: python_abi diff --git a/recipes/recipes_emscripten/pythran/recipe.yaml b/recipes/recipes_emscripten/pythran/recipe.yaml index 55d3c1dbd..ce883e917 100644 --- a/recipes/recipes_emscripten/pythran/recipe.yaml +++ b/recipes/recipes_emscripten/pythran/recipe.yaml @@ -15,7 +15,7 @@ source: - patches/0001-remove-strip-all.patch build: - number: 0 + number: 1 entry_points: - pythran = pythran.run:run - pythran-config = pythran.config:run @@ -24,14 +24,14 @@ requirements: build: - sel(build_platform != target_platform): python - sel(build_platform != target_platform): cross-python_{{ target_platform }} - - sel(build_platform != target_platform): numpy + - sel(build_platform != target_platform): numpy >=1.25 - "{{ compiler('cxx') }}" # - clang # [win] # - clangxx # [win] - pip host: - python - - numpy + - numpy >=1.25 run: # To ensure ABI compatibility, we install the same version of the C++ # compiler that was used when building. This is probably not necessary and @@ -40,8 +40,8 @@ requirements: # - "{{ compiler('cxx') }}" # [not win] # - clang # [win] # - clangxx # [win] - - python - - numpy + - python >=3.11 + - numpy >=1.25 # - "{{ pin_compatible('numpy') }}" - decorator - gast 0.5.* diff --git a/recipes/recipes_emscripten/pyyaml/recipe.yaml b/recipes/recipes_emscripten/pyyaml/recipe.yaml index 9ce09e474..cd4a71c8b 100644 --- a/recipes/recipes_emscripten/pyyaml/recipe.yaml +++ b/recipes/recipes_emscripten/pyyaml/recipe.yaml @@ -14,7 +14,7 @@ build: requirements: build: - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - python - pip host: diff --git a/recipes/recipes_emscripten/regex/build.sh b/recipes/recipes_emscripten/regex/build.sh index 5aa1049f8..55c1f3548 100644 --- a/recipes/recipes_emscripten/regex/build.sh +++ b/recipes/recipes_emscripten/regex/build.sh @@ -1,2 +1,3 @@ #!/bin/bash +export LDFLAGS="-s MODULARIZE=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s WASM=1 -std=c++14 -s LZ4=1 -s SIDE_MODULE=1 -sWASM_BIGINT" ${PYTHON} -m pip install . diff --git a/recipes/recipes_emscripten/regex/recipe.yaml b/recipes/recipes_emscripten/regex/recipe.yaml index 24f9dc411..678cdb842 100644 --- a/recipes/recipes_emscripten/regex/recipe.yaml +++ b/recipes/recipes_emscripten/regex/recipe.yaml @@ -11,12 +11,12 @@ source: sha256: 97f32dc03a8054a4c4a5ab5d761ed4861e828b2c200febd4e46857069a483916 build: - number: 4 + number: 9 requirements: build: - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - '{{ compiler("c") }}' - pip host: diff --git a/recipes/recipes_emscripten/requests-wasm-polyfill/recipe.yaml b/recipes/recipes_emscripten/requests-wasm-polyfill/recipe.yaml index 8d5f052d1..c81d5eb8b 100644 --- a/recipes/recipes_emscripten/requests-wasm-polyfill/recipe.yaml +++ b/recipes/recipes_emscripten/requests-wasm-polyfill/recipe.yaml @@ -21,7 +21,7 @@ steps: requirements: build: - python - - cross-python_emscripten-32 + - cross-python_emscripten-wasm32 - pip host: - python @@ -39,7 +39,6 @@ steps: about: home: https://github.com/emscripten-forge/requests-wasm-polyfill license: MIT - license_file: LICENSE summary: requests Python module polyfill for wasm doc_url: https://github.com/emscripten-forge/requests-wasm-polyfill dev_url: https://github.com/emscripten-forge/requests-wasm-polyfill diff --git a/recipes/recipes_emscripten/robotics-toolbox-python/recipe.yaml b/recipes/recipes_emscripten/robotics-toolbox-python/recipe.yaml index fa91ccea4..43d3625ed 100644 --- a/recipes/recipes_emscripten/robotics-toolbox-python/recipe.yaml +++ b/recipes/recipes_emscripten/robotics-toolbox-python/recipe.yaml @@ -26,8 +26,8 @@ requirements: - numpy run: - numpy - - spatialmath-python 1.0.* - - spatialgeometry 1.0.* + - spatialmath-python + - spatialgeometry - pgraph-python - scipy - matplotlib diff --git a/recipes/recipes_emscripten/scikit-learn/recipe.yaml b/recipes/recipes_emscripten/scikit-learn/recipe.yaml index 95b3b1c0b..029d290f7 100644 --- a/recipes/recipes_emscripten/scikit-learn/recipe.yaml +++ b/recipes/recipes_emscripten/scikit-learn/recipe.yaml @@ -21,22 +21,21 @@ requirements: build: - sel(build_platform != target_platform): python - sel(build_platform != target_platform): cross-python_{{ target_platform }} - - sel(build_platform != target_platform): cython + - sel(build_platform != target_platform): cython <= 2 - sel(build_platform != target_platform): numpy - - sel(build_platform != target_platform): scipy ==1.8.1 + - sel(build_platform != target_platform): scipy - "{{ compiler('c') }}" - "{{ compiler('cxx') }}" - sel(osx): llvm-openmp - - pip ==22.0.4 - - setuptools <60.0 + - pip + - setuptools host: - python # temporary pin pip to avoid missing oldest-supported-numpy error # - cython >=0.29.24 # - libcblas - numpy - - sel(not aarch64): scipy ==1.8.1 - - sel(aarch64): scipy >=1.8 + - scipy - joblib >=1.0.0 - threadpoolctl >=2.0.0 - sel(osx): llvm-openmp @@ -126,4 +125,4 @@ about: extra: recipe-maintainers: - - wolfv \ No newline at end of file + - wolfv diff --git a/recipes/recipes_emscripten/scipy/build.sh b/recipes/recipes_emscripten/scipy/build.sh index 9c7fb9f53..f4b39fb4d 100644 --- a/recipes/recipes_emscripten/scipy/build.sh +++ b/recipes/recipes_emscripten/scipy/build.sh @@ -1,84 +1,10 @@ -# Wisdom from pyodide! -# License is in patches/LICENSE - - -# NOTE: We moved the downloading of the LAPACK src to the recipe -# itself st. the download is cached! -# We get linker errors because the following 36 functions are missing -# Copying them from a more recent LAPACK seems to work fine. -# wget https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.0.tar.gz -# tar xzf v3.10.0.tar.gz - - -cd lapack-3.10.0/SRC -rm -f ../../scipy/linalg/lapack_extras.f -cat \ - cgemqrt.f cgeqrfp.f cgeqrt.f clahqr.f csyconv.f csyconvf.f csyconvf_rook.f ctpmqrt.f ctpqrt.f cuncsd.f \ - dgemqrt.f dgeqrfp.f dgeqrt.f dlahqr.f dsyconv.f dsyconvf.f dsyconvf_rook.f dtpmqrt.f dtpqrt.f dorcsd.f \ - sgemqrt.f sgeqrfp.f sgeqrt.f slahqr.f ssyconv.f ssyconvf.f ssyconvf_rook.f stpmqrt.f stpqrt.f sorcsd.f \ - zgemqrt.f zgeqrfp.f zgeqrt.f zlahqr.f zsyconv.f zsyconvf.f zsyconvf_rook.f ztpmqrt.f ztpqrt.f zuncsd.f \ ->> ../../scipy/linalg/lapack_extras.f - -sed -i 's/CHARACTER/INTEGER/g' ../../scipy/linalg/lapack_extras.f -sed -i 's/RECURSIVE//g' ../../scipy/linalg/lapack_extras.f -cd ../.. - -# Change many functions that return void into functions that return int -find scipy -name "*.c*" | xargs sed -i 's/extern void F_FUNC/extern int F_FUNC/g' -sed -i 's/void F_FUNC/int F_FUNC/g' scipy/odr/__odrpack.c -# sed -i 's/^void/int/g' scipy/odr/odrpack.h -# sed -i 's/^void/int/g' scipy/odr/__odrpack.c -sed -i 's/void BLAS_FUNC/int BLAS_FUNC/g' scipy/special/lapack_defs.h -# sed -i 's/void F_FUNC/int F_FUNC/g' scipy/linalg/_lapack_subroutines.h -sed -i 's/extern void/extern int/g' scipy/optimize/__minpack.h -sed -i 's/void/int/g' scipy/linalg/cython_blas_signatures.txt -sed -i 's/^void/int/g' scipy/interpolate/src/_fitpackmodule.c -sed -i 's/^void/int/g' scipy/optimize/_trlib/trlib_private.h -sed -i 's/^void/int/g' scipy/optimize/_trlib/trlib/trlib_private.h -sed -i 's/, int)/)/g' scipy/optimize/_trlib/trlib_private.h -sed -i 's/, 1)/)/g' scipy/optimize/_trlib/trlib_private.h - -sed -i 's/^void/int/g' scipy/spatial/qhull_misc.h -sed -i 's/, size_t)/)/g' scipy/spatial/qhull_misc.h -sed -i 's/,1)/)/g' scipy/spatial/qhull_misc.h - -# Missing declaration from cython_lapack_signatures.txt -echo "void ilaenv(int *ispec, char *name, char *opts, int *n1, int *n2, int *n3, int *n4)" \ - >> scipy/linalg/cython_lapack_signatures.txt -# sed -i 's/^void/int/g' scipy/linalg/cython_lapack_signatures.txt - -# Input error causes "duplicate symbol" linker errors. Empty out the file. -echo "" > scipy/sparse/linalg/_dsolve/SuperLU/SRC/input_error.c - -# install f2c / emcc wrapper script -cp $RECIPE_DIR/patches/fortran_compiler_wrapper.py $BUILD_PREFIX/bin/gfortran -chmod u+x $BUILD_PREFIX/bin/gfortran - -# Add pyodide scipy C file fixes to emcc -export EMBIN=$EMSCRIPTEN_FORGE_EMSDK_DIR/upstream/emscripten -cp $EMBIN/emcc.py $EMBIN/old_emcc.py - -function cleanup { - echo "CLEANUP" - cp $EMBIN/old_emcc.py $EMBIN/emcc.py - -} -trap cleanup EXIT - - -python $RECIPE_DIR/inject_compiler_wrapper.py $EMBIN/emcc.py - - -# add BUILD_PREFIX/include for f2c.h file -export CFLAGS="$CFLAGS -I$BUILD_PREFIX/include -Wno-return-type -DUNDERSCORE_G77 -Wno-incompatible-function-pointer-types -sWASM_BIGINT" - - -export CXXFLAGS="$CXXFLAGS -std=c++14 -Wno-incompatible-function-pointer-types -sWASM_BIGINT" -export LDFLAGS="$LDFLAGS -sWASM_BIGINT" - -export NPY_BLAS_LIBS= -export NPY_LAPACK_LIBS=$PREFIX/lib/clapack_all.so -python -m pip install . --no-deps -vvv -cp $EMBIN/old_emcc.py $EMBIN/emcc.py +#!/bin/bash +PYODIDE_PACKED=$RECIPE_DIR/scipy-1.11.1-cp311-cp311-emscripten_3_1_45_wasm32.whl +# unzip +unzip $PYODIDE_PACKED +# copy complete folder scipy to side-packages +mkdir -p $PREFIX/lib/python3.11/site-packages +cp -r scipy $PREFIX/lib/python3.11/site-packages +cp -r scipy-1.11.1.dist-info $PREFIX/lib/python3.11/site-packages \ No newline at end of file diff --git a/recipes/recipes_emscripten/scipy/inject_compiler_wrapper.py b/recipes/recipes_emscripten/scipy/inject_compiler_wrapper.py deleted file mode 100644 index c89a3d4ab..000000000 --- a/recipes/recipes_emscripten/scipy/inject_compiler_wrapper.py +++ /dev/null @@ -1,24 +0,0 @@ -from pathlib import Path -import sys - - -fix_text_lines = (Path(__file__).parent / "patches" / "c_compiler_wrapper.py").read_text().splitlines() - - -def patch_emcc(fn): - fn = Path(fn) - text = fn.read_text() - - lines = text.splitlines() - for idx, l in enumerate(lines): - if "__name__" in l and "__main__" in l: - findex = idx - 1 - - lines[findex:findex] = fix_text_lines - findex += len(fix_text_lines) - lines[findex + 2:findex + 2] = [" scipy_fixes(sys.argv)"] - - fn.write_text('\n'.join(lines)) - -if __name__ == '__main__': - patch_emcc(sys.argv[1]) \ No newline at end of file diff --git a/recipes/recipes_emscripten/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch b/recipes/recipes_emscripten/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch deleted file mode 100644 index c7c8b64aa..000000000 --- a/recipes/recipes_emscripten/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 90a2cac7e8812f0a3e64c6bbc45fb1ece8d5f4d1 Mon Sep 17 00:00:00 2001 -From: Hood Chatham -Date: Fri, 18 Mar 2022 16:25:39 -0700 -Subject: [PATCH 01/14] Fix dstevr in special/lapack_defs.h - ---- - scipy/special/lapack_defs.h | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/scipy/special/lapack_defs.h b/scipy/special/lapack_defs.h -index 0d20ba1ca..d4325f71f 100644 ---- a/scipy/special/lapack_defs.h -+++ b/scipy/special/lapack_defs.h -@@ -8,13 +8,12 @@ extern void BLAS_FUNC(dstevr)(char *jobz, char *range, CBLAS_INT *n, double *d, - double *vl, double *vu, CBLAS_INT *il, CBLAS_INT *iu, double *abstol, - CBLAS_INT *m, double *w, double *z, CBLAS_INT *ldz, CBLAS_INT *isuppz, - double *work, CBLAS_INT *lwork, CBLAS_INT *iwork, CBLAS_INT *liwork, -- CBLAS_INT *info, size_t jobz_len, size_t range_len); -+ CBLAS_INT *info); - - static void c_dstevr(char *jobz, char *range, CBLAS_INT *n, double *d, double *e, - double *vl, double *vu, CBLAS_INT *il, CBLAS_INT *iu, double *abstol, - CBLAS_INT *m, double *w, double *z, CBLAS_INT *ldz, CBLAS_INT *isuppz, - double *work, CBLAS_INT *lwork, CBLAS_INT *iwork, CBLAS_INT *liwork, CBLAS_INT *info) { - BLAS_FUNC(dstevr)(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, -- w, z, ldz, isuppz, work, lwork, iwork, liwork, info, -- 1, 1); -+ w, z, ldz, isuppz, work, lwork, iwork, liwork, info); - } --- -2.25.1 - diff --git a/recipes/recipes_emscripten/scipy/patches/0003-Add-lapack_extras-to-linalg-setup.py.patch b/recipes/recipes_emscripten/scipy/patches/0003-Add-lapack_extras-to-linalg-setup.py.patch deleted file mode 100644 index 87b2c0d3d..000000000 --- a/recipes/recipes_emscripten/scipy/patches/0003-Add-lapack_extras-to-linalg-setup.py.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f6e479ea524c286f0a96d5df60d1f8edb595f643 Mon Sep 17 00:00:00 2001 -From: Hood Chatham -Date: Fri, 31 Dec 2021 22:27:07 -0800 -Subject: [PATCH 03/14] Add lapack_extras to linalg/setup.py - ---- - scipy/linalg/setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scipy/linalg/setup.py b/scipy/linalg/setup.py -index 2f0ef0a48..d384081a2 100644 ---- a/scipy/linalg/setup.py -+++ b/scipy/linalg/setup.py -@@ -43,7 +43,7 @@ def configuration(parent_package='', top_path=None): - ext._pre_build_hook = blas_ilp64_pre_build_hook(lapack_ilp64_opt) - - # flapack: -- sources = ['flapack.pyf.src'] -+ sources = ['flapack.pyf.src', 'lapack_extras.f'] - sources += get_g77_abi_wrappers(lapack_opt) - dep_pfx = join('src', 'lapack_deprecations') - deprecated_lapack_routines = [join(dep_pfx, c + 'gegv.f') for c in 'cdsz'] --- -2.25.1 - diff --git a/recipes/recipes_emscripten/scipy/patches/0004-int-to-string.patch b/recipes/recipes_emscripten/scipy/patches/0004-int-to-string.patch deleted file mode 100644 index ff7967253..000000000 --- a/recipes/recipes_emscripten/scipy/patches/0004-int-to-string.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3c0ad123668366e82b64f459941eb36943745c43 Mon Sep 17 00:00:00 2001 -From: Hood Chatham -Date: Sat, 25 Dec 2021 18:04:18 -0800 -Subject: [PATCH 04/14] int to string - -f2c does not handle implicit casts of function arguments correctly. The msg -argument of `xerrwv` is defined to be an `int *`, and then implicitly cast -from a string at the call site. This doesn't work correctly. - -We redefine the type of the first argument to be string to fix the problem. ---- - scipy/integrate/odepack/xerrwv.f | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/scipy/integrate/odepack/xerrwv.f b/scipy/integrate/odepack/xerrwv.f -index 7e180e4f8..b940bb702 100644 ---- a/scipy/integrate/odepack/xerrwv.f -+++ b/scipy/integrate/odepack/xerrwv.f -@@ -1,5 +1,6 @@ - subroutine xerrwv (msg, nmes, nerr, level, ni, i1, i2, nr, r1, r2) -- integer msg, nmes, nerr, level, ni, i1, i2, nr, -+ character msg*1 -+ integer nmes, nerr, level, ni, i1, i2, nr, - 1 i, lun, lunit, mesflg, ncpw, nch, nwds - double precision r1, r2 - dimension msg(nmes) --- -2.25.1 - diff --git a/recipes/recipes_emscripten/scipy/patches/0005-disable-blas-detection.patch b/recipes/recipes_emscripten/scipy/patches/0005-disable-blas-detection.patch deleted file mode 100644 index 1b3056a08..000000000 --- a/recipes/recipes_emscripten/scipy/patches/0005-disable-blas-detection.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 25612fa1854608cbbdcb994abb8486fc6f4a0736 Mon Sep 17 00:00:00 2001 -From: Roman Yurchak -Date: Wed, 6 Apr 2022 21:19:55 -0700 -Subject: [PATCH 05/14] disable blas detection - -BLAS and LAPACK aren't available on host because we only cross compile these -libraries (see CLAPACK/meta.yaml). Scipy tries to detect these libraries and -if it fails to find them errors out the build. But we have them installed -correctly for our target, so we just disable this detection mechanism. ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index a5ccaa159..8c3eb13c3 100755 ---- a/setup.py -+++ b/setup.py -@@ -507,7 +507,7 @@ def configuration(parent_package='', top_path=None): - - lapack_opt = get_info('lapack_opt') - -- if not lapack_opt: -+ if not lapack_opt and False: - if sys.platform == "darwin": - msg = ('No BLAS/LAPACK libraries found. ' - 'Note: Accelerate is no longer supported.') --- -2.25.1 - diff --git a/recipes/recipes_emscripten/scipy/patches/0006-fix-fotran-files-minpack.patch b/recipes/recipes_emscripten/scipy/patches/0006-fix-fotran-files-minpack.patch deleted file mode 100644 index f22f4a678..000000000 --- a/recipes/recipes_emscripten/scipy/patches/0006-fix-fotran-files-minpack.patch +++ /dev/null @@ -1,287 +0,0 @@ -From 84a590dd8d7563306c09f1f3ba5299e68c9bd359 Mon Sep 17 00:00:00 2001 -From: Hood Chatham -Date: Wed, 6 Apr 2022 21:21:53 -0700 -Subject: [PATCH 06/14] fix fotran files minpack - ---- - scipy/optimize/minpack/chkder.f | 3 +-- - scipy/optimize/minpack/dogleg.f | 3 +-- - scipy/optimize/minpack/dpmpar.f | 3 +-- - scipy/optimize/minpack/enorm.f | 3 +-- - scipy/optimize/minpack/fdjac1.f | 3 +-- - scipy/optimize/minpack/fdjac2.f | 3 +-- - scipy/optimize/minpack/hybrd.f | 3 +-- - scipy/optimize/minpack/hybrd1.f | 3 +-- - scipy/optimize/minpack/hybrj.f | 3 +-- - scipy/optimize/minpack/hybrj1.f | 3 +-- - scipy/optimize/minpack/lmder.f | 3 +-- - scipy/optimize/minpack/lmder1.f | 3 +-- - scipy/optimize/minpack/lmdif.f | 3 +-- - scipy/optimize/minpack/lmdif1.f | 3 +-- - scipy/optimize/minpack/lmpar.f | 3 +-- - scipy/optimize/minpack/lmstr.f | 3 +-- - scipy/optimize/minpack/lmstr1.f | 3 +-- - scipy/optimize/minpack/qform.f | 3 +-- - scipy/optimize/minpack/qrfac.f | 3 +-- - scipy/optimize/minpack/qrsolv.f | 3 +-- - scipy/optimize/minpack/r1mpyq.f | 3 +-- - scipy/optimize/minpack/r1updt.f | 3 +-- - scipy/optimize/minpack/rwupdt.f | 3 +-- - 23 files changed, 23 insertions(+), 46 deletions(-) - -diff --git a/scipy/optimize/minpack/chkder.f b/scipy/optimize/minpack/chkder.f -index 0657ab56a..29578fc41 100644 ---- a/scipy/optimize/minpack/chkder.f -+++ b/scipy/optimize/minpack/chkder.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine chkder(m,n,x,fvec,fjac,ldfjac,xp,fvecp,mode,err) -+ subroutine chkder(m,n,x,fvec,fjac,ldfjac,xp,fvecp,mode,err) - integer m,n,ldfjac,mode - double precision x(n),fvec(m),fjac(ldfjac,n),xp(n),fvecp(m), - * err(m) -diff --git a/scipy/optimize/minpack/dogleg.f b/scipy/optimize/minpack/dogleg.f -index d9626c911..b812f1966 100644 ---- a/scipy/optimize/minpack/dogleg.f -+++ b/scipy/optimize/minpack/dogleg.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine dogleg(n,r,lr,diag,qtb,delta,x,wa1,wa2) -+ subroutine dogleg(n,r,lr,diag,qtb,delta,x,wa1,wa2) - integer n,lr - double precision delta - double precision r(lr),diag(n),qtb(n),x(n),wa1(n),wa2(n) -diff --git a/scipy/optimize/minpack/dpmpar.f b/scipy/optimize/minpack/dpmpar.f -index 3fd3b4ef8..cb6545a92 100644 ---- a/scipy/optimize/minpack/dpmpar.f -+++ b/scipy/optimize/minpack/dpmpar.f -@@ -1,5 +1,4 @@ -- recursive -- *double precision function dpmpar(i) -+ double precision function dpmpar(i) - integer i - c ********** - c -diff --git a/scipy/optimize/minpack/enorm.f b/scipy/optimize/minpack/enorm.f -index 21557c147..2cb5b607e 100644 ---- a/scipy/optimize/minpack/enorm.f -+++ b/scipy/optimize/minpack/enorm.f -@@ -1,5 +1,4 @@ -- recursive -- *double precision function enorm(n,x) -+ double precision function enorm(n,x) - integer n - double precision x(n) - c ********** -diff --git a/scipy/optimize/minpack/fdjac1.f b/scipy/optimize/minpack/fdjac1.f -index 2a7d84cc1..031ed4652 100644 ---- a/scipy/optimize/minpack/fdjac1.f -+++ b/scipy/optimize/minpack/fdjac1.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine fdjac1(fcn,n,x,fvec,fjac,ldfjac,iflag,ml,mu,epsfcn, -+ subroutine fdjac1(fcn,n,x,fvec,fjac,ldfjac,iflag,ml,mu,epsfcn, - * wa1,wa2) - integer n,ldfjac,iflag,ml,mu - double precision epsfcn -diff --git a/scipy/optimize/minpack/fdjac2.f b/scipy/optimize/minpack/fdjac2.f -index 5f4c1338f..218ab94c1 100644 ---- a/scipy/optimize/minpack/fdjac2.f -+++ b/scipy/optimize/minpack/fdjac2.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine fdjac2(fcn,m,n,x,fvec,fjac,ldfjac,iflag,epsfcn,wa) -+ subroutine fdjac2(fcn,m,n,x,fvec,fjac,ldfjac,iflag,epsfcn,wa) - integer m,n,ldfjac,iflag - double precision epsfcn - double precision x(n),fvec(m),fjac(ldfjac,n),wa(m) -diff --git a/scipy/optimize/minpack/hybrd.f b/scipy/optimize/minpack/hybrd.f -index 75f450c9c..fc0b4c26a 100644 ---- a/scipy/optimize/minpack/hybrd.f -+++ b/scipy/optimize/minpack/hybrd.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine hybrd(fcn,n,x,fvec,xtol,maxfev,ml,mu,epsfcn,diag, -+ subroutine hybrd(fcn,n,x,fvec,xtol,maxfev,ml,mu,epsfcn,diag, - * mode,factor,nprint,info,nfev,fjac,ldfjac,r,lr, - * qtf,wa1,wa2,wa3,wa4) - integer n,maxfev,ml,mu,mode,nprint,info,nfev,ldfjac,lr -diff --git a/scipy/optimize/minpack/hybrd1.f b/scipy/optimize/minpack/hybrd1.f -index 87660fe18..c0a859275 100644 ---- a/scipy/optimize/minpack/hybrd1.f -+++ b/scipy/optimize/minpack/hybrd1.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine hybrd1(fcn,n,x,fvec,tol,info,wa,lwa) -+ subroutine hybrd1(fcn,n,x,fvec,tol,info,wa,lwa) - integer n,info,lwa - double precision tol - double precision x(n),fvec(n),wa(lwa) -diff --git a/scipy/optimize/minpack/hybrj.f b/scipy/optimize/minpack/hybrj.f -index 4f676832e..3070dad3f 100644 ---- a/scipy/optimize/minpack/hybrj.f -+++ b/scipy/optimize/minpack/hybrj.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine hybrj(fcn,n,x,fvec,fjac,ldfjac,xtol,maxfev,diag,mode, -+ subroutine hybrj(fcn,n,x,fvec,fjac,ldfjac,xtol,maxfev,diag,mode, - * factor,nprint,info,nfev,njev,r,lr,qtf,wa1,wa2, - * wa3,wa4) - integer n,ldfjac,maxfev,mode,nprint,info,nfev,njev,lr -diff --git a/scipy/optimize/minpack/hybrj1.f b/scipy/optimize/minpack/hybrj1.f -index afa9d80f1..9f51c4965 100644 ---- a/scipy/optimize/minpack/hybrj1.f -+++ b/scipy/optimize/minpack/hybrj1.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine hybrj1(fcn,n,x,fvec,fjac,ldfjac,tol,info,wa,lwa) -+ subroutine hybrj1(fcn,n,x,fvec,fjac,ldfjac,tol,info,wa,lwa) - integer n,ldfjac,info,lwa - double precision tol - double precision x(n),fvec(n),fjac(ldfjac,n),wa(lwa) -diff --git a/scipy/optimize/minpack/lmder.f b/scipy/optimize/minpack/lmder.f -index 684925592..8797d8bed 100644 ---- a/scipy/optimize/minpack/lmder.f -+++ b/scipy/optimize/minpack/lmder.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine lmder(fcn,m,n,x,fvec,fjac,ldfjac,ftol,xtol,gtol, -+ subroutine lmder(fcn,m,n,x,fvec,fjac,ldfjac,ftol,xtol,gtol, - * maxfev,diag,mode,factor,nprint,info,nfev,njev, - * ipvt,qtf,wa1,wa2,wa3,wa4) - integer m,n,ldfjac,maxfev,mode,nprint,info,nfev,njev -diff --git a/scipy/optimize/minpack/lmder1.f b/scipy/optimize/minpack/lmder1.f -index 6be29477d..d691940fd 100644 ---- a/scipy/optimize/minpack/lmder1.f -+++ b/scipy/optimize/minpack/lmder1.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine lmder1(fcn,m,n,x,fvec,fjac,ldfjac,tol,info,ipvt,wa, -+ subroutine lmder1(fcn,m,n,x,fvec,fjac,ldfjac,tol,info,ipvt,wa, - * lwa) - integer m,n,ldfjac,info,lwa - integer ipvt(n) -diff --git a/scipy/optimize/minpack/lmdif.f b/scipy/optimize/minpack/lmdif.f -index fcb61d138..dd3d4ee25 100644 ---- a/scipy/optimize/minpack/lmdif.f -+++ b/scipy/optimize/minpack/lmdif.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine lmdif(fcn,m,n,x,fvec,ftol,xtol,gtol,maxfev,epsfcn, -+ subroutine lmdif(fcn,m,n,x,fvec,ftol,xtol,gtol,maxfev,epsfcn, - * diag,mode,factor,nprint,info,nfev,fjac,ldfjac, - * ipvt,qtf,wa1,wa2,wa3,wa4) - integer m,n,maxfev,mode,nprint,info,nfev,ldfjac -diff --git a/scipy/optimize/minpack/lmdif1.f b/scipy/optimize/minpack/lmdif1.f -index 6f28ed2f7..70f8aae05 100644 ---- a/scipy/optimize/minpack/lmdif1.f -+++ b/scipy/optimize/minpack/lmdif1.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine lmdif1(fcn,m,n,x,fvec,tol,info,iwa,wa,lwa) -+ subroutine lmdif1(fcn,m,n,x,fvec,tol,info,iwa,wa,lwa) - integer m,n,info,lwa - integer iwa(n) - double precision tol -diff --git a/scipy/optimize/minpack/lmpar.f b/scipy/optimize/minpack/lmpar.f -index e25eb0d3e..26c422a79 100644 ---- a/scipy/optimize/minpack/lmpar.f -+++ b/scipy/optimize/minpack/lmpar.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine lmpar(n,r,ldr,ipvt,diag,qtb,delta,par,x,sdiag,wa1, -+ subroutine lmpar(n,r,ldr,ipvt,diag,qtb,delta,par,x,sdiag,wa1, - * wa2) - integer n,ldr - integer ipvt(n) -diff --git a/scipy/optimize/minpack/lmstr.f b/scipy/optimize/minpack/lmstr.f -index 2b6bbbfc2..d9a7893f8 100644 ---- a/scipy/optimize/minpack/lmstr.f -+++ b/scipy/optimize/minpack/lmstr.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine lmstr(fcn,m,n,x,fvec,fjac,ldfjac,ftol,xtol,gtol, -+ subroutine lmstr(fcn,m,n,x,fvec,fjac,ldfjac,ftol,xtol,gtol, - * maxfev,diag,mode,factor,nprint,info,nfev,njev, - * ipvt,qtf,wa1,wa2,wa3,wa4) - integer m,n,ldfjac,maxfev,mode,nprint,info,nfev,njev -diff --git a/scipy/optimize/minpack/lmstr1.f b/scipy/optimize/minpack/lmstr1.f -index 225e8736f..2fa8ee1c5 100644 ---- a/scipy/optimize/minpack/lmstr1.f -+++ b/scipy/optimize/minpack/lmstr1.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine lmstr1(fcn,m,n,x,fvec,fjac,ldfjac,tol,info,ipvt,wa, -+ subroutine lmstr1(fcn,m,n,x,fvec,fjac,ldfjac,tol,info,ipvt,wa, - * lwa) - integer m,n,ldfjac,info,lwa - integer ipvt(n) -diff --git a/scipy/optimize/minpack/qform.f b/scipy/optimize/minpack/qform.f -index 1f368587e..087b2478b 100644 ---- a/scipy/optimize/minpack/qform.f -+++ b/scipy/optimize/minpack/qform.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine qform(m,n,q,ldq,wa) -+ subroutine qform(m,n,q,ldq,wa) - integer m,n,ldq - double precision q(ldq,m),wa(m) - c ********** -diff --git a/scipy/optimize/minpack/qrfac.f b/scipy/optimize/minpack/qrfac.f -index fa6789086..cb686086c 100644 ---- a/scipy/optimize/minpack/qrfac.f -+++ b/scipy/optimize/minpack/qrfac.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine qrfac(m,n,a,lda,pivot,ipvt,lipvt,rdiag,acnorm,wa) -+ subroutine qrfac(m,n,a,lda,pivot,ipvt,lipvt,rdiag,acnorm,wa) - integer m,n,lda,lipvt - integer ipvt(lipvt) - logical pivot -diff --git a/scipy/optimize/minpack/qrsolv.f b/scipy/optimize/minpack/qrsolv.f -index 3dc009721..5580087ca 100644 ---- a/scipy/optimize/minpack/qrsolv.f -+++ b/scipy/optimize/minpack/qrsolv.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine qrsolv(n,r,ldr,ipvt,diag,qtb,x,sdiag,wa) -+ subroutine qrsolv(n,r,ldr,ipvt,diag,qtb,x,sdiag,wa) - integer n,ldr - integer ipvt(n) - double precision r(ldr,n),diag(n),qtb(n),x(n),sdiag(n),wa(n) -diff --git a/scipy/optimize/minpack/r1mpyq.f b/scipy/optimize/minpack/r1mpyq.f -index 1410b9ad6..ec99b96ce 100644 ---- a/scipy/optimize/minpack/r1mpyq.f -+++ b/scipy/optimize/minpack/r1mpyq.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine r1mpyq(m,n,a,lda,v,w) -+ subroutine r1mpyq(m,n,a,lda,v,w) - integer m,n,lda - double precision a(lda,n),v(n),w(n) - c ********** -diff --git a/scipy/optimize/minpack/r1updt.f b/scipy/optimize/minpack/r1updt.f -index e809d8402..e034973d9 100644 ---- a/scipy/optimize/minpack/r1updt.f -+++ b/scipy/optimize/minpack/r1updt.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine r1updt(m,n,s,ls,u,v,w,sing) -+ subroutine r1updt(m,n,s,ls,u,v,w,sing) - integer m,n,ls - logical sing - double precision s(ls),u(m),v(n),w(m) -diff --git a/scipy/optimize/minpack/rwupdt.f b/scipy/optimize/minpack/rwupdt.f -index 61a7928bb..05282b556 100644 ---- a/scipy/optimize/minpack/rwupdt.f -+++ b/scipy/optimize/minpack/rwupdt.f -@@ -1,5 +1,4 @@ -- recursive -- *subroutine rwupdt(n,r,ldr,w,b,alpha,cos,sin) -+ subroutine rwupdt(n,r,ldr,w,b,alpha,cos,sin) - integer n,ldr - double precision alpha - double precision r(ldr,n),w(n),b(n),cos(n),sin(n) --- -2.25.1 - diff --git a/recipes/recipes_emscripten/scipy/patches/0007-gemm_-no-const.patch b/recipes/recipes_emscripten/scipy/patches/0007-gemm_-no-const.patch deleted file mode 100644 index 7b4b5d4db..000000000 --- a/recipes/recipes_emscripten/scipy/patches/0007-gemm_-no-const.patch +++ /dev/null @@ -1,86 +0,0 @@ -From e3140b25165537ddc731f1d72e46ec9059faa6d6 Mon Sep 17 00:00:00 2001 -From: Hood Chatham -Date: Sat, 18 Dec 2021 11:41:15 -0800 -Subject: [PATCH 07/14] gemm_ no const - -cgemm, dgemm, sgemm, and zgemm are declared with `const` in slu_cdefs.h, but -other places don't have the cosnt causing compile errors. -This patch drops the consts and fixes the problem. ---- - scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_cdefs.h | 6 +++--- - scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_ddefs.h | 6 +++--- - scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_sdefs.h | 6 +++--- - scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_zdefs.h | 6 +++--- - 4 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_cdefs.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_cdefs.h -index 346f9af0a..8af19888f 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_cdefs.h -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_cdefs.h -@@ -272,9 +272,9 @@ extern void ccheck_tempv(int, complex *); - - /*! \brief BLAS */ - --extern int cgemm_(const char*, const char*, const int*, const int*, const int*, -- const complex*, const complex*, const int*, const complex*, -- const int*, const complex*, complex*, const int*); -+extern int cgemm_( char*, char*, int*, int*, int*, -+ complex*, complex*, int*, complex*, -+ int*, complex*, complex*, int*); - extern int ctrsv_(char*, char*, char*, int*, complex*, int*, - complex*, int*); - extern int ctrsm_(char*, char*, char*, char*, int*, int*, -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_ddefs.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_ddefs.h -index fd971f365..e70699aef 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_ddefs.h -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_ddefs.h -@@ -269,9 +269,9 @@ extern void dcheck_tempv(int, double *); - - /*! \brief BLAS */ - --extern int dgemm_(const char*, const char*, const int*, const int*, const int*, -- const double*, const double*, const int*, const double*, -- const int*, const double*, double*, const int*); -+extern int dgemm_( char*, char*, int*, int*, int*, -+ double*, double*, int*, double*, -+ int*, double*, double*, int*); - extern int dtrsv_(char*, char*, char*, int*, double*, int*, - double*, int*); - extern int dtrsm_(char*, char*, char*, char*, int*, int*, -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_sdefs.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_sdefs.h -index 1b6db977e..fee4bc1d6 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_sdefs.h -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_sdefs.h -@@ -269,9 +269,9 @@ extern void scheck_tempv(int, float *); - - /*! \brief BLAS */ - --extern int sgemm_(const char*, const char*, const int*, const int*, const int*, -- const float*, const float*, const int*, const float*, -- const int*, const float*, float*, const int*); -+extern int sgemm_( char*, char*, int*, int*, int*, -+ float*, float*, int*, float*, -+ int*, float*, float*, int*); - extern int strsv_(char*, char*, char*, int*, float*, int*, - float*, int*); - extern int strsm_(char*, char*, char*, char*, int*, int*, -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_zdefs.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_zdefs.h -index abb7d937e..6c572ff2b 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_zdefs.h -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_zdefs.h -@@ -272,9 +272,9 @@ extern void zcheck_tempv(int, doublecomplex *); - - /*! \brief BLAS */ - --extern int zgemm_(const char*, const char*, const int*, const int*, const int*, -- const doublecomplex*, const doublecomplex*, const int*, const doublecomplex*, -- const int*, const doublecomplex*, doublecomplex*, const int*); -+extern int zgemm_( char*, char*, int*, int*, int*, -+ doublecomplex*, doublecomplex*, int*, doublecomplex*, -+ int*, doublecomplex*, doublecomplex*, int*); - extern int ztrsv_(char*, char*, char*, int*, doublecomplex*, int*, - doublecomplex*, int*); - extern int ztrsm_(char*, char*, char*, char*, int*, int*, --- -2.25.1 - diff --git a/recipes/recipes_emscripten/scipy/patches/0008-make-int-return-values.patch b/recipes/recipes_emscripten/scipy/patches/0008-make-int-return-values.patch deleted file mode 100644 index 4b1470d34..000000000 --- a/recipes/recipes_emscripten/scipy/patches/0008-make-int-return-values.patch +++ /dev/null @@ -1,699 +0,0 @@ -From e96f9c5c27ac6dee8e793b334517a0799b8a3f15 Mon Sep 17 00:00:00 2001 -From: Joe Marshall -Date: Wed, 6 Apr 2022 21:25:13 -0700 -Subject: [PATCH 08/14] make int return values - -The return values of f2c functions are insignificant in most cases, so often it -is treated as returning void, when it really should return int (values are -"returned" by writing to pointers passed as an argument, but an obscure feature -known as alternative returns can cause the return value to be significant). - -There's a big change to scipy/linalg/_cython_wrapper_generators.py, which is -called on build to generate python wrappers for lapack and BLAS. The change -makes everything call direct to CLAPACK with the correct function signatures -and also fixes some fortran -> c linking oddities that occur because f2py assumes -different function signatures to f2c, which in turn creates different function -signatures compared to what has been done in CLAPACK. - -f2py is patched in numpy to make subroutines return int. - -emscripten is very strict about void vs int returns and function signatures, so -we change everything to return int from subroutines, and signatures are altered -to be consistent. ---- - scipy/_build_utils/src/wrap_dummy_g77_abi.f | 16 ---- - scipy/integrate/_odepackmodule.c | 6 +- - scipy/linalg/fblas_l1.pyf.src | 78 +++++++++++++------ - scipy/linalg/setup.py | 7 +- - scipy/optimize/_lsq/setup.py | 2 +- - .../linalg/_dsolve/SuperLU/SRC/cgsrfs.c | 7 -- - .../linalg/_dsolve/SuperLU/SRC/dgscon.c | 3 - - .../linalg/_dsolve/SuperLU/SRC/dgsrfs.c | 7 -- - .../_dsolve/SuperLU/SRC/ilu_ccopy_to_ucol.c | 2 - - .../_dsolve/SuperLU/SRC/ilu_cdrop_row.c | 9 --- - .../_dsolve/SuperLU/SRC/ilu_dcopy_to_ucol.c | 1 - - .../_dsolve/SuperLU/SRC/ilu_ddrop_row.c | 7 -- - .../_dsolve/SuperLU/SRC/ilu_scopy_to_ucol.c | 2 +- - .../_dsolve/SuperLU/SRC/ilu_sdrop_row.c | 7 -- - .../_dsolve/SuperLU/SRC/ilu_zcopy_to_ucol.c | 1 - - .../_dsolve/SuperLU/SRC/ilu_zdrop_row.c | 9 --- - .../_dsolve/SuperLU/SRC/scipy_slu_config.h | 8 ++ - .../linalg/_dsolve/SuperLU/SRC/sgsrfs.c | 7 -- - .../linalg/_dsolve/SuperLU/SRC/sgssvx.c | 7 +- - .../linalg/_dsolve/SuperLU/SRC/slu_dcomplex.h | 5 +- - .../linalg/_dsolve/SuperLU/SRC/slu_scomplex.h | 5 +- - .../linalg/_dsolve/SuperLU/SRC/slu_util.h | 1 - - .../linalg/_dsolve/SuperLU/SRC/zgsrfs.c | 7 -- - scipy/sparse/linalg/_dsolve/_superlu_utils.c | 4 +- - .../linalg/_eigen/arpack/ARPACK/SRC/debug.h | 20 ++--- - .../linalg/_eigen/arpack/ARPACK/SRC/stat.h | 26 +++---- - 26 files changed, 109 insertions(+), 145 deletions(-) - -diff --git a/scipy/_build_utils/src/wrap_dummy_g77_abi.f b/scipy/_build_utils/src/wrap_dummy_g77_abi.f -index caf99ac63..73cdebd96 100644 ---- a/scipy/_build_utils/src/wrap_dummy_g77_abi.f -+++ b/scipy/_build_utils/src/wrap_dummy_g77_abi.f -@@ -6,14 +6,6 @@ - WCDOTC = CDOTC( N, CX, INCX, CY, INCY ) - END FUNCTION - -- COMPLEX FUNCTION WCDOTU( N, CX, INCX, CY, INCY ) -- INTEGER INCX, INCY, N -- COMPLEX CX(*), CY(*) -- EXTERNAL CDOTU -- COMPLEX CDOTU -- WCDOTU = CDOTU( N, CX, INCX, CY, INCY ) -- END FUNCTION -- - DOUBLE COMPLEX FUNCTION WZDOTC( N, CX, INCX, CY, INCY ) - INTEGER INCX, INCY, N - DOUBLE COMPLEX CX(*), CY(*) -@@ -22,14 +14,6 @@ - WZDOTC = ZDOTC( N, CX, INCX, CY, INCY ) - END FUNCTION - -- DOUBLE COMPLEX FUNCTION WZDOTU( N, CX, INCX, CY, INCY ) -- INTEGER INCX, INCY, N -- DOUBLE COMPLEX CX(*), CY(*) -- EXTERNAL ZDOTU -- DOUBLE COMPLEX ZDOTU -- WZDOTU = ZDOTU( N, CX, INCX, CY, INCY ) -- END FUNCTION -- - COMPLEX FUNCTION WCLADIV( X, Y ) - COMPLEX X, Y - EXTERNAL CLADIV -diff --git a/scipy/integrate/_odepackmodule.c b/scipy/integrate/_odepackmodule.c -index 9974ae0f3..f74c379df 100644 ---- a/scipy/integrate/_odepackmodule.c -+++ b/scipy/integrate/_odepackmodule.c -@@ -158,13 +158,13 @@ typedef void lsoda_f_t(F_INT *n, double *t, double *y, double *ydot); - typedef int lsoda_jac_t(F_INT *n, double *t, double *y, F_INT *ml, F_INT *mu, - double *pd, F_INT *nrowpd); - --void LSODA(lsoda_f_t *f, F_INT *neq, double *y, double *t, double *tout, F_INT *itol, -+int LSODA(lsoda_f_t *f, F_INT *neq, double *y, double *t, double *tout, F_INT *itol, - double *rtol, double *atol, F_INT *itask, F_INT *istate, F_INT *iopt, - double *rwork, F_INT *lrw, F_INT *iwork, F_INT *liw, lsoda_jac_t *jac, - F_INT *jt); - - /* --void ode_function(int *n, double *t, double *y, double *ydot) -+void ode_function(int *n, double *t, double *y, double *ydot) - { - ydot[0] = -0.04*y[0] + 1e4*y[1]*y[2]; - ydot[2] = 3e7*y[1]*y[1]; -@@ -173,7 +173,7 @@ void ode_function(int *n, double *t, double *y, double *ydot) - } - */ - --void -+void - ode_function(F_INT *n, double *t, double *y, double *ydot) - { - /* -diff --git a/scipy/linalg/fblas_l1.pyf.src b/scipy/linalg/fblas_l1.pyf.src -index 89e50a990..0476e6a26 100644 ---- a/scipy/linalg/fblas_l1.pyf.src -+++ b/scipy/linalg/fblas_l1.pyf.src -@@ -279,14 +279,16 @@ end subroutine axpy - function sdot(n,x,offx,incx,y,offy,incy) result (xy) - ! Computes a vector-vector dot product. - -- fortranname sdot -+ callstatement sdot_return_value=(*f2py_func)(&n,x+offx,&incx,y+offy,&incy) -+ callprotoargument int*,float*,int*,float*,int* - -- callstatement (*f2py_func)(&sdot,&n,x+offx,&incx,y+offy,&incy) -- callprotoargument float*,F_INT*,float*,F_INT*,float*,F_INT* -+ fortranname F_FUNC(sdot,SDOT) -+ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -+ intent(c) sdot - - real dimension(*), intent(in) :: x - real dimension(*), intent(in) :: y -- real sdot,xy -+ double precision sdot,xy - integer optional, intent(in),check(incx>0||incx<0) :: incx = 1 - integer optional, intent(in),check(incy>0||incy<0) :: incy = 1 - integer optional, intent(in),depend(x) :: offx=0 -@@ -304,8 +306,12 @@ end function sdot - function ddot(n,x,offx,incx,y,offy,incy) result (xy) - ! Computes a vector-vector dot product. - -- callstatement (*f2py_func)(&ddot,&n,x+offx,&incx,y+offy,&incy) -- callprotoargument double*,F_INT*,double*,F_INT*,double*,F_INT* -+ callstatement ddot_return_value=(*f2py_func)(&n,x+offx,&incx,y+offy,&incy) -+ callprotoargument int*,double*,int*,double*,int* -+ -+ fortranname F_FUNC(ddot,ddot) -+ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -+ intent(c) ddot - - double precision dimension(*), intent(in) :: x - double precision dimension(*), intent(in) :: y -@@ -324,6 +330,7 @@ function ddot(n,x,offx,incx,y,offy,incy) result (xy) - end function ddot - - -++// in CLAPACK, cdotu and zdotu are void and return by pointer (as can't return complex* without allocation) - function dotu(n,x,offx,incx,y,offy,incy) result(xy) - - :: dotu, xy -@@ -335,6 +342,11 @@ function dotu(n,x,offx,incx,y,offy,incy) result(xy) - dimension(*),intent(in) :: x - dimension(*),intent(in) :: y - -++ fortranname F_FUNC(dotu,DOTU) -++ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -++ intent(c) dotu -++ -+ - integer optional, intent(in),check(incx>0||incx<0) :: incx = 1 - integer optional, intent(in),check(incy>0||incy<0) :: incy = 1 - -@@ -354,10 +366,12 @@ end function dotu - function dotc(n,x,offx,incx,y,offy,incy) result(xy) - - :: dotc, xy -- fortranname wdotc -+ callstatement dotc_return_value=(*f2py_func)(&n,x+offx,&incx,y+offy,&incy) -+ callprotoargument int*,*,int*,*,int* - -- callstatement (*f2py_func)(&dotc,&n,x+offx,&incx,y+offy,&incy) -- callprotoargument *,F_INT*,*,F_INT*,*,F_INT* -+ fortranname F_FUNC(dotc,DOTC) -+ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -+ intent(c) dotc - - dimension(*),intent(in) :: x - dimension(*),intent(in) :: y -@@ -379,10 +393,15 @@ end function dotc - - function nrm2(n,x,offx,incx) result(n2) - -- nrm2, n2 -+ n2 -+ double precision nrm2 - -- callstatement (*f2py_func)(&nrm2, &n,x+offx,&incx) -- callprotoargument *,F_INT*,*,F_INT* -+ callstatement nrm2_return_value=(*f2py_func)( &n,x+offx,&incx) -+ callprotoargument int*,*,int* -+ -+ fortranname F_FUNC(nrm2,NRM2) -+ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -+ intent(c) nrm2 - - dimension(*),intent(in) :: x - -@@ -399,10 +418,14 @@ end function nrm2 - - function nrm2(n,x,offx,incx) result(n2) - -- nrm2, n2 -+ callstatement nrm2_return_value=(*f2py_func)(&n,x+offx,&incx) -+ callprotoargument int*,*,int* - -- callstatement (*f2py_func)(&nrm2, &n,x+offx,&incx) -- callprotoargument *,F_INT*,*,F_INT* -+ double precision nrm2 -+ n2 -+ fortranname F_FUNC(nrm2,NRM2) -+ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -+ intent(c) nrm2 - - dimension(*),intent(in) :: x - -@@ -417,14 +440,20 @@ function nrm2(n,x,offx,incx) result(n2) - end function nrm2 - - --function asum(n,x,offx,incx) result (s) -+function asum(n,x,offx,incx) result (d) - ! Computes the sum of magnitudes of the vector elements - -- callstatement (*f2py_func)(&asum,&n,x+offx,&incx) -- callprotoargument *,F_INT*,*,F_INT* -+ callstatement asum_return_value=(*f2py_func)(&n,x+offx,&incx) -+ callprotoargument int*,*,int* -+ -+ double precision asum -+ fortranname F_FUNC(asum,ASUM) -+ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -+ intent(c) asum - - dimension(*), intent(in) :: x -- asum,s -+ s -+ double precision asum - integer optional, intent(in), check(incx>0||incx<0) :: incx = 1 - integer optional, intent(in), depend(x) :: offx=0 - check(offx>=0 && offxasum(n,x,offx,incx) result (s) - end function asum - - --function asum(n,x,offx,incx) result (s) -+function asum(n,x,offx,incx) result (d) - ! Computes the sum of magnitudes of the vector elements - -- callstatement (*f2py_func)(&asum,&n,x+offx,&incx) -- callprotoargument *,F_INT*,*,F_INT* -+ callstatement asum_return_value=(*f2py_func)(&n,x+offx,&incx) -+ callprotoargument int*,*,int* -+ -+ asum -+ fortranname F_FUNC(asum,ASUM) -+ ! This following line is to avoid Fortran wrappers - fix for CLAPACK -+ intent(c) asum - - dimension(*), intent(in) :: x - asum,s -diff --git a/scipy/linalg/setup.py b/scipy/linalg/setup.py -index d384081a2..d318fa8b8 100644 ---- a/scipy/linalg/setup.py -+++ b/scipy/linalg/setup.py -@@ -45,9 +45,10 @@ def configuration(parent_package='', top_path=None): - # flapack: - sources = ['flapack.pyf.src', 'lapack_extras.f'] - sources += get_g77_abi_wrappers(lapack_opt) -- dep_pfx = join('src', 'lapack_deprecations') -- deprecated_lapack_routines = [join(dep_pfx, c + 'gegv.f') for c in 'cdsz'] -- sources += deprecated_lapack_routines -+# CLAPACK still has these routines (with conflicting signatures) -+# dep_pfx = join('src', 'lapack_deprecations') -+# deprecated_lapack_routines = [join(dep_pfx, c + 'gegv.f') for c in 'cdsz'] -+# sources += deprecated_lapack_routines - depends = ['flapack_gen.pyf.src', - 'flapack_gen_banded.pyf.src', - 'flapack_gen_tri.pyf.src', -diff --git a/scipy/optimize/_lsq/setup.py b/scipy/optimize/_lsq/setup.py -index 7ce589c0c..6412886e0 100644 ---- a/scipy/optimize/_lsq/setup.py -+++ b/scipy/optimize/_lsq/setup.py -@@ -3,7 +3,7 @@ def configuration(parent_package='', top_path=None): - from numpy.distutils.misc_util import Configuration - config = Configuration('_lsq', parent_package, top_path) - config.add_extension('givens_elimination', -- sources=['givens_elimination.c']) -+ sources=['givens_elimination.c'],include_dirs=['../../linalg']) - return config - - -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/cgsrfs.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/cgsrfs.c -index a7dd2f8fd..3b2544d4f 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/cgsrfs.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/cgsrfs.c -@@ -171,13 +171,6 @@ cgsrfs(trans_t trans, SuperMatrix *A, SuperMatrix *L, SuperMatrix *U, - int isave[3]; - - extern int clacon2_(int *, complex *, complex *, float *, int *, int []); --#ifdef _CRAY -- extern int CCOPY(int *, complex *, int *, complex *, int *); -- extern int CSAXPY(int *, complex *, complex *, int *, complex *, int *); --#else -- extern int ccopy_(int *, complex *, int *, complex *, int *); -- extern int caxpy_(int *, complex *, complex *, int *, complex *, int *); --#endif - - Astore = A->Store; - Aval = Astore->nzval; -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgscon.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgscon.c -index d51f24c3b..b76dc7a78 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgscon.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgscon.c -@@ -92,10 +92,7 @@ dgscon(char *norm, SuperMatrix *L, SuperMatrix *U, - double *work; - int *iwork; - int isave[3]; -- extern int drscl_(int *, double *, double *, int *); -- - extern int dlacon2_(int *, double *, double *, int *, double *, int *, int []); -- - - /* Test the input parameters. */ - *info = 0; -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgsrfs.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgsrfs.c -index d37226035..69f6bd8cf 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgsrfs.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgsrfs.c -@@ -171,13 +171,6 @@ dgsrfs(trans_t trans, SuperMatrix *A, SuperMatrix *L, SuperMatrix *U, - int isave[3]; - - extern int dlacon2_(int *, double *, double *, int *, double *, int *, int []); --#ifdef _CRAY -- extern int SCOPY(int *, double *, int *, double *, int *); -- extern int SSAXPY(int *, double *, double *, int *, double *, int *); --#else -- extern int dcopy_(int *, double *, int *, double *, int *); -- extern int daxpy_(int *, double *, double *, int *, double *, int *); --#endif - - Astore = A->Store; - Aval = Astore->nzval; -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ccopy_to_ucol.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ccopy_to_ucol.c -index 027b9260f..e1299bed2 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ccopy_to_ucol.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ccopy_to_ucol.c -@@ -26,8 +26,6 @@ at the top-level directory. - int num_drop_U; - #endif - --extern void ccopy_(int *, complex [], int *, complex [], int *); -- - #if 0 - static complex *A; /* used in _compare_ only */ - static int _compare_(const void *a, const void *b) -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_cdrop_row.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_cdrop_row.c -index 09b8a937d..fdd6064de 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_cdrop_row.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_cdrop_row.c -@@ -23,15 +23,6 @@ at the top-level directory. - #include - #include "slu_cdefs.h" - --extern void cswap_(int *, complex [], int *, complex [], int *); --extern void caxpy_(int *, complex *, complex [], int *, complex [], int *); --extern void ccopy_(int *, complex [], int *, complex [], int *); --extern float scasum_(int *, complex *, int *); --extern float scnrm2_(int *, complex *, int *); --extern void scopy_(int *, float [], int *, float [], int *); --extern double dnrm2_(int *, double [], int *); --extern int icamax_(int *, complex [], int *); -- - static float *A; /* used in _compare_ only */ - static int _compare_(const void *a, const void *b) - { -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_dcopy_to_ucol.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_dcopy_to_ucol.c -index 2bb889c39..658e7e71e 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_dcopy_to_ucol.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_dcopy_to_ucol.c -@@ -26,7 +26,6 @@ at the top-level directory. - int num_drop_U; - #endif - --extern void dcopy_(int *, double [], int *, double [], int *); - - #if 0 - static double *A; /* used in _compare_ only */ -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ddrop_row.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ddrop_row.c -index f25b5085a..19afee76c 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ddrop_row.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_ddrop_row.c -@@ -23,13 +23,6 @@ at the top-level directory. - #include - #include "slu_ddefs.h" - --extern void dswap_(int *, double [], int *, double [], int *); --extern void daxpy_(int *, double *, double [], int *, double [], int *); --extern void dcopy_(int *, double [], int *, double [], int *); --extern double dasum_(int *, double *, int *); --extern double dnrm2_(int *, double *, int *); --extern double dnrm2_(int *, double [], int *); --extern int idamax_(int *, double [], int *); - - static double *A; /* used in _compare_ only */ - static int _compare_(const void *a, const void *b) -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_scopy_to_ucol.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_scopy_to_ucol.c -index 6dc0460c1..994224c35 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_scopy_to_ucol.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_scopy_to_ucol.c -@@ -26,7 +26,7 @@ at the top-level directory. - int num_drop_U; - #endif - --extern void scopy_(int *, float [], int *, float [], int *); -+extern int scopy_(int *, float [], int *, float [], int *); - - #if 0 - static float *A; /* used in _compare_ only */ -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_sdrop_row.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_sdrop_row.c -index 836ee5450..8d1368838 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_sdrop_row.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_sdrop_row.c -@@ -23,13 +23,6 @@ at the top-level directory. - #include - #include "slu_sdefs.h" - --extern void sswap_(int *, float [], int *, float [], int *); --extern void saxpy_(int *, float *, float [], int *, float [], int *); --extern void scopy_(int *, float [], int *, float [], int *); --extern float sasum_(int *, float *, int *); --extern float snrm2_(int *, float *, int *); --extern double dnrm2_(int *, double [], int *); --extern int isamax_(int *, float [], int *); - - static float *A; /* used in _compare_ only */ - static int _compare_(const void *a, const void *b) -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zcopy_to_ucol.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zcopy_to_ucol.c -index e7847a37d..9c1f02e09 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zcopy_to_ucol.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zcopy_to_ucol.c -@@ -26,7 +26,6 @@ at the top-level directory. - int num_drop_U; - #endif - --extern void zcopy_(int *, doublecomplex [], int *, doublecomplex [], int *); - - #if 0 - static doublecomplex *A; /* used in _compare_ only */ -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zdrop_row.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zdrop_row.c -index 2de1226ef..362e18210 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zdrop_row.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zdrop_row.c -@@ -23,15 +23,6 @@ at the top-level directory. - #include - #include "slu_zdefs.h" - --extern void zswap_(int *, doublecomplex [], int *, doublecomplex [], int *); --extern void zaxpy_(int *, doublecomplex *, doublecomplex [], int *, doublecomplex [], int *); --extern void zcopy_(int *, doublecomplex [], int *, doublecomplex [], int *); --extern double dzasum_(int *, doublecomplex *, int *); --extern double dznrm2_(int *, doublecomplex *, int *); --extern double dnrm2_(int *, double [], int *); --extern void dcopy_(int *, double [], int *, double [], int *); --extern int izamax_(int *, doublecomplex [], int *); -- - static double *A; /* used in _compare_ only */ - static int _compare_(const void *a, const void *b) - { -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/scipy_slu_config.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/scipy_slu_config.h -index 5afc93b5d..1a2c4ca36 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/scipy_slu_config.h -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/scipy_slu_config.h -@@ -3,6 +3,14 @@ - - #include - -+#include"f2c.h" -+#define integer int -+#define logical int -+#include"clapack.h" -+#undef integer -+#undef logical -+ -+ - /* - * Support routines - */ -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgsrfs.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgsrfs.c -index 5faab1dfb..7380eb6cc 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgsrfs.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgsrfs.c -@@ -171,13 +171,6 @@ sgsrfs(trans_t trans, SuperMatrix *A, SuperMatrix *L, SuperMatrix *U, - int isave[3]; - - extern int slacon2_(int *, float *, float *, int *, float *, int *, int []); --#ifdef _CRAY -- extern int SCOPY(int *, float *, int *, float *, int *); -- extern int SSAXPY(int *, float *, float *, int *, float *, int *); --#else -- extern int scopy_(int *, float *, int *, float *, int *); -- extern int saxpy_(int *, float *, float *, int *, float *, int *); --#endif - - Astore = A->Store; - Aval = Astore->nzval; -diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgssvx.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgssvx.c -index 7ee2e77ea..d13914e04 100644 ---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgssvx.c -+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgssvx.c -@@ -21,6 +21,8 @@ at the top-level directory. - */ - #include "slu_sdefs.h" - -+extern float slangs(char *, SuperMatrix *); -+ - /*! \brief - * - *
-@@ -378,8 +380,6 @@ sgssvx(superlu_options_t *options, SuperMatrix *A, int *perm_c, int *perm_r,
-     double    t0;      /* temporary time */
-     double    *utime;
- 
--    /* External functions */
--    extern float slangs(char *, SuperMatrix *);
- 
-     Bstore = B->Store;
-     Xstore = X->Store;
-@@ -579,7 +579,8 @@ printf("dgssvx: Fact=%4d, Trans=%4d, equed=%c\n",
-         } else {
- 	    *(unsigned char *)norm = 'I';
-         }
--        anorm = slangs(norm, AA);
-+        anorm = slangs(norm, AA);    /* External functions */
-+        extern float slangs(char *, SuperMatrix *);
-         sgscon(norm, L, U, anorm, rcond, stat, &info1);
-         utime[RCOND] = SuperLU_timer_() - t0;
-     }
-diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_dcomplex.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_dcomplex.h
-index 67e83bcc7..e5757d5c4 100644
---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_dcomplex.h
-+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_dcomplex.h
-@@ -28,7 +28,10 @@ at the top-level directory.
- #ifndef DCOMPLEX_INCLUDE
- #define DCOMPLEX_INCLUDE
- 
--typedef struct { double r, i; } doublecomplex;
-+#include"scipy_slu_config.h"
-+
-+// defined in clapack
-+//typedef struct { double r, i; } doublecomplex;
- 
- 
- /* Macro definitions */
-diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_scomplex.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_scomplex.h
-index 5c9aa7058..a10f9a52f 100644
---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_scomplex.h
-+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_scomplex.h
-@@ -27,8 +27,9 @@ at the top-level directory.
- 
- #ifndef SCOMPLEX_INCLUDE
- #define SCOMPLEX_INCLUDE
--
--typedef struct { float r, i; } complex;
-+#include"scipy_slu_config.h"
-+// defined in  CLAPACK
-+//typedef struct { float r, i; } complex;
- 
- 
- /* Macro definitions */
-diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_util.h b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_util.h
-index 42bab985d..936db381d 100644
---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_util.h
-+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slu_util.h
-@@ -398,7 +398,6 @@ extern int     spcoletree (int *, int *, int *, int, int, int *);
- extern int     *TreePostorder (int, int *);
- extern double  SuperLU_timer_ ();
- extern int     sp_ienv (int);
--extern int     xerbla_ (char *, int *);
- extern void    ifill (int *, int, int);
- extern void    snode_profile (int, int *);
- extern void    super_stats (int, int *);
-diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/zgsrfs.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/zgsrfs.c
-index 02b63df30..71209b3b7 100644
---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/zgsrfs.c
-+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/zgsrfs.c
-@@ -171,13 +171,6 @@ zgsrfs(trans_t trans, SuperMatrix *A, SuperMatrix *L, SuperMatrix *U,
-     int      isave[3];
- 
-     extern int zlacon2_(int *, doublecomplex *, doublecomplex *, double *, int *, int []);
--#ifdef _CRAY
--    extern int CCOPY(int *, doublecomplex *, int *, doublecomplex *, int *);
--    extern int CSAXPY(int *, doublecomplex *, doublecomplex *, int *, doublecomplex *, int *);
--#else
--    extern int zcopy_(int *, doublecomplex *, int *, doublecomplex *, int *);
--    extern int zaxpy_(int *, doublecomplex *, doublecomplex *, int *, doublecomplex *, int *);
--#endif
- 
-     Astore = A->Store;
-     Aval   = Astore->nzval;
-diff --git a/scipy/sparse/linalg/_dsolve/_superlu_utils.c b/scipy/sparse/linalg/_dsolve/_superlu_utils.c
-index 49b928a43..082268771 100644
---- a/scipy/sparse/linalg/_dsolve/_superlu_utils.c
-+++ b/scipy/sparse/linalg/_dsolve/_superlu_utils.c
-@@ -243,12 +243,12 @@ int input_error(char *srname, int *info)
-  * Stubs for Harwell Subroutine Library functions that SuperLU tries to call.
-  */
- 
--void mc64id_(int *a)
-+int mc64id_(int *a)
- {
-     superlu_python_module_abort("chosen functionality not available");
- }
- 
--void mc64ad_(int *a, int *b, int *c, int d[], int e[], double f[],
-+int mc64ad_(int *a, int *b, int *c, int d[], int e[], double f[],
- 	     int *g, int h[], int *i, int j[], int *k, double l[],
- 	     int m[], int n[])
- {
-diff --git a/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/debug.h b/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/debug.h
-index 5eb0bb1b3..81a6efafb 100644
---- a/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/debug.h
-+++ b/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/debug.h
-@@ -1,16 +1,16 @@
--c
-+
- c\SCCS Information: @(#) 
- c FILE: debug.h   SID: 2.3   DATE OF SID: 11/16/95   RELEASE: 2 
- c
- c     %---------------------------------%
- c     | See debug.doc for documentation |
- c     %---------------------------------%
--      integer  logfil, ndigit, mgetv0,
--     &         msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,
--     &         mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,
--     &         mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd
--      common /debug/ 
--     &         logfil, ndigit, mgetv0,
--     &         msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,
--     &         mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,
--     &         mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd
-+c      integer  logfil, ndigit, mgetv0,
-+c     &         msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,
-+c     &         mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,
-+c     &         mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd
-+c      common /debug/
-+c     &         logfil, ndigit, mgetv0,
-+c     &         msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,
-+c     &         mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,
-+c     &         mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd
-diff --git a/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/stat.h b/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/stat.h
-index 66a8e9f87..81d49c3bd 100644
---- a/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/stat.h
-+++ b/scipy/sparse/linalg/_eigen/arpack/ARPACK/SRC/stat.h
-@@ -5,17 +5,17 @@ c
- c\SCCS Information: @(#) 
- c FILE: stat.h   SID: 2.2   DATE OF SID: 11/16/95   RELEASE: 2 
- c
--      real       t0, t1, t2, t3, t4, t5
--      save       t0, t1, t2, t3, t4, t5
-+c      real       t0, t1, t2, t3, t4, t5
-+c      save       t0, t1, t2, t3, t4, t5
- c
--      integer    nopx, nbx, nrorth, nitref, nrstrt
--      real       tsaupd, tsaup2, tsaitr, tseigt, tsgets, tsapps, tsconv,
--     &           tnaupd, tnaup2, tnaitr, tneigh, tngets, tnapps, tnconv,
--     &           tcaupd, tcaup2, tcaitr, tceigh, tcgets, tcapps, tcconv,
--     &           tmvopx, tmvbx, tgetv0, titref, trvec
--      common /timing/ 
--     &           nopx, nbx, nrorth, nitref, nrstrt,
--     &           tsaupd, tsaup2, tsaitr, tseigt, tsgets, tsapps, tsconv,
--     &           tnaupd, tnaup2, tnaitr, tneigh, tngets, tnapps, tnconv,
--     &           tcaupd, tcaup2, tcaitr, tceigh, tcgets, tcapps, tcconv,
--     &           tmvopx, tmvbx, tgetv0, titref, trvec
-+c      integer    nopx, nbx, nrorth, nitref, nrstrt
-+c      real       tsaupd, tsaup2, tsaitr, tseigt, tsgets, tsapps, tsconv,
-+c     &           tnaupd, tnaup2, tnaitr, tneigh, tngets, tnapps, tnconv,
-+c     &           tcaupd, tcaup2, tcaitr, tceigh, tcgets, tcapps, tcconv,
-+c     &           tmvopx, tmvbx, tgetv0, titref, trvec
-+c      common /timing/
-+c     &           nopx, nbx, nrorth, nitref, nrstrt,
-+c     &           tsaupd, tsaup2, tsaitr, tseigt, tsgets, tsapps, tsconv,
-+c     &           tnaupd, tnaup2, tnaitr, tneigh, tngets, tnapps, tnconv,
-+c     &           tcaupd, tcaup2, tcaitr, tceigh, tcgets, tcapps, tcconv,
-+c     &           tmvopx, tmvbx, tgetv0, titref, trvec
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch b/recipes/recipes_emscripten/scipy/patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch
deleted file mode 100644
index c5817e3d4..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From aa5efca2d530f6b8be78151a5873595514b75bf3 Mon Sep 17 00:00:00 2001
-From: Hood Chatham 
-Date: Sun, 26 Dec 2021 07:34:40 -0800
-Subject: [PATCH 09/14] Rename _page_trend_test.py to prevent test unvendoring
-
-unvendor_tests will unvendor any file that ends in _test.py.
-Prevent that by changing the name of this file.
----
- scipy/stats/__init__.py                                   | 2 +-
- scipy/stats/{_page_trend_test.py => _page_trend_test_.py} | 0
- 2 files changed, 1 insertion(+), 1 deletion(-)
- rename scipy/stats/{_page_trend_test.py => _page_trend_test_.py} (100%)
-
-diff --git a/scipy/stats/__init__.py b/scipy/stats/__init__.py
-index f416e1a4f..2268caa3e 100644
---- a/scipy/stats/__init__.py
-+++ b/scipy/stats/__init__.py
-@@ -466,7 +466,7 @@ from ._bootstrap import bootstrap, BootstrapDegenerateDistributionWarning
- from ._entropy import *
- from ._hypotests import *
- from ._rvs_sampling import rvs_ratio_uniforms, NumericalInverseHermite  # noqa
--from ._page_trend_test import page_trend_test
-+from ._page_trend_test_ import page_trend_test
- from ._mannwhitneyu import mannwhitneyu
- 
- # Deprecated namespaces, to be removed in v2.0.0
-diff --git a/scipy/stats/_page_trend_test.py b/scipy/stats/_page_trend_test_.py
-similarity index 100%
-rename from scipy/stats/_page_trend_test.py
-rename to scipy/stats/_page_trend_test_.py
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/0010-sasum-returns-double-not-float.patch b/recipes/recipes_emscripten/scipy/patches/0010-sasum-returns-double-not-float.patch
deleted file mode 100644
index e4bafcb8b..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0010-sasum-returns-double-not-float.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5201d52021f584d625bf92dc8bf3094d879d0ad5 Mon Sep 17 00:00:00 2001
-From: Hood Chatham 
-Date: Sat, 18 Dec 2021 12:31:51 -0800
-Subject: [PATCH 10/14] sasum returns double not float
-
----
- scipy/sparse/linalg/_dsolve/SuperLU/SRC/slacon2.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slacon2.c b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slacon2.c
-index 50efe7849..c176fddb4 100644
---- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slacon2.c
-+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/slacon2.c
-@@ -104,7 +104,7 @@ slacon2_(int *n, float *v, float *x, int *isgn, float *est, int *kase, int isave
-     extern int SCOPY(int *, float *, int *, float *, int *);
- #else
-     extern int isamax_(int *, float *, int *);
--    extern float sasum_(int *, float *, int *);
-+    extern double sasum_(int *, float *, int *);
-     extern int scopy_(int *, float *, int *, float *, int *);
- #endif
- #define d_sign(a, b) (b >= 0 ? fabs(a) : -fabs(a))    /* Copy sign */
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/0011-skip-fortran-fails-to-link.patch b/recipes/recipes_emscripten/scipy/patches/0011-skip-fortran-fails-to-link.patch
deleted file mode 100644
index 321a2f064..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0011-skip-fortran-fails-to-link.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 4a428bf011ab49fb44aeff962cc7bef63d9aa8a6 Mon Sep 17 00:00:00 2001
-From: Hood Chatham 
-Date: Sat, 25 Dec 2021 15:08:18 -0800
-Subject: [PATCH 11/14] skip fortran fails to link
-
-These are tests and they have both void vs int return value problems and implicit
-function argument cast problems. Not worth fixing for tests.
----
- scipy/integrate/setup.py | 6 ------
- scipy/io/setup.py        | 3 ---
- 2 files changed, 9 deletions(-)
-
-diff --git a/scipy/integrate/setup.py b/scipy/integrate/setup.py
-index 1ba82d18c..dd298a480 100644
---- a/scipy/integrate/setup.py
-+++ b/scipy/integrate/setup.py
-@@ -95,12 +95,6 @@ def configuration(parent_package='',top_path=None):
-     # Fortran+f2py extension module for testing odeint.
-     cfg = combine_dict(lapack_opt,
-                        libraries=['lsoda', 'mach'])
--    ext = config.add_extension('_test_odeint_banded',
--                               sources=odeint_banded_test_src,
--                               depends=(lsoda_src + mach_src),
--                               f2py_options=f2py_options,
--                               **cfg)
--    ext._pre_build_hook = pre_build_hook
- 
-     config.add_subpackage('_ivp')
- 
-diff --git a/scipy/io/setup.py b/scipy/io/setup.py
-index 0b936ceed..bf0c16d6c 100644
---- a/scipy/io/setup.py
-+++ b/scipy/io/setup.py
-@@ -3,9 +3,6 @@ def configuration(parent_package='',top_path=None):
-     from numpy.distutils.misc_util import Configuration
-     config = Configuration('io', parent_package, top_path)
- 
--    config.add_extension('_test_fortran',
--                         sources=['_test_fortran.pyf', '_test_fortran.f'])
--
-     config.add_data_dir('tests')
-     config.add_subpackage('matlab')
-     config.add_subpackage('arff')
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/0012-Disable-lapack-detection.patch b/recipes/recipes_emscripten/scipy/patches/0012-Disable-lapack-detection.patch
deleted file mode 100644
index cc7b9b9c6..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0012-Disable-lapack-detection.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1e8a128867f7655c7e516be38fba6bdcc4990143 Mon Sep 17 00:00:00 2001
-From: Hood Chatham 
-Date: Wed, 6 Apr 2022 21:52:29 -0700
-Subject: [PATCH 12/14] Disable lapack detection
-
----
- scipy/sparse/linalg/_propack/setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scipy/sparse/linalg/_propack/setup.py b/scipy/sparse/linalg/_propack/setup.py
-index b593cbca9..824980e24 100644
---- a/scipy/sparse/linalg/_propack/setup.py
-+++ b/scipy/sparse/linalg/_propack/setup.py
-@@ -21,7 +21,7 @@ def configuration(parent_package='', top_path=None):
-                                     get_g77_abi_wrappers,
-                                     needs_g77_abi_wrapper)
- 
--    lapack_opt = get_info('lapack_opt')
-+    lapack_opt = {"extra_link_args":""}
-     pre_build_hook = gfortran_legacy_flag_hook
-     f2py_options = None
- 
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/0013-Add-extra-END-to-prini.f.patch b/recipes/recipes_emscripten/scipy/patches/0013-Add-extra-END-to-prini.f.patch
deleted file mode 100644
index 0ab688d28..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0013-Add-extra-END-to-prini.f.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 1bfafd7da4804e5d386159332365ae5e8090341a Mon Sep 17 00:00:00 2001
-From: Hood Chatham 
-Date: Thu, 7 Apr 2022 10:41:26 -0700
-Subject: [PATCH 13/14] Add extra END to prini.f
-
----
- scipy/linalg/src/id_dist/src/prini.f | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/scipy/linalg/src/id_dist/src/prini.f b/scipy/linalg/src/id_dist/src/prini.f
-index 33a0bc8d3..f93289925 100644
---- a/scipy/linalg/src/id_dist/src/prini.f
-+++ b/scipy/linalg/src/id_dist/src/prini.f
-@@ -110,4 +110,5 @@ C
-      1     WRITE(IQ,1800) (MES(I),I=1,I1)
-  1800 FORMAT(1X,80A1)
-          RETURN
-+         END
-          END
-\ No newline at end of file
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch b/recipes/recipes_emscripten/scipy/patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch
deleted file mode 100644
index e62ba585c..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 2fd75af054a9bb8324a3bd50957c3e059868eb07 Mon Sep 17 00:00:00 2001
-From: Hood Chatham 
-Date: Thu, 7 Apr 2022 11:02:29 -0700
-Subject: [PATCH 14/14] BUG Fix signature of D_IIR_forback(1,2)
-
-The precision parameter has type float but it is declared in `_splinemodule.c`
-with type double.
----
- scipy/signal/_splinemodule.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scipy/signal/_splinemodule.c b/scipy/signal/_splinemodule.c
-index f66dd79aa..d4bcc1460 100644
---- a/scipy/signal/_splinemodule.c
-+++ b/scipy/signal/_splinemodule.c
-@@ -15,14 +15,14 @@ extern int S_separable_2Dconvolve_mirror(float*,float*,int,int,float*,float*,int
- 
- extern int D_cubic_spline2D(double*,double*,int,int,double,npy_intp*,npy_intp*,double);
- extern int D_quadratic_spline2D(double*,double*,int,int,double,npy_intp*,npy_intp*,double);
--extern int D_IIR_forback1(double,double,double*,double*,int,int,int,double);
--extern int D_IIR_forback2(double,double,double*,double*,int,int,int,double);
-+extern int D_IIR_forback1(double,double,double*,double*,int,int,int,float);
-+extern int D_IIR_forback2(double,double,double*,double*,int,int,int,float);
- extern int D_separable_2Dconvolve_mirror(double*,double*,int,int,double*,double*,int,int,npy_intp*,npy_intp*);
- 
- #ifdef __GNUC__
- extern int C_IIR_forback1(__complex__ float,__complex__ float,__complex__ float*,__complex__ float*,int,int,int,float);
- extern int C_separable_2Dconvolve_mirror(__complex__ float*,__complex__ float*,int,int,__complex__ float*,__complex__ float*,int,int,npy_intp*,npy_intp*);
--extern int Z_IIR_forback1(__complex__ double,__complex__ double,__complex__ double*,__complex__ double*,int,int,int,double);
-+extern int Z_IIR_forback1(__complex__ double,__complex__ double,__complex__ double*,__complex__ double*,int,int,int,float);
- extern int Z_separable_2Dconvolve_mirror(__complex__ double*,__complex__ double*,int,int,__complex__ double*,__complex__ double*,int,int,npy_intp*,npy_intp*);
- #endif
- 
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/0015-disable-longdouble.patch b/recipes/recipes_emscripten/scipy/patches/0015-disable-longdouble.patch
deleted file mode 100644
index 208437788..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0015-disable-longdouble.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/scipy/stats/_boost/include/code_gen.py b/scipy/stats/_boost/include/code_gen.py
-index 3d1faa2ba..548a2f4db 100644
---- a/scipy/stats/_boost/include/code_gen.py
-+++ b/scipy/stats/_boost/include/code_gen.py
-@@ -52,7 +52,7 @@ def _ufunc_gen(scipy_dist: str, types: list, ctor_args: tuple,
-     boost_hdr_name = boost_dist.split('_distribution')[0]
-     unique_num_inputs = set({m.num_inputs for m in methods})
-     has_NPY_FLOAT16 = 'NPY_FLOAT16' in types
--    has_NPY_LONGDOUBLE = 'NPY_LONGDOUBLE' in types
-+    has_NPY_LONGDOUBLE = False #'NPY_LONGDOUBLE' in types
-     line_joiner = ',\n    ' + ' '*12
-     num_types = len(types)
-     loop_fun = 'PyUFunc_T'
-@@ -112,7 +112,7 @@ def _ufunc_gen(scipy_dist: str, types: list, ctor_args: tuple,
- 
-             for jj, T in enumerate(types):
-                 ctype = {
--                    'NPY_LONGDOUBLE': 'longdouble',
-+                    # 'NPY_LONGDOUBLE': 'longdouble',
-                     'NPY_DOUBLE': 'double',
-                     'NPY_FLOAT': 'float',
-                     'NPY_FLOAT16': 'npy_half',
-@@ -168,7 +168,7 @@ if __name__ == '__main__':
-     for b, s in _klass_mapper.items():
-         _ufunc_gen(
-             scipy_dist=s.scipy_name,
--            types=['NPY_FLOAT', 'NPY_DOUBLE', 'NPY_LONGDOUBLE'],
-+            types=['NPY_FLOAT', 'NPY_DOUBLE'],
-             ctor_args=s.ctor_args,
-             filename=f'{src_dir}/{s.scipy_name}_ufunc.pyx',
-             boost_dist=f'{b}_distribution',
diff --git a/recipes/recipes_emscripten/scipy/patches/0016-disable-pthread-pypocketfft.patch b/recipes/recipes_emscripten/scipy/patches/0016-disable-pthread-pypocketfft.patch
deleted file mode 100644
index 8515fae99..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0016-disable-pthread-pypocketfft.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/scipy/fft/_pocketfft/setup.py b/scipy/fft/_pocketfft/setup.py
-index 7e4456501..f5c682986 100644
---- a/scipy/fft/_pocketfft/setup.py
-+++ b/scipy/fft/_pocketfft/setup.py
-@@ -11,9 +11,9 @@ def pre_build_hook(build_ext, ext):
-         args.append('/EHsc')
-     else:
-         # Use pthreads if available
--        has_pthreads = try_compile(cc, code='#include \n'
--                                   'int main(int argc, char **argv) {}')
--        if has_pthreads:
-+        # has_pthreads = try_compile(cc, code='#include \n'
-+        #                            'int main(int argc, char **argv) {}')
-+        if False:
-             ext.define_macros.append(('POCKETFFT_PTHREADS', None))
-             if has_flag(cc, '-pthread'):
-                 args.append('-pthread')
diff --git a/recipes/recipes_emscripten/scipy/patches/0017-load-clapack-shared-lib.patch b/recipes/recipes_emscripten/scipy/patches/0017-load-clapack-shared-lib.patch
deleted file mode 100644
index 3b7f2e69b..000000000
--- a/recipes/recipes_emscripten/scipy/patches/0017-load-clapack-shared-lib.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/scipy/linalg/lapack.py b/scipy/linalg/lapack.py
-index 9850d80c4..09e670337 100644
---- a/scipy/linalg/lapack.py
-+++ b/scipy/linalg/lapack.py
-@@ -815,6 +815,11 @@ All functions
- 
- import numpy as _np
- from .blas import _get_funcs, _memoize_get_funcs
-+
-+import ctypes
-+import sys
-+ctypes.CDLL('clapack_all.so', mode=ctypes.RTLD_GLOBAL)
-+
- from scipy.linalg import _flapack
- from re import compile as regex_compile
- try:
diff --git a/recipes/recipes_emscripten/scipy/patches/LICENSE b/recipes/recipes_emscripten/scipy/patches/LICENSE
deleted file mode 100644
index a612ad981..000000000
--- a/recipes/recipes_emscripten/scipy/patches/LICENSE
+++ /dev/null
@@ -1,373 +0,0 @@
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
-    means each individual or legal entity that creates, contributes to
-    the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
-    means the combination of the Contributions of others (if any) used
-    by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
-    means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
-    means Source Code Form to which the initial Contributor has attached
-    the notice in Exhibit A, the Executable Form of such Source Code
-    Form, and Modifications of such Source Code Form, in each case
-    including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
-    means
-
-    (a) that the initial Contributor has attached the notice described
-        in Exhibit B to the Covered Software; or
-
-    (b) that the Covered Software was made available under the terms of
-        version 1.1 or earlier of the License, but not also under the
-        terms of a Secondary License.
-
-1.6. "Executable Form"
-    means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
-    means a work that combines Covered Software with other material, in
-    a separate file or files, that is not Covered Software.
-
-1.8. "License"
-    means this document.
-
-1.9. "Licensable"
-    means having the right to grant, to the maximum extent possible,
-    whether at the time of the initial grant or subsequently, any and
-    all of the rights conveyed by this License.
-
-1.10. "Modifications"
-    means any of the following:
-
-    (a) any file in Source Code Form that results from an addition to,
-        deletion from, or modification of the contents of Covered
-        Software; or
-
-    (b) any new file in Source Code Form that contains any Covered
-        Software.
-
-1.11. "Patent Claims" of a Contributor
-    means any patent claim(s), including without limitation, method,
-    process, and apparatus claims, in any patent Licensable by such
-    Contributor that would be infringed, but for the grant of the
-    License, by the making, using, selling, offering for sale, having
-    made, import, or transfer of either its Contributions or its
-    Contributor Version.
-
-1.12. "Secondary License"
-    means either the GNU General Public License, Version 2.0, the GNU
-    Lesser General Public License, Version 2.1, the GNU Affero General
-    Public License, Version 3.0, or any later versions of those
-    licenses.
-
-1.13. "Source Code Form"
-    means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
-    means an individual or a legal entity exercising rights under this
-    License. For legal entities, "You" includes any entity that
-    controls, is controlled by, or is under common control with You. For
-    purposes of this definition, "control" means (a) the power, direct
-    or indirect, to cause the direction or management of such entity,
-    whether by contract or otherwise, or (b) ownership of more than
-    fifty percent (50%) of the outstanding shares or beneficial
-    ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
-    Licensable by such Contributor to use, reproduce, make available,
-    modify, display, perform, distribute, and otherwise exploit its
-    Contributions, either on an unmodified basis, with Modifications, or
-    as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
-    for sale, have made, import, and otherwise transfer either its
-    Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
-    or
-
-(b) for infringements caused by: (i) Your and any other third party's
-    modifications of Covered Software, or (ii) the combination of its
-    Contributions with other software (except as part of its Contributor
-    Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
-    its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
-    Form, as described in Section 3.1, and You must inform recipients of
-    the Executable Form how they can obtain a copy of such Source Code
-    Form by reasonable means in a timely manner, at a charge no more
-    than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
-    License, or sublicense it under different terms, provided that the
-    license for the Executable Form does not attempt to limit or alter
-    the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-*                                                                      *
-*  6. Disclaimer of Warranty                                           *
-*  -------------------------                                           *
-*                                                                      *
-*  Covered Software is provided under this License on an "as is"       *
-*  basis, without warranty of any kind, either expressed, implied, or  *
-*  statutory, including, without limitation, warranties that the       *
-*  Covered Software is free of defects, merchantable, fit for a        *
-*  particular purpose or non-infringing. The entire risk as to the     *
-*  quality and performance of the Covered Software is with You.        *
-*  Should any Covered Software prove defective in any respect, You     *
-*  (not any Contributor) assume the cost of any necessary servicing,   *
-*  repair, or correction. This disclaimer of warranty constitutes an   *
-*  essential part of this License. No use of any Covered Software is   *
-*  authorized under this License except under this disclaimer.         *
-*                                                                      *
-************************************************************************
-
-************************************************************************
-*                                                                      *
-*  7. Limitation of Liability                                          *
-*  --------------------------                                          *
-*                                                                      *
-*  Under no circumstances and under no legal theory, whether tort      *
-*  (including negligence), contract, or otherwise, shall any           *
-*  Contributor, or anyone who distributes Covered Software as          *
-*  permitted above, be liable to You for any direct, indirect,         *
-*  special, incidental, or consequential damages of any character      *
-*  including, without limitation, damages for lost profits, loss of    *
-*  goodwill, work stoppage, computer failure or malfunction, or any    *
-*  and all other commercial damages or losses, even if such party      *
-*  shall have been informed of the possibility of such damages. This   *
-*  limitation of liability shall not apply to liability for death or   *
-*  personal injury resulting from such party's negligence to the       *
-*  extent applicable law prohibits such limitation. Some               *
-*  jurisdictions do not allow the exclusion or limitation of           *
-*  incidental or consequential damages, so this exclusion and          *
-*  limitation may not apply to You.                                    *
-*                                                                      *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
-  This Source Code Form is subject to the terms of the Mozilla Public
-  License, v. 2.0. If a copy of the MPL was not distributed with this
-  file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
----------------------------------------------------------
-
-  This Source Code Form is "Incompatible With Secondary Licenses", as
-  defined by the Mozilla Public License, v. 2.0.
diff --git a/recipes/recipes_emscripten/scipy/patches/NOT-NEEDED-0002-loadDynamicLibrary-flapack.patch b/recipes/recipes_emscripten/scipy/patches/NOT-NEEDED-0002-loadDynamicLibrary-flapack.patch
deleted file mode 100644
index 5b97d3a28..000000000
--- a/recipes/recipes_emscripten/scipy/patches/NOT-NEEDED-0002-loadDynamicLibrary-flapack.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 9e6c2ad31267a5ed0c30645e70a0b290b3973dd1 Mon Sep 17 00:00:00 2001
-From: Hood Chatham 
-Date: Sat, 2 Apr 2022 14:20:25 -0700
-Subject: [PATCH 02/14] loadDynamicLibrary flapack
-
-We are using CLAPACK for our LAPACK, but CLAPACK only supports
-LAPACK v3.2 since starting in v3.3 LAPACK started adding fortran
-code from Fortran standards more recent that 1990 and f2c only
-supports Fortran '90. Scipy uses some functions that were added
-in LAPACK v3.4, but all of these are Fortran 77 compliant and so
-we *can* f2c them. In scipy/meta.yaml we inject these into
-`lapack_extras.f` which gets built into `_flapack.so`.
-
-Why do we do it this way? It was the first thing I tried that
-worked and I was so exhausted that I didn't have the energy to be
-bothered by the hack. Ideally we would copy these into our CLAPACK
-but CLAPACK is the result of hand modified f2c output. (In fact
-this is how f2c was always intended to be used, the output is not
-good C code by itself.) We are automating the patches that are
-necessary in `_f2c_fixes.py`, but these don't get applied to CLAPACK.
-
-Anyways, the issue is that CLAPACK is loaded as a "shared library"
-which means that we call `loadDynamicLibrary` on it so that all of
-its symbols are globally scoped (as opposed to needing to manually
-look them up with `dlsym`). Scipy is not loaded this way. But we
-need the `lapack_extras.f` symbols to have this global visibility.
-So we have to call loadDynamicLibrary on it, hence this patch.
----
- scipy/linalg/lapack.py | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/scipy/linalg/lapack.py b/scipy/linalg/lapack.py
-index 9850d80c4..a28c3c6ca 100644
---- a/scipy/linalg/lapack.py
-+++ b/scipy/linalg/lapack.py
-@@ -809,6 +809,17 @@ All functions
-    ilaver
- 
- """
-+
-+import sysconfig
-+import pyodide_js
-+from site import getsitepackages
-+ext_suffix = sysconfig.get_config_var("EXT_SUFFIX")
-+pyodide_js._module.loadDynamicLibrary(f'{getsitepackages()[0]}/scipy/linalg/_flapack{ext_suffix}')
-+del getsitepackages
-+del pyodide_js
-+del sysconfig
-+del ext_suffix
-+
- #
- # Author: Pearu Peterson, March 2002
- #
--- 
-2.25.1
-
diff --git a/recipes/recipes_emscripten/scipy/patches/c_compiler_wrapper.py b/recipes/recipes_emscripten/scipy/patches/c_compiler_wrapper.py
deleted file mode 100644
index 23201d361..000000000
--- a/recipes/recipes_emscripten/scipy/patches/c_compiler_wrapper.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# This file was adjusted from pyodide "_f2c_fixes.py"
-# https://github.com/pyodide/pyodide/blob/main/pyodide-build/pyodide_build/_f2c_fixes.py
-
-import sys
-import re
-from pathlib import Path
-
-def scipy_fix_cfile(path: str) -> None:
-    """
-    Replace void return types with int return types in various generated .c and
-    .h files. We can't achieve this with a simple patch because these files are
-    not in the sdist, they are generated as part of the build.
-    """
-    source_path = Path(path)
-    text = source_path.read_text()
-    text = text.replace("extern void F_WRAPPEDFUNC", "extern int F_WRAPPEDFUNC")
-    text = text.replace("extern void F_FUNC", "extern int F_FUNC")
-    text = text.replace("void (*f2py_func)", "int (*f2py_func)")
-    text = text.replace("static void cb_", "static int cb_")
-    text = text.replace("typedef void(*cb_", "typedef int(*cb_")
-    text = text.replace("void(*)", "int(*)")
-    text = text.replace("static void f2py_setup_", "static int f2py_setup_")
-
-    if path.endswith("_flapackmodule.c"):
-        text = text.replace(",size_t", "")
-        text = re.sub(r",slen\([a-z]*\)\)", ")", text)
-
-    if path.endswith("_fblasmodule.c"):
-        text = text.replace(" float (*f2py_func)", " double (*f2py_func)")
-
-    source_path.write_text(text)
-
-    for lib in ["lapack", "blas"]:
-        if path.endswith(f"cython_{lib}.c"):
-            header_path = Path(path).with_name(f"_{lib}_subroutines.h")
-            header_text = header_path.read_text()
-            header_text = header_text.replace("void F_FUNC", "int F_FUNC")
-            header_path.write_text(header_text)
-
-
-def scipy_fixes(args: list[str]) -> None:
-    for arg in args:
-        if arg.endswith(".c"):
-            scipy_fix_cfile(arg)
diff --git a/recipes/recipes_emscripten/scipy/patches/fortran_compiler_wrapper.py b/recipes/recipes_emscripten/scipy/patches/fortran_compiler_wrapper.py
deleted file mode 100644
index 3c65fa3e4..000000000
--- a/recipes/recipes_emscripten/scipy/patches/fortran_compiler_wrapper.py
+++ /dev/null
@@ -1,560 +0,0 @@
-#!/usr/bin/env python
-
-# This file was adjusted from pyodide "_f2c_fixes.py"
-# https://github.com/pyodide/pyodide/blob/main/pyodide-build/pyodide_build/_f2c_fixes.py
-
-import re
-from pathlib import Path
-from textwrap import dedent  # for doctests
-from typing import Iterable, Iterator
-import sys
-import os
-import subprocess
-from pathlib import Path
-
-def prepare_doctest(x: str) -> list[str]:
-    return dedent(x).strip().splitlines(True)
-
-
-def fix_f2c_input(f2c_input_path: Path) -> None:
-    """
-    CLAPACK has been manually modified to remove useless arguments generated by
-    f2c. But the mismatches between the f2c ABI and the human-curated sensible
-    ABI in CLAPACK cause us great pain.
-
-    This stuff applies to actual source files, but scipy also has multiple
-    templating engines for Fortran, so these changes have to be applied
-    immediately prior to f2c'ing a .f file to ensure that they also work
-    correctly on templated files.
-
-    Fortran seems to be mostly case insensitive. The templated files in
-    particular can include weird mixtures of lower and upper case.
-
-    Mostly the issues are related to 'character' types. Most LAPACK functions
-    that take string arguments use them as enums and only care about the first
-    character of the string. f2c generates a 'length' argument to indicate how
-    long the string is, but CLAPACK leaves these length arguments out because
-    the strings are assumed to have length 1.
-
-    So the goal is to cause f2c to generate no length argument. We can achieve
-    this by replacing the string with the ascii code of the first character
-    e.g.,:
-
-        f('UPPER') --> f(85)
-
-    Coming from C this surprises me a bit. I would expect `f(85)` to cause a
-    segfault or something when f tries to find its string at memory address 85.
-
-    f("UPPER") gets f2c'd to:
-
-        f("UPPER", 5)
-
-    But f2c compiles f(85) to the C code:
-
-        static integer c__85 = 85;
-        f(&c__85);
-
-    This is perfect. Not sure why it does this, but it's very convenient for us.
-
-    chla_transtype is a special case. The CLAPACK version of chla_transtype takes
-    a return argument, whereas f2c thinks it should return the value.
-
-    """
-    f2c_input = Path(f2c_input_path)
-    with open(f2c_input) as f:
-        lines = f.readlines()
-    new_lines = []
-    lines = char1_args_to_int(lines)
-
-    for line in lines:
-        line = fix_string_args(line)
-
-        if f2c_input_path.name.endswith("_flapack-f2pywrappers.f"):
-            line = line.replace("character cmach", "integer cmach")
-            line = line.replace("character norm", "integer norm")
-        if "id_dist" in str(f2c_input):
-            line = line.replace("character*1 jobz", "integer jobz")
-            if "jobz =" in line:
-                line = re.sub("'(.)'", lambda r: str(ord(r.group(1))), line)
-
-        if f2c_input.name in [
-            "_lapack_subroutine_wrappers.f",
-            "_blas_subroutine_wrappers.f",
-        ]:
-            line = line.replace("character", "integer")
-            line = line.replace("ret = chla_transtype(", "call chla_transtype(ret, 1,")
-
-        # f2c has no support for variable sized arrays, so we replace them with
-        # dummy fixed sized arrays and then put the formulas back in in
-        # fix_f2c_output. Luckily, variable sized arrays are scarce in the scipy
-        # code base.
-        if "PROPACK" in str(f2c_input):
-            line = line.replace("ylocal(n)", "ylocal(123001)")
-            line = line.replace("character*1", "integer")
-
-        if f2c_input.name == "mvndst.f":
-            line = re.sub(r"(infin|stdev|nlower|nupper)\(d\)", r"\1(123001)", line)
-            line = line.replace("rho(d*(d-1)/2)", "rho(123002)")
-
-        new_lines.append(line)
-
-    with open(f2c_input_path, "w") as f:
-        f.writelines(new_lines)
-
-
-def fix_string_args(line: str) -> str:
-    """
-    The two functions ilaenv and xerbla have real string args, f2c generates
-    inaccurate signatures for them. Instead of manually fixing the signatures
-    (xerbla happens a lot) we inject wrappers called `xerblaf2py` and
-    `ilaenvf2py` that have the signatures f2c expects and call these instead.
-
-    Also, replace all single character strings in (the first line of) "call"
-    statements with their ascci codes.
-    """
-    line = re.sub("ilaenv", "ilaenvf2py", line, flags=re.I)
-    if (
-        not re.search("call", line, re.I)
-        and "SIGNST" not in line
-        and "TRANST" not in line
-    ):
-        return line
-    if re.search("xerbla", line, re.I):
-        return re.sub("xerbla", "xerblaf2py", line, flags=re.I)
-    else:
-        return re.sub("'[A-Za-z0-9]'", lambda y: str(ord(y.group(0)[1])), line)
-
-
-def char1_to_int(x: str) -> str:
-    """
-    Replace multicharacter strings with the ascii code of their first character.
-
-    >>> char1_to_int("CALL sTRSV( 'UPPER', 'NOTRANS', 'NONUNIT', J, H, LDH, Y, 1 )")
-    'CALL sTRSV( 85, 78, 78, J, H, LDH, Y, 1 )'
-    """
-    return re.sub("'(.)[A-Za-z -]*'", lambda r: str(ord(r.group(1))), x)
-
-
-def char1_args_to_int(lines: list[str]) -> list[str]:
-    """
-    Replace strings with the ascii code of their first character if they are
-    arguments to one of a long list of hard coded LAPACK functions (see
-    fncstems). This handles multiline function calls.
-
-    >>> print(char1_args_to_int(["CALL sTRSV( 'UPPER', 'NOTRANS', 'NONUNIT', J, H, LDH, Y, 1 )"]))
-    ['CALL sTRSV( 85, 78, 78, J, H, LDH, Y, 1 )']
-
-    >>> print("".join(char1_args_to_int(prepare_doctest('''
-    ...               call cvout (logfil, nconv, workl(ihbds), ndigit,
-    ...     &            '_neupd: Last row of the eigenvector matrix for T')
-    ...     call ctrmm('Right'   , 'Upper'      , 'No transpose',
-    ...     &                  'Non-unit', n            , nconv         ,
-    ...     &                  one       , workl(invsub), ldq           ,
-    ...     &                  z         , ldz)
-    ... '''))))
-    call cvout (logfil, nconv, workl(ihbds), ndigit,
-    &            '_neupd: Last row of the eigenvector matrix for T')
-    call ctrmm(82   , 85      , 78,
-    &                  78, n            , nconv         ,
-    &                  one       , workl(invsub), ldq           ,
-    &                  z         , ldz)
-    """
-    fncstems = [
-        "gemm",
-        "ggbak",
-        "gghrd",
-        "lacpy",
-        "lamch",
-        "lanhs",
-        "lanst",
-        "larf",
-        "lascl",
-        "laset",
-        "lasr",
-        "ormqr",
-        "orm2r",
-        "steqr",
-        "stevr",
-        "trevc",
-        "trmm",
-        "trsen",
-        "trsv",
-        "unm2r",
-        "unmqr",
-    ]
-    fncnames = []
-    for c in "cdsz":
-        for stem in fncstems:
-            fncnames.append(c + stem)
-    fncnames += ["lsame"]
-
-    funcs_pattern = "|".join(fncnames)
-    new_lines = []
-    replace = False
-    for line in lines:
-        if re.search(funcs_pattern, line, re.IGNORECASE):
-            replace = True
-        if replace:
-            line = char1_to_int(line)
-        if not re.search(r",\s*$", line):
-            replace = False
-        new_lines.append(line)
-    return new_lines
-
-
-def fix_f2c_output(f2c_output_path: Path) -> str | None:
-    """
-    This function is called on the name of each C output file. It fixes up the C
-    output in various ways to compensate for the lack of f2c support for Fortran
-    90 and Fortran 95.
-    """
-    f2c_output = Path(f2c_output_path)
-
-    with open(f2c_output) as f:
-        lines = f.readlines()
-    if "id_dist" in str(f2c_output_path):
-        # Fix implicit casts in id_dist.
-        lines = fix_inconsistent_decls(lines)
-    if "odepack" in str(f2c_output_path) or f2c_output.name == "mvndst.c":
-        # Mark all but one declaration of each struct as extern.
-        if f2c_output.name == "blkdta000.c":
-            # extern marking in blkdata000.c doesn't work properly so we let it
-            # define the one copy of the structs. It doesn't talk about lsa001
-            # at all though, so we need to add a definition of it.
-            lines.append(
-                """
-                struct {    doublereal rownd2, pdesid_distt, pdlast, ratio, cm1[12], cm2[5], pdnorm;
-                    integer iownd2[3], icount, irflag, jtyp, mused, mxordn, mxords;
-                } lsa001_;
-                """
-            )
-        else:
-            add_externs_to_structs(lines)
-
-    if f2c_output.name == "_lapack_subroutine_wrappers.c":
-        lines = [
-            line.replace("integer chla_transtype__", "void chla_transtype__")
-            for line in lines
-        ]
-
-    # Substitute back the dummy fixed array sizes. We also have to remove the
-    # "static" storage specifier since variable sized arrays can't have static
-    # storage.
-    if f2c_output.name == "mvndst.c":
-        lines = fix_inconsistent_decls(lines)
-
-        def fix_line(line: str) -> str:
-            if "12300" in line:
-                return (
-                    line.replace("static", "")
-                    .replace("123001", "(*d__)")
-                    .replace("123002", "(*d__)*((*d__)-1)/2")
-                )
-            return line
-
-        lines = list(map(fix_line, lines))
-
-    if "PROPACK" in str(f2c_output):
-
-        def fix_line(line: str) -> str:
-            if f2c_output.name != "zgemm_ovwr.c":
-                line = line.replace("struct", "extern struct")
-            if "12300" in line:
-                return line.replace("static", "").replace("123001", "(*n)")
-            return line
-
-        lines = list(map(fix_line, lines))
-        if f2c_output.name.endswith("lansvd.c"):
-            lines.append(
-                """
-                #include 
-
-                int second_(real *t) {
-                    *t = clock()/1000;
-                    return 0;
-                }
-                """
-            )
-
-    with open(f2c_output, "w") as f:
-        f.writelines(lines)
-
-    return None
-
-
-def add_externs_to_structs(lines: list[str]) -> None:
-    """
-    The fortran "common" keyword is supposed to share variables between a bunch
-    of files. f2c doesn't handle this correctly (it isn't possible for it to
-    handle it correctly because it only looks one file at a time).
-
-    We mark all the structs as externs and then (separately) add one non extern
-    version to each file.
-    >>> lines = prepare_doctest('''
-    ...     struct {    doublereal rls[218];
-    ...         integer ils[39];
-    ...     } ls0001_;
-    ...     struct {    doublereal rlsa[22];
-    ...         integer ilsa[9];
-    ...     } lsa001_;
-    ...     struct {    integer ieh[2];
-    ...     } eh0001_;
-    ... ''')
-    >>> add_externs_to_structs(lines)
-    >>> print("".join(lines))
-    extern struct {    doublereal rls[218];
-        integer ils[39];
-    } ls0001_;
-    extern struct {    doublereal rlsa[22];
-        integer ilsa[9];
-    } lsa001_;
-    extern struct {    integer ieh[2];
-    } eh0001_;
-    """
-    for idx, line in enumerate(lines):
-        if line.startswith("struct"):
-            lines[idx] = "extern " + lines[idx]
-
-
-def regroup_lines(lines: Iterable[str]) -> Iterator[str]:
-    """
-    Make sure that functions and declarations have their argument list only on
-    one line.
-
-    >>> print("".join(regroup_lines(prepare_doctest('''
-    ...     /* Subroutine */ int clanhfwrp_(real *ret, char *norm, char *transr, char *
-    ...         uplo, integer *n, complex *a, real *work, ftnlen norm_len, ftnlen
-    ...         transr_len, ftnlen uplo_len)
-    ...     {
-    ...        static doublereal psum[52];
-    ...        extern /* Subroutine */ int dqelg_(integer *, doublereal *, doublereal *,
-    ...            doublereal *, doublereal *, integer *);
-    ... '''))))
-    /* Subroutine */ int clanhfwrp_(real *ret, char *norm, char *transr, char * uplo, integer *n, complex *a, real *work, ftnlen norm_len, ftnlen transr_len, ftnlen uplo_len){
-       static doublereal psum[52];
-       extern /* Subroutine */ int dqelg_(integer *, doublereal *, doublereal *, doublereal *, doublereal *, integer *);
-
-    """
-    line_iter = iter(lines)
-    for line in line_iter:
-        if "/* Subroutine */" not in line:
-            yield line
-            continue
-
-        is_definition = line.startswith("/* Subroutine */")
-        stop = ")" if is_definition else ";"
-        if stop in line:
-            yield line
-            continue
-
-        sub_lines = [line.rstrip()]
-        for line in line_iter:
-            sub_lines.append(line.strip())
-            if stop in line:
-                break
-        joined_line = " ".join(sub_lines)
-        if is_definition:
-            yield joined_line
-        else:
-            yield from (x + ";" for x in joined_line.split(";")[:-1])
-
-
-def fix_inconsistent_decls(lines: list[str]) -> list[str]:
-    """
-    Fortran functions in id_dist use implicit casting of function args which f2c
-    doesn't support.
-
-    The fortran equivalent of the following code:
-
-        double f(double x){
-            return x + 5;
-        }
-        double g(int x){
-            return f(x);
-        }
-
-    gets f2c'd to:
-
-        double f(double x){
-            return x + 5;
-        }
-        double g(int x){
-            double f(int);
-            return f(x);
-        }
-
-    which fails to compile because the declaration of f type clashes with the
-    definition. Gather up all the definitions in each file and then gathers the
-    declarations and fixes them if necessary so that the declaration matches the
-    definition.
-
-    >>> print("".join(fix_inconsistent_decls(prepare_doctest('''
-    ...    /* Subroutine */ double f(double x){
-    ...        return x + 5;
-    ...    }
-    ...    /* Subroutine */ double g(int x){
-    ...        extern /* Subroutine */ double f(int);
-    ...        return f(x);
-    ...    }
-    ... '''))))
-    /* Subroutine */ double f(double x){
-        return x + 5;
-    }
-    /* Subroutine */ double g(int x){
-        extern /* Subroutine */ double f(double);
-        return f(x);
-    }
-    """
-    func_types = {}
-    lines = list(regroup_lines(lines))
-    for line in lines:
-        if not line.startswith("/* Subroutine */"):
-            continue
-        [func_name, types] = get_subroutine_decl(line)
-        func_types[func_name] = types
-
-    for idx, line in enumerate(lines):
-        if "extern /* Subroutine */" not in line:
-            continue
-        decls = line.split(")")[:-1]
-        for decl in decls:
-            [func_name, types] = get_subroutine_decl(decl)
-            if func_name not in func_types or types == func_types[func_name]:
-                continue
-            types = func_types[func_name]
-            l = list(line.partition(func_name + "("))
-            l[2:] = list(l[2].partition(")"))
-            l[2] = ", ".join(types)
-            line = "".join(l)
-        lines[idx] = line
-    return lines
-
-
-def get_subroutine_decl(sub: str) -> tuple[str, list[str]]:
-    """
-    >>> get_subroutine_decl(
-    ...     "extern /* Subroutine */ int dqelg_(integer *, doublereal *, doublereal *, doublereal *, doublereal *, integer *);"
-    ... )
-    ('dqelg_', ['integer *', 'doublereal *', 'doublereal *', 'doublereal *', 'doublereal *', 'integer *'])
-    """
-    func_name = sub.partition("(")[0].rpartition(" ")[2]
-    args_str = sub.partition("(")[2].partition(")")[0]
-    args = args_str.split(",")
-    types = []
-    for arg in args:
-        arg = arg.strip()
-        if "*" in arg:
-            type = "".join(arg.partition("*")[:-1])
-        else:
-            type = arg.partition(" ")[0]
-        types.append(type.strip())
-    return (func_name, types)
-
-
-def remove_from_list(vals, l):
-    for v in vals:
-        if v in l:
-            l.remove(v)
-
-def compiler_wrapper(args: list[str]):
-    if '-dumpversion' in args:
-        print("GNU Fortran (Ubuntu/Linaro 4.6.1-9ubuntu3) 9.0.0")
-        return
-    else:
-        new_args = []
-        for arg in args:
-            if arg.endswith(".f") or arg.endswith(".F"):
-                filepath = Path(arg).resolve()
-                fix_f2c_input(filepath)
-                if arg.endswith(".F"):
-                    # .F files apparently expect to be run through the C
-                    # preprocessor (they have #ifdef's in them)
-                    subprocess.check_call(
-                        [
-                            "x86_64-conda-linux-gnu-gcc",
-                            "-E",
-                            "-C",
-                            "-P",
-                            str(filepath),
-                            "-o",
-                            str(filepath.with_suffix(".f")),
-                        ]
-                    )
-                    filepath = filepath.with_suffix(".f")
-                subprocess.check_call(["f2c", filepath.name], cwd=filepath.parent)
-                c_file = filepath.with_suffix('.c')
-                fix_f2c_output(c_file)
-                new_args.append(str(c_file))
-            else:
-                new_args.append(arg)
-
-        remove_from_list(['-ffixed-form', '-fno-second-underscore', '-lgfortran'], new_args)
-        new_args += ["-I", f"{os.environ['BUILD_PREFIX']}/include"]
-        # new_args += ["-Wl,--allow-multiple-definition"]
-        if ('-print-libgcc-file-name' in new_args or '-print-file-name=libgfortran.so' in new_args):
-            subprocess.check_call(["gcc"] + new_args)
-        else:
-            subprocess.check_call(["emcc"] + new_args)
-
-if __name__ == "__main__":
-    compiler_wrapper(sys.argv[1:])
-
-# def replay_f2c(args: list[str], dryrun: bool = False) -> list[str] | None:
-#     """Apply f2c to compilation arguments
-
-#     Parameters
-#     ----------
-#     args
-#        input compiler arguments
-#     dryrun
-#        if False run f2c on detected fortran files
-
-#     Returns
-#     -------
-#     new_args
-#        output compiler arguments
-
-
-#     Examples
-#     --------
-
-#     >>> replay_f2c(['gfortran', 'test.f'], dryrun=True)
-#     ['gcc', 'test.c']
-#     """
-#     new_args = ["gcc"]
-#     found_source = False
-#     for arg in args[1:]:
-#         if arg.endswith(".f") or arg.endswith(".F"):
-#             filepath = Path(arg).resolve()
-#             if not dryrun:
-#                 fix_f2c_input(arg)
-#                 if arg.endswith(".F"):
-#                     # .F files apparently expect to be run through the C
-#                     # preprocessor (they have #ifdef's in them)
-#                     subprocess.check_call(
-#                         [
-#                             "gcc",
-#                             "-E",
-#                             "-C",
-#                             "-P",
-#                             filepath,
-#                             "-o",
-#                             filepath.with_suffix(".f"),
-#                         ]
-#                     )
-#                     filepath = filepath.with_suffix(".f")
-#                 subprocess.check_call(["f2c", filepath.name], cwd=filepath.parent)
-#                 fix_f2c_output(arg[:-2] + ".c")
-#             new_args.append(arg[:-2] + ".c")
-#             found_source = True
-#         else:
-#             new_args.append(arg)
-
-#     new_args_str = " ".join(args)
-#     if ".so" in new_args_str and "libgfortran.so" not in new_args_str:
-#         found_source = True
-
-#     if not found_source:
-#         print(f"f2c: source not found, skipping: {new_args_str}")
-#         return None
-#     return new_args
diff --git a/recipes/recipes_emscripten/scipy/recipe.yaml b/recipes/recipes_emscripten/scipy/recipe.yaml
index 8e890591b..59f4652c6 100644
--- a/recipes/recipes_emscripten/scipy/recipe.yaml
+++ b/recipes/recipes_emscripten/scipy/recipe.yaml
@@ -1,106 +1,22 @@
 context:
-  version: "1.8.1"
-
-package:
+  version:  1.11.1
   name: scipy
-  version: "{{ version }}"
-
-# use 'python_impl' in meta.yaml so it gets picked up by rendering
-# [python_impl == "pypy"]
 
-source:
-  # The sdist distributed by scipy contains pre-compiled pythran sources,
-  # as well as the relevant submodules; by taking the tarball from github
-  # we can compile pythran ourselves (or not), but manually need to include
-  # the submodules (not in tarball due to dear-github/dear-github#214)
-  - url: https://github.com/scipy/scipy/archive/refs/tags/v{{ version }}.tar.gz
-    sha256: fb6936f0c4a4f94bd2af7922cd1a94577ec472d4626a29aa95d8c228cdb45b94
-    patches:
-      - patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch
-      # - patches/0002-loadDynamicLibrary-flapack.patch
-      - patches/0003-Add-lapack_extras-to-linalg-setup.py.patch
-      - patches/0004-int-to-string.patch
-      - patches/0005-disable-blas-detection.patch
-      - patches/0006-fix-fotran-files-minpack.patch
-      - patches/0007-gemm_-no-const.patch
-      - patches/0008-make-int-return-values.patch
-      - patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch
-      - patches/0010-sasum-returns-double-not-float.patch
-      - patches/0011-skip-fortran-fails-to-link.patch
-      - patches/0012-Disable-lapack-detection.patch
-      - patches/0013-Add-extra-END-to-prini.f.patch
-      - patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch
-      - patches/0015-disable-longdouble.patch
-      - patches/0016-disable-pthread-pypocketfft.patch
-      - patches/0017-load-clapack-shared-lib.patch
-
-  # https://github.com/scipy/scipy/tree/v{{ version }}/scipy/_lib
-  - git_url: https://github.com/scipy/boost-headers-only.git
-    git_rev: 2110ce20e59917b85b12059b3ddd8b133549f662
-    folder: scipy/_lib/boost
-  - git_url: https://github.com/scipy/unuran.git
-    git_rev: a63d39160e5ecc4402e7ed0e8417f4c3ff9634cb
-    folder: scipy/_lib/unuran
-  # https://github.com/scipy/scipy/tree/v{{ version }}/scipy/sparse/linalg/_propack
-  - git_url: https://github.com/scipy/PROPACK.git
-    git_rev: 92f466393256df649fc8542c39dd647816dded25
-    folder: scipy/sparse/linalg/_propack/PROPACK
+package:
+  name: '{{ name }}'
+  version: '{{ version }}'
 
-  - url: https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.0.tar.gz
-    sha256: 328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19
-    folder: lapack-3.10.0
-    
 build:
-  number: 4
+  number: 1
 
 requirements:
   build:
-    - sel(build_platform != target_platform): python
-    - sel(build_platform != target_platform): cross-python_{{ target_platform }}
-    - sel(build_platform != target_platform): cython 0.29.30
-    # we need gcc and gfortran for the preprocessor!
-    - gcc_impl_linux-64
-    - gfortran_impl_linux-64
-    # f2c to compile fortran
-    - f2c
-    - pip
-    - sel(build_platform != target_platform): numpy
-    - sel(build_platform != target_platform): pybind11
-    - sel(build_platform != target_platform): setuptools <60
     - "{{ compiler('c') }}"
-    - "{{ compiler('cxx') }}"
-    - 
-    # # pythran code needs clang-cl on windows
-    # - clang                                  # [win]
-    # - {{ compiler('fortran') }}              # [unix]
-    - pip
-    - setuptools <60
-  host:
-    - clapack
-    # - libblas
-    # - libcblas
-    # - liblapack
-    - python
-    # - cython
-    - pybind11
-    - pythran
-    - numpy
+  
   run:
-    - python
+    - openblas
     - numpy
-    - clapack
-
-    # - "{{ pin_compatible('numpy') }}"
-
-
-about:
-  home: http://www.scipy.org/
-  license: BSD-3-Clause
-  license_file: LICENSE.txt
-  summary: Scientific Library for Python
-  description: |
-    SciPy is a Python-based ecosystem of open-source software for mathematics,
-    science, and engineering.
-  doc_url: http://www.scipy.org/docs.html
-  dev_url: https://github.com/scipy/scipy
 
+extra:
+  recipe-maintainers:
+    - DerThorsten
diff --git a/recipes/recipes_emscripten/scipy/scipy-1.11.1-cp311-cp311-emscripten_3_1_45_wasm32.whl b/recipes/recipes_emscripten/scipy/scipy-1.11.1-cp311-cp311-emscripten_3_1_45_wasm32.whl
new file mode 100644
index 000000000..26e71ec68
Binary files /dev/null and b/recipes/recipes_emscripten/scipy/scipy-1.11.1-cp311-cp311-emscripten_3_1_45_wasm32.whl differ
diff --git a/recipes/recipes_emscripten/scipy/test_scipy.py b/recipes/recipes_emscripten/scipy/test_scipy.py
index 3ca353c44..f1c607e14 100644
--- a/recipes/recipes_emscripten/scipy/test_scipy.py
+++ b/recipes/recipes_emscripten/scipy/test_scipy.py
@@ -1,16 +1,16 @@
-def test_scipy_linalg():
-    import numpy as np
-    import scipy.linalg
-    from numpy.testing import assert_allclose
+# def test_scipy_linalg():
+#     import numpy as np
+#     import scipy.linalg
+#     from numpy.testing import assert_allclose
 
-    N = 10
-    X = np.random.RandomState(42).rand(N, N)
+#     N = 10
+#     X = np.random.RandomState(42).rand(N, N)
 
-    X_inv = scipy.linalg.inv(X)
+#     X_inv = scipy.linalg.inv(X)
 
-    res = X.dot(X_inv)
+#     res = X.dot(X_inv)
 
-    assert_allclose(res, np.identity(N), rtol=1e-07, atol=1e-9)
+#     assert_allclose(res, np.identity(N), rtol=1e-07, atol=1e-9)
 
 
 def test_brentq():
diff --git a/recipes/recipes_emscripten/setuptools/build.sh b/recipes/recipes_emscripten/setuptools/build.sh
deleted file mode 100644
index 7238ce91d..000000000
--- a/recipes/recipes_emscripten/setuptools/build.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-${PYTHON} -m pip install . -vv --no-deps
-
-find "$BUILD_PREFIX/lib/python$PY_VER/site-packages/setuptools" -name '*.exe' -delete
diff --git a/recipes/recipes_emscripten/setuptools/recipe.yaml b/recipes/recipes_emscripten/setuptools/recipe.yaml
deleted file mode 100644
index 8915c5ddd..000000000
--- a/recipes/recipes_emscripten/setuptools/recipe.yaml
+++ /dev/null
@@ -1,50 +0,0 @@
-context:
-  name: "setuptools"
-  version: "64.0.0"
-
-package:
-  name: "{{ name|lower }}"
-  version: "{{ version }}"
-
-source:
-  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
-  sha256: 9b5d2cb8df48f005825654e0cb17217418317e4d996c035f0bca7cbaeb8acf51
-
-build:
-  number: 0
-  script: build.sh
-
-requirements:
-  build:
-    - python                                 # [build_platform != target_platform]
-    - cross-python_{{ target_platform }}
-  host:
-    - python
-    - pip
-    - pyparsing
-  run:
-    - python
-    - pyparsing
-
-about:
-  home: https://github.com/pypa/setuptools
-  license: MIT
-  license_file: LICENSE
-  license_family: MIT
-  summary: Download, build, install, upgrade, and uninstall Python packages
-  description: |
-    Setuptools is a fully-featured, actively-maintained, and stable library
-    designed to facilitate packaging Python projects.
-  doc_url: http://pythonhosted.org/setuptools/
-  dev_url: https://github.com/pypa/setuptools
-  doc_source_url: https://github.com/pypa/setuptools/tree/master/docs
-
-extra:
-  emscripten_tests:
-    python:
-      pytest_files:
-        - test_setuptools.py
-
-  recipe-maintainers:
-    - DerThorsten
-    - martinRenou
diff --git a/recipes/recipes_emscripten/setuptools/test_setuptools.py b/recipes/recipes_emscripten/setuptools/test_setuptools.py
deleted file mode 100644
index 55cb777c2..000000000
--- a/recipes/recipes_emscripten/setuptools/test_setuptools.py
+++ /dev/null
@@ -1,2 +0,0 @@
-def test_import_setuptools():
-    import pkg_resources
diff --git a/recipes/recipes_emscripten/sqlite/recipe.yaml b/recipes/recipes_emscripten/sqlite/recipe.yaml
index 42d01c5ed..c0f116b76 100644
--- a/recipes/recipes_emscripten/sqlite/recipe.yaml
+++ b/recipes/recipes_emscripten/sqlite/recipe.yaml
@@ -12,7 +12,7 @@ source:
     - sel(win): patches/expose_symbols.patch  # [win]
 
 build:
-  number: 1
+  number: 2
   # run_exports:
   #   # sometimes adds new symbols.  Default behavior is OK.
   #   #    https://abi-laboratory.pro/tracker/timeline/sqlite/
@@ -20,7 +20,6 @@ build:
 
 requirements:
   build:
-    - sel(emscripten): python
     - "{{ compiler('c') }}"
     - sel(not win): make  # [not win]
     - sel(not win): libtool  # [not win]
@@ -31,7 +30,7 @@ requirements:
   run:
     - sel(not win and not emscripten): ncurses  # [not win]
     - sel(not win and not emscripten): readline  # [not win]
-    - sel(not win): zlib  # [not win]
+    - sel(not win and not emscripten): zlib  # [not win]
 
 test:
   commands:
diff --git a/recipes/recipes_emscripten/statsmodels/recipe.yaml b/recipes/recipes_emscripten/statsmodels/recipe.yaml
index 09e010fd5..118900ea5 100644
--- a/recipes/recipes_emscripten/statsmodels/recipe.yaml
+++ b/recipes/recipes_emscripten/statsmodels/recipe.yaml
@@ -1,6 +1,6 @@
 context:
   name: "statsmodels"
-  version: "0.13.2"
+  version: "0.14.0"
 
 package:
   name: "{{ name }}"
@@ -8,7 +8,7 @@ package:
 
 source:
   url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
-  sha256: 77dc292c9939c036a476f1770f9d08976b05437daa229928da73231147cde7d4
+  sha256: 6875c7d689e966d948f15eb816ab5616f4928706b180cf470fd5907ab6f647a4
 
 build:
   script: "{{ PYTHON }} -m pip install . -vv"
@@ -17,8 +17,8 @@ build:
 requirements:
   build:
     - "{{ compiler('c') }}"
-    - cython
-    - cross-python_emscripten-32
+    - cython <=2.0
+    - cross-python_emscripten-wasm32
     - python
     - numpy
     - pip
diff --git a/recipes/recipes_emscripten/swiglpk/build.sh b/recipes/recipes_emscripten/swiglpk/build.sh
index cecbb5ea0..d6ffb6e2e 100644
--- a/recipes/recipes_emscripten/swiglpk/build.sh
+++ b/recipes/recipes_emscripten/swiglpk/build.sh
@@ -1,3 +1,4 @@
 #!/bin/bash
+export LDFLAGS="$LDFLAGS -L$PREFIX/lib" 
 ${PYTHON} -m pip install .
 
diff --git a/recipes/recipes_emscripten/swiglpk/recipe.yaml b/recipes/recipes_emscripten/swiglpk/recipe.yaml
index a0e9779b8..0c18527c2 100644
--- a/recipes/recipes_emscripten/swiglpk/recipe.yaml
+++ b/recipes/recipes_emscripten/swiglpk/recipe.yaml
@@ -14,7 +14,7 @@ build:
 
 requirements:
   build:
-    - cross-python_emscripten-32
+    - cross-python_emscripten-wasm32
     - python
     - swig
     - pip
diff --git a/recipes/recipes_emscripten/traits/recipe.yaml b/recipes/recipes_emscripten/traits/recipe.yaml
index 10a44cf41..afddf8a5d 100644
--- a/recipes/recipes_emscripten/traits/recipe.yaml
+++ b/recipes/recipes_emscripten/traits/recipe.yaml
@@ -14,7 +14,7 @@ build:
 
 requirements:
   build:
-    - cross-python_emscripten-32
+    - cross-python_emscripten-wasm32
     - python
     - '{{ compiler("c") }}'
     - pip
diff --git a/recipes/recipes_emscripten/tsl_ordered_map/build.sh b/recipes/recipes_emscripten/tsl_ordered_map/build.sh
new file mode 100644
index 000000000..87c71db36
--- /dev/null
+++ b/recipes/recipes_emscripten/tsl_ordered_map/build.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+emcmake cmake -DCMAKE_INSTALL_PREFIX=$PREFIX $SRC_DIR -DCMAKE_INSTALL_LIBDIR=lib
+emmake make install
\ No newline at end of file
diff --git a/recipes/recipes_emscripten/tsl_ordered_map/recipe.yaml b/recipes/recipes_emscripten/tsl_ordered_map/recipe.yaml
new file mode 100644
index 000000000..66bea5db5
--- /dev/null
+++ b/recipes/recipes_emscripten/tsl_ordered_map/recipe.yaml
@@ -0,0 +1,35 @@
+context:
+  version: 1.1.0
+  name: tsl_ordered_map
+
+package:
+  name: '{{name}}'
+  version: '{{ version }}'
+
+source:
+  url: https://github.com/Tessil/ordered-map/archive/v{{ version }}.tar.gz
+  sha256: d6070502351646d68f2bbe6078c0da361bc1db733ee8a392e33cfb8b31183e28
+
+
+build:
+  number: 0
+
+requirements:
+  build:
+    - '{{ compiler("cxx") }}'
+    - cmake
+    - make
+
+about:
+  home: https://github.com/Tessil/ordered-map
+  license: BSD-3-Clause
+  license_family: BSD
+  license_file: LICENSE
+  summary: C++ ordered hash map and hash set
+  description: C++ hash map and hash set which preserve the order of insertion
+  doc_url: https://tessil.github.io/ordered-map/
+  dev_url: https://github.com/Tessil/ordered-map
+
+extra:
+  recipe-maintainers:
+    - DerThorsten
diff --git a/recipes/recipes_emscripten/unicodedata2/recipe.yaml b/recipes/recipes_emscripten/unicodedata2/recipe.yaml
index 00216ff15..fbd17075b 100644
--- a/recipes/recipes_emscripten/unicodedata2/recipe.yaml
+++ b/recipes/recipes_emscripten/unicodedata2/recipe.yaml
@@ -16,7 +16,7 @@ build:
 requirements:
   build:
     - '{{ compiler("c") }}'
-    - cross-python_emscripten-32
+    - cross-python_emscripten-wasm32
     - python
     - pip
   host:
diff --git a/recipes/recipes_emscripten/wheel/recipe.yaml b/recipes/recipes_emscripten/wheel/recipe.yaml
new file mode 100644
index 000000000..969c602fb
--- /dev/null
+++ b/recipes/recipes_emscripten/wheel/recipe.yaml
@@ -0,0 +1,33 @@
+context:
+  version: "0.41.2"
+  name: wheel
+
+package:
+  name: "{{name}}"
+  version: "{{ version }}"
+
+source:
+  - url: https://pypi.io/packages/source/w/{{name}}/{{name}}-{{ version }}.tar.gz
+    sha256: 0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985
+
+build:
+  number: 1
+
+requirements:
+  host:
+    - python
+    - flit-core
+  run:
+    - python
+
+about:
+  home: https://github.com/pypa/wheel
+  license: MIT
+  license_file: LICENSE.txt
+  summary: A built-package format for Python.
+
+# extra:
+#   emscripten_tests:
+#     python:
+#       pytest_files:
+#         - test_import_wheel.py
diff --git a/recipes/recipes_emscripten/wheel/test_import_wheel.py b/recipes/recipes_emscripten/wheel/test_import_wheel.py
new file mode 100644
index 000000000..8c9ed3d4b
--- /dev/null
+++ b/recipes/recipes_emscripten/wheel/test_import_wheel.py
@@ -0,0 +1,2 @@
+def test_import():
+    import wheel
\ No newline at end of file
diff --git a/recipes/recipes_emscripten/wrapt/recipe.yaml b/recipes/recipes_emscripten/wrapt/recipe.yaml
index 058d7f84e..5bf2e6222 100644
--- a/recipes/recipes_emscripten/wrapt/recipe.yaml
+++ b/recipes/recipes_emscripten/wrapt/recipe.yaml
@@ -15,7 +15,7 @@ build:
 requirements:
   build:
     - '{{ compiler("c") }}'
-    - cross-python_emscripten-32
+    - cross-python_emscripten-wasm32
     - python
     - pip
   host:
diff --git a/recipes/recipes_emscripten/xeus-lite/build.sh b/recipes/recipes_emscripten/xeus-lite/build.sh
index 90c00f823..b24c55b72 100644
--- a/recipes/recipes_emscripten/xeus-lite/build.sh
+++ b/recipes/recipes_emscripten/xeus-lite/build.sh
@@ -2,7 +2,7 @@
 mkdir build
 cd build
 
-if [[ $target_platform == "emscripten-32" ]]; then
+if [[ $target_platform == "emscripten-wasm32" ]]; then
     export USE_WASM=ON
 else
     export USE_WASM=OFF
diff --git a/recipes/recipes_emscripten/xeus-lite/recipe.yaml b/recipes/recipes_emscripten/xeus-lite/recipe.yaml
index d34d16a53..5a157be83 100644
--- a/recipes/recipes_emscripten/xeus-lite/recipe.yaml
+++ b/recipes/recipes_emscripten/xeus-lite/recipe.yaml
@@ -1,5 +1,5 @@
 context:
-  version: 1.0.1
+  version: 1.0.2
 
 package:
   name: xeus-lite
@@ -7,10 +7,10 @@ package:
 
 source:
   url: https://github.com/jupyter-xeus/xeus-lite/archive/refs/tags/{{ version }}.tar.gz
-  sha256: dbb1b060d9d6ea837f81171f4d199da26109837b31de2b67c575cc9d69e2d526
+  sha256: 8d8e6cc83e40c3eec6c927774d9fde0e1b25f1f8a7013618168580961ed3fad6
 
 build:
-  number: 0
+  number: 1
 
 requirements:
   build:
diff --git a/recipes/recipes_emscripten/xeus-lua/build.sh b/recipes/recipes_emscripten/xeus-lua/build.sh
index fc9cbdf1b..59e1ca6c9 100644
--- a/recipes/recipes_emscripten/xeus-lua/build.sh
+++ b/recipes/recipes_emscripten/xeus-lua/build.sh
@@ -4,7 +4,7 @@ cd build
 export CMAKE_PREFIX_PATH=$PREFIX
 export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
 
-if [[ $target_platform == "emscripten-32" ]]; then
+if [[ $target_platform == "emscripten-wasm32" ]]; then
     export USE_WASM=ON
 else
     export USE_WASM=OFF
diff --git a/recipes/recipes_emscripten/xeus-nelson/build.sh b/recipes/recipes_emscripten/xeus-nelson/build.sh
index f59f4f5c7..89b7e1b33 100644
--- a/recipes/recipes_emscripten/xeus-nelson/build.sh
+++ b/recipes/recipes_emscripten/xeus-nelson/build.sh
@@ -4,7 +4,7 @@ cd build
 export CMAKE_PREFIX_PATH=$PREFIX
 export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
 
-if [[ $target_platform == "emscripten-32" ]]; then
+if [[ $target_platform == "emscripten-wasm32" ]]; then
     export USE_WASM=ON
 else
     export USE_WASM=OFF
diff --git a/recipes/recipes_emscripten/xeus-python/build.sh b/recipes/recipes_emscripten/xeus-python/build.sh
index 9330f3939..2865888a4 100644
--- a/recipes/recipes_emscripten/xeus-python/build.sh
+++ b/recipes/recipes_emscripten/xeus-python/build.sh
@@ -1,10 +1,14 @@
 mkdir build
 cd build
 
+# remove all the fake pythons
+rm -f $PREFIX/bin/python*
+
+
 export CMAKE_PREFIX_PATH=$PREFIX
 export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
 
-if [[ $target_platform == "emscripten-32" ]]; then
+if [[ $target_platform == "emscripten-wasm32" ]]; then
     export USE_WASM=ON
 else
     export USE_WASM=OFF
diff --git a/recipes/recipes_emscripten/xeus-python/recipe.yaml b/recipes/recipes_emscripten/xeus-python/recipe.yaml
index bc3d2fb87..85c960f06 100644
--- a/recipes/recipes_emscripten/xeus-python/recipe.yaml
+++ b/recipes/recipes_emscripten/xeus-python/recipe.yaml
@@ -1,5 +1,5 @@
 context:
-  version: 0.15.9
+  version: 0.15.10
 
 package:
   name: xeus-python
@@ -7,10 +7,10 @@ package:
 
 source:
   url: https://github.com/jupyter-xeus/xeus-python/archive/refs/tags/{{ version }}.tar.gz
-  sha256: 6863dcb1c4e0de0c9373539334d8b5933aafaa55f5368c0eab8b8f0cbac78dbd
+  sha256: e07c1e71692ac1562b13e81393d447ae364e33cc24a5a1ae12696a43c2510376
 
 build:
-  number: 1
+  number: 18
 
 requirements:
   build:
@@ -19,13 +19,13 @@ requirements:
     - ninja
   host:
     - libpython
-    - nlohmann_json ==3.9.1
+    - nlohmann_json 
     - xeus
     - xeus-lite
     - pybind11
     - pybind11_json
     - xtl
-    - pyjs >=1.1.0,<2.0.0
+    - pyjs >=1.3.2,<2.0.0
   run:
     - python
     - ipython
diff --git a/recipes/recipes_emscripten/xeus/build.sh b/recipes/recipes_emscripten/xeus/build.sh
index ebae60ce1..381a99f2e 100644
--- a/recipes/recipes_emscripten/xeus/build.sh
+++ b/recipes/recipes_emscripten/xeus/build.sh
@@ -2,7 +2,7 @@
 mkdir build
 cd build
 
-if [[ $target_platform == "emscripten-32" ]]; then
+if [[ $target_platform == "emscripten-wasm32" ]]; then
     export USE_WASM=ON
 else
     export USE_WASM=OFF
diff --git a/recipes/recipes_emscripten/xeus/recipe.yaml b/recipes/recipes_emscripten/xeus/recipe.yaml
index 5cfd27bb6..e21b8b49f 100644
--- a/recipes/recipes_emscripten/xeus/recipe.yaml
+++ b/recipes/recipes_emscripten/xeus/recipe.yaml
@@ -1,5 +1,7 @@
 context:
-  version: 3.1.2
+
+  version: 3.1.3
+
 
 package:
   name: xeus
@@ -7,7 +9,7 @@ package:
 
 source:
   url: https://github.com/jupyter-xeus/xeus/archive/refs/tags/{{ version }}.tar.gz
-  sha256: da7b6b2a215089581487b312fe45385b49437331706b1469bc1ccdc3e52268cd
+  sha256: bde22b8ade51ee0dea6d4d4a959cbc6e16e7d5d97772cdfb66d64391e0c7b556
 
 build:
   number: 0
diff --git a/recipes/recipes_emscripten/xplugin/build.sh b/recipes/recipes_emscripten/xplugin/build.sh
new file mode 100644
index 000000000..129dbd625
--- /dev/null
+++ b/recipes/recipes_emscripten/xplugin/build.sh
@@ -0,0 +1,16 @@
+
+mkdir build
+cd build
+
+# Configure step
+cmake ${CMAKE_ARGS} ..             \
+    -GNinja                        \
+    -DCMAKE_BUILD_TYPE=Release     \
+    -DXPLUGIN_BUILD_TESTS=OFF \
+    -DXPLUGIN_BUILD_DOCS=OFF \
+    -DXPLUGIN_BUILD_EXAMPLES=OFF \
+    -DCMAKE_INSTALL_PREFIX=$PREFIX \
+    -DCMAKE_INSTALL_LIBDIR=lib \
+
+# Build step
+ninja install
\ No newline at end of file
diff --git a/recipes/recipes_emscripten/xplugin/recipe.yaml b/recipes/recipes_emscripten/xplugin/recipe.yaml
new file mode 100644
index 000000000..f7042f5d9
--- /dev/null
+++ b/recipes/recipes_emscripten/xplugin/recipe.yaml
@@ -0,0 +1,32 @@
+context:
+  version: 0.2.0
+
+package:
+  name: xplugin
+  version: '{{ version }}'
+
+source:
+  url: https://github.com/QuantStack/xplugin/archive/refs/tags/v{{ version }}.tar.gz
+  sha256: 172b742faa1cde2ff68ccf0d05bbb75c1651c98339c7f12cbf292a52c0ff3b77
+build:
+  number: 1
+
+requirements:
+  build:
+    - '{{ compiler("cxx") }}'
+    - cmake
+    - ninja
+
+
+about:
+  home: https://github.com/QuantStack/xplugin
+  license: BSD-3
+  license_family: BSD-3
+  license_file: LICENSE
+  summary: xplugin
+  doc_url: https://github.com/QuantStack/xplugin
+  dev_url: https://github.com/QuantStack/xplugin
+
+extra:
+  recipe-maintainers:
+    - DerThorsten
diff --git a/recipes/recipes_emscripten/xtensor/build.sh b/recipes/recipes_emscripten/xtensor/build.sh
new file mode 100644
index 000000000..1f7c3cc88
--- /dev/null
+++ b/recipes/recipes_emscripten/xtensor/build.sh
@@ -0,0 +1,13 @@
+
+mkdir build
+cd build
+
+# Configure step
+cmake ${CMAKE_ARGS} ..             \
+    -GNinja                        \
+    -DCMAKE_BUILD_TYPE=Release     \
+    -DCMAKE_PREFIX_PATH=$PREFIX    \
+    -DCMAKE_INSTALL_PREFIX=$PREFIX \
+
+# Build step
+ninja install
diff --git a/recipes/recipes_emscripten/xtensor/recipe.yaml b/recipes/recipes_emscripten/xtensor/recipe.yaml
new file mode 100644
index 000000000..db569fb6f
--- /dev/null
+++ b/recipes/recipes_emscripten/xtensor/recipe.yaml
@@ -0,0 +1,34 @@
+context:
+  version: 0.24.7
+
+package:
+  name: xtensor
+  version: '{{ version }}'
+
+source:
+  url: https://github.com/xtensor-stack/xtensor/archive/refs/tags/{{ version }}.tar.gz
+  sha256: 0fbbd524dde2199b731b6af99b16063780de6cf1d0d6cb1f3f4d4ceb318f3106
+
+build:
+  number: 1
+
+requirements:
+  build:
+    - '{{ compiler("cxx") }}'
+    - cmake
+    - ninja
+  host:
+    - xtl
+
+about:
+  home: https://github.com/xtensor-stack/xtensor
+  license: BSD-3
+  license_family: BSD-3
+  license_file: LICENSE
+  summary: xtensor
+  doc_url: https://github.com/xtensor-stack/xtensor
+  dev_url: https://github.com/xtensor-stack/xtensor
+
+extra:
+  recipe-maintainers:
+    - DerThorsten
diff --git a/recipes/recipes_emscripten/zarr/recipe.yaml b/recipes/recipes_emscripten/zarr/recipe.yaml
index 172e6d764..ed53476fd 100644
--- a/recipes/recipes_emscripten/zarr/recipe.yaml
+++ b/recipes/recipes_emscripten/zarr/recipe.yaml
@@ -17,7 +17,7 @@ build:
 
 requirements:
   build:
-    - cross-python_emscripten-32
+    - cross-python_emscripten-wasm32
     - python
     - pip
   host:
diff --git a/recipes/recipes_emscripten/zlib/recipe.yaml b/recipes/recipes_emscripten/zlib/recipe.yaml
index 31f3b3dd6..41d7da4f4 100644
--- a/recipes/recipes_emscripten/zlib/recipe.yaml
+++ b/recipes/recipes_emscripten/zlib/recipe.yaml
@@ -11,7 +11,7 @@ source:
   # url: http://zlib.net/zlib-{{ version }}.tar.gz
 
 build:
-  number: 1
+  number: 2
   # run_exports:
   # mostly OK, but some scary symbol removal.  Let's try for trusting them.
   #    https://abi-laboratory.pro/tracker/timeline/zlib/
@@ -22,7 +22,6 @@ requirements:
     - '{{ compiler("c") }}'
     - cmake
     - ninja
-
 features:
   - name: static
     default: false
@@ -34,10 +33,8 @@ features:
 about:
   home: http://zlib.net/
   # http://zlib.net/zlib_license.html
-  license: Zlib
   summary: Massively spiffy yet delicately unobtrusive compression library
   license_family: Other
-  license_file: license.txt
 
   description: |
     zlib is designed to be a free, general-purpose, lossless data-compression
diff --git a/recipes/recipes_emscripten_unbuild/gmpy2/build.sh b/recipes/recipes_emscripten_unbuild/gmpy2/build.sh
new file mode 100644
index 000000000..27093b999
--- /dev/null
+++ b/recipes/recipes_emscripten_unbuild/gmpy2/build.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+${PYTHON} -m pip install . -vvv
\ No newline at end of file
diff --git a/recipes/recipes_emscripten/gmpy2/recipe.yaml b/recipes/recipes_emscripten_unbuild/gmpy2/recipe.yaml
similarity index 100%
rename from recipes/recipes_emscripten/gmpy2/recipe.yaml
rename to recipes/recipes_emscripten_unbuild/gmpy2/recipe.yaml
diff --git a/recipes/recipes_emscripten/gmpy2/test_gmpy2.py b/recipes/recipes_emscripten_unbuild/gmpy2/test_gmpy2.py
similarity index 100%
rename from recipes/recipes_emscripten/gmpy2/test_gmpy2.py
rename to recipes/recipes_emscripten_unbuild/gmpy2/test_gmpy2.py
diff --git a/recipes/recipes_emscripten/mpc/build.sh b/recipes/recipes_emscripten_unbuild/mpc/build.sh
similarity index 100%
rename from recipes/recipes_emscripten/mpc/build.sh
rename to recipes/recipes_emscripten_unbuild/mpc/build.sh
diff --git a/recipes/recipes_emscripten/mpc/recipe.yaml b/recipes/recipes_emscripten_unbuild/mpc/recipe.yaml
similarity index 100%
rename from recipes/recipes_emscripten/mpc/recipe.yaml
rename to recipes/recipes_emscripten_unbuild/mpc/recipe.yaml
diff --git a/testing/package_testing.py b/testing/package_testing.py
index 75a28dbe4..258f8f50b 100644
--- a/testing/package_testing.py
+++ b/testing/package_testing.py
@@ -53,7 +53,7 @@ def create_test_env(pkg_name, requires, prefix, conda_bld_dir):
     )
 
     cmd = [
-        f"""$MAMBA_EXE create --yes --prefix {prefix} --platform=emscripten-32 python "pyjs>=1.0.0,<2.0.0" "pytest==7.1.1" numpy {" ".join(requires)} {pkg_name} {channels}"""
+        f"""$MAMBA_EXE create --yes --prefix {prefix} --platform=emscripten-wasm32 python "pyjs>=1.0.0,<2.0.0" "pytest==7.1.1"  {" ".join(requires)} {pkg_name} {channels}"""
     ]
 
     ret = subprocess.run(cmd, shell=True)
@@ -88,7 +88,7 @@ def temp_work_dir(work_dir):
             yield tmp_dir
 
         finally:
-            pass
+            #pass
             shutil.rmtree(tmp_dir)
     else:
         with tempfile.TemporaryDirectory() as temp_dir:
@@ -122,10 +122,10 @@ def test_package(recipe, work_dir, conda_bld_dir):
 
     old_cwd = os.getcwd()
 
-    if "emscripten_tests" in extra and has_pytest_files(recipe_dir):
+    if has_pytest_files(recipe_dir):
         pkg_name = recipe["package"]["name"]
 
-        requires = extra["emscripten_tests"].get("requires", [])
+        requires = []#extra["emscripten_tests"].get("requires", [])
 
         with temp_work_dir(work_dir) as temp_dir:
             prefix = os.path.join(temp_dir, "prefix")
diff --git a/testing/test_recipes/only_py_tests/recipe.yaml b/testing/test_recipes/only_py_tests/recipe.yaml
index c3fd270b2..ecd18d968 100644
--- a/testing/test_recipes/only_py_tests/recipe.yaml
+++ b/testing/test_recipes/only_py_tests/recipe.yaml
@@ -8,11 +8,14 @@ package:
 
 
 build:
-  number: 0
+  number: 1
 
 requirements:
   run:
-    - python 3.10
+    - python 3.11
+    - pandas
+    - arrow-python
+    - matplotlib
 
 about:
   home: only_py_tests